@matrajs/mcp
v1.1.1
Published
The Matra documentation as a Model Context Protocol server, so any AI tool can read it. Zero dependencies.
Maintainers
Readme
@matrajs/mcp
The Matra documentation as a Model Context Protocol server, so any AI tool can read it. Zero dependencies, like every other Matra package.
npx -y @matrajs/mcp # stdio · what a desktop client spawns
npx -y @matrajs/mcp --http # http://localhost:3333/mcpConnect it, step by step
Claude Code
claude mcp add matra -- npx -y @matrajs/mcpClaude Desktop — in claude_desktop_config.json:
{
"mcpServers": {
"matra": { "command": "npx", "args": ["-y", "@matrajs/mcp"] }
}
}Cursor — in .cursor/mcp.json, the same object under "mcpServers".
Codex — in ~/.codex/config.toml:
[mcp_servers.matra]
command = "npx"
args = ["-y", "@matrajs/mcp"]Anything that speaks HTTP — run npx -y @matrajs/mcp --http 3333 and
point the client at http://localhost:3333/mcp.
Then ask the tool something about Matra. It will call search_docs, read
the page it needs, and answer from the documentation rather than from
memory.
What it serves
| Tool | Does |
|---|---|
| list_docs | Every page, with its slug and a one-line description. |
| read_doc { slug } | One page, as Markdown. |
| search_docs { query, limit? } | Ranked pages with a snippet each. |
Every page is also a resource at matra://docs/<slug>.
The pages are the repository's Markdown — README, the engine notes, benchmarks, security, the changelog — and every page of matrajs.com/docs, converted to Markdown at build time and shipped inside the package. Nothing is fetched at runtime.
Use it from code
import { createServer } from '@matrajs/mcp'
const server = createServer(docs)
server.handle({ jsonrpc: '2.0', id: 1, method: 'tools/list' })createServer is the protocol without a transport: one message in, one
reply out. Put it behind whatever transport you already have.
