Context7
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Description from the maker (original English)
MCP server for Matrix42: explore the API and data model, search the service desk, act on tickets
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
M42_HOST, M42_API_TOKEN, M42_ALLOW_WRITES, M42_LANGUAGE, M42_TOOLS, M42_AUDIT_NOTE, M42_AGENT_LABEL, M42_UI_URL, M42_ALLOW_INSECURE_TLS, M42_TIMEOUT_MSValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"matrix42": {
"command": "npx",
"args": [
"-y",
"matrix42-mcp"
],
"env": {
"M42_HOST": "your-value",
"M42_API_TOKEN": "your-value",
"M42_ALLOW_WRITES": "your-value",
"M42_LANGUAGE": "your-value",
"M42_TOOLS": "your-value",
"M42_AUDIT_NOTE": "your-value",
"M42_AGENT_LABEL": "your-value",
"M42_UI_URL": "your-value",
"M42_ALLOW_INSECURE_TLS": "your-value",
"M42_TIMEOUT_MS": "your-value"
}
}
}
}Run this in your terminal
claude mcp add matrix42 --env M42_HOST=your-value --env M42_API_TOKEN=your-value --env M42_ALLOW_WRITES=your-value --env M42_LANGUAGE=your-value --env M42_TOOLS=your-value --env M42_AUDIT_NOTE=your-value --env M42_AGENT_LABEL=your-value --env M42_UI_URL=your-value --env M42_ALLOW_INSECURE_TLS=your-value --env M42_TIMEOUT_MS=your-value -- npx -y matrix42-mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"matrix42": {
"command": "npx",
"args": [
"-y",
"matrix42-mcp"
],
"env": {
"M42_HOST": "your-value",
"M42_API_TOKEN": "your-value",
"M42_ALLOW_WRITES": "your-value",
"M42_LANGUAGE": "your-value",
"M42_TOOLS": "your-value",
"M42_AUDIT_NOTE": "your-value",
"M42_AGENT_LABEL": "your-value",
"M42_UI_URL": "your-value",
"M42_ALLOW_INSECURE_TLS": "your-value",
"M42_TIMEOUT_MS": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"matrix42": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"matrix42-mcp"
],
"env": {
"M42_HOST": "your-value",
"M42_API_TOKEN": "your-value",
"M42_ALLOW_WRITES": "your-value",
"M42_LANGUAGE": "your-value",
"M42_TOOLS": "your-value",
"M42_AUDIT_NOTE": "your-value",
"M42_AGENT_LABEL": "your-value",
"M42_UI_URL": "your-value",
"M42_ALLOW_INSECURE_TLS": "your-value",
"M42_TIMEOUT_MS": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
M42_ALLOW_WRITES envM42_LANGUAGE envM42_TOOLS envM42_AUDIT_NOTE envM42_AGENT_LABEL envM42_UI_URL envM42_ALLOW_INSECURE_TLS envM42_TIMEOUT_MS envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 9, 2026
The registry name was verified with the GitHub account sus-tech-gmbh, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: M42_HOST, M42_API_TOKEN
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.1.6) reached the registry 39 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Context7, Codebase Memory, Exa
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Give your AI assistant a safe, read-only-by-default window into Matrix42.
A Model Context Protocol server that lets an assistant explore a Matrix42 instance the way an experienced consultant would: find the right web service, read the real data model, query records with valid filters, search the service desk, and - only if you switch it on - act on tickets.
The server holds the credentials and talks to Matrix42 on the assistant's behalf: it performs the API-token exchange, sets the Explicit-Language header, and handles TLS. The assistant never sees your credentials.
npx matrix42-mcp --help
[!IMPORTANT]
This is an independent community project. It is **not affiliated with, endorsed by, sponsored
by, or supported by Matrix42 AG.** "Matrix42" is a trademark of its respective owner and is used
here only to describe what this software interoperates with. Support comes from the community via
GitHub issues - **do not contact Matrix42
support about this project**, and do not expect a service-level agreement of any kind. It is
provided "as is" under the MIT licence.
[!NOTE]
Status: early release. The server is read-only by default - write tools are not even listed
unless you set
M42_ALLOW_WRITES=1.
confirm. The preview is the same plan object that gets executed, so it cannot drift.Understand it
Set it up
Use it
webservice_discovery actionsschema_discovery actionsdata_query actionsservice_desk actionsticket_actions actions (writing data)Work on it
Matrix42's API surface is large (a typical instance exposes ~190 web services and ~1,100 operations), plus a data model of ~800 data definitions and ~240 configuration items, and an assistant has no way to know what exists. Point it at this server and it can search for the right endpoint, read the exact contract, and then write correct integration code - instead of guessing at URLs, auth, and headers.
| Discover the API | ~1,100 operations with full request and return contracts, and whether each is update-safe |
| Understand the model | 785 data definitions, 237 configuration items, pickup values, relations and cardinality |
| Read records | ASQL queries with paging, saved views, journal, attachments, and links into the web interface |
| Work the service desk | Search seven ticket kinds by name, service levels, thirteen curated domains, or search all of them at once |
| Act on tickets | Create, close, classify, take over, forward, pause, reopen, set deadlines, track time - each previewed first |
You: Which open hardware tickets are still unresolved, and are any past their service level?
The assistant works it out without you naming a single id:
Note what did not happen: no GUID lookups, no guessed attribute names, and nothing was written. Note also what the server refuses: a filter Matrix42 accepts but never applies, so an unfiltered answer is never mistaken for a filtered one.
In the Matrix42 Administration application, create an API token for the account the assistant should act as. The server exchanges it for a short-lived access token automatically and re-exchanges it before it expires.
Basic auth is supported but discouraged: many instances accept the credentials yet still refuse API
access with
403because of role/audience restrictions.
All configuration is via environment variables.
| Variable | Required | Default | Description |
|---|---|---|---|
M42_HOST | ✅ | - | Base URL of the instance, e.g. https://matrix42.example.com |
M42_API_TOKEN | ✅¹ | - | API token; exchanged for an access token automatically |
M42_USERNAME / M42_PASSWORD | ✅¹ | - | Basic-auth alternative to M42_API_TOKEN |
M42_LANGUAGE | en-US | Response language, sent as Explicit-Language | |
M42_TOOLS | all | Comma-separated tool ids to expose | |
M42_ALLOW_WRITES | 0 | Set to 1 to expose tools that modify data. Write tools are not registered at all unless this is set. | |
M42_ALLOW_INSECURE_TLS | 0 | Set to 1 to skip TLS verification (self-signed dev instances only) | |
M42_AUDIT_NOTE | 1 | Mark created tickets with an internal note saying they were raised through this server. Set to 0 to disable. | |
M42_AGENT_LABEL | Matrix42 MCP server | How the assistant is named in that note | |
M42_UI_URL | discovered | Origin of the web interface, for deep links. Discovered from the instance's web shell config when unset. | |
M42_TIMEOUT_MS | 30000 | Per-request timeout |
¹ Provide either M42_API_TOKEN or both M42_USERNAME and M42_PASSWORD.
The server runs over stdio: your MCP client starts it. No install step is needed - npx fetches it on demand.
claude mcp add matrix42 \
--env M42_HOST=https://matrix42.example.com \ --env M42_API_TOKEN=your-api-token \ -- npx -y matrix42-mcp
claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\)
{
"mcpServers": { "matrix42": { "command": "npx", "args": ["-y", "matrix42-mcp"], "env": { "M42_HOST": "https://matrix42.example.com", "M42_API_TOKEN": "your-api-token" } } } }
~/.cursor/mcp.json (global) or .cursor/mcp.json (per project)
{
"mcpServers": { "matrix42": { "command": "npx", "args": ["-y", "matrix42-mcp"], "env": { "M42_HOST": "https://matrix42.example.com", "M42_API_TOKEN": "your-api-token" } } } }
.vscode/mcp.json - this shape prompts for the token instead of storing it in the file:
{
"inputs": [ { "id": "m42-token", "type": "promptString", "description": "Matrix42 API token", "password": true } ], "servers": { "matrix42": { "type": "stdio", "command": "npx", "args": ["-y", "matrix42-mcp"], "env": { "M42_HOST": "https://matrix42.example.com", "M42_API_TOKEN": "${input:m42-token}" } } } }
Other stdio-capable clients (Windsurf, Cline, Zed, …) use the same command / args / env shape.
Ask the assistant to call server_info, or run the bundled smoke test against your instance:
git clone https://github.com/sus-tech-gmbh/M42-MCP.git
cd M42-MCP && npm install && npm run build
M42_HOST=https://matrix42.example.com \ M42_API_TOKEN=your-api-token \ node scripts/smoke.mjs
It connects as a real MCP client and exercises every tool.
You can also run the CLI directly:
npx matrix42-mcp --help # usage and configuration
npx matrix42-mcp --tools # available tool ids
Six tools, each grouping a set of actions. Everything the server can do lives here - the read tools first, then the one that writes.
| Tool | What it does |
|---|---|
server_info | Reports which Matrix42 instance is connected and verifies the credentials work. Never returns credentials. |
webservice_discovery | Discovers the REST API. See the actions below. |
schema_discovery | Explores the data model: data definitions, configuration items, attributes, relations, pickup values. |
data_query | Reads records: ASQL queries, saved views, journal entries, attachments, plus an ASQL guide and validator. |
service_desk | Searches tickets of any kind, answers service-level questions, and browses assets, contracts, catalog services, bookings, knowledge articles, approvals, imports and workflow instances. |
ticket_actions | Writes - the ticket lifecycle: create, close, take over, forward, pause, reopen, set deadlines, track time, add journal entries. Only present when M42_ALLOW_WRITES=1. |
webservice_discovery actions| Action | Parameters | Returns |
|---|---|---|
api_overview | - | General Matrix42 API conventions: token exchange, Explicit-Language, Public vs Product API, common data surfaces. Useful before writing standalone integration code. |
| list_operations | search?, service_id?, limit? | Operations as {id, name, method, path, service, documentation}. search filters on name, documentation, and service name. Defaults t
Only the beginning is shown; read the rest in the repo