MCP API
Neutrino MCP server — JSON-RPC interface to the architecture vault. 11 tools for search, read, ADRs, services, rules, and graph traversal.
The Neutrino MCP server exposes the architecture vault over the Model Context Protocol (MCP). The protocol is JSON-RPC over HTTP, served at https://vault-mcp.svc.nno.app/mcp. Each tool has a name, an inputSchema, and returns a JSON result. The server is compatible with any MCP client, including Claude Code, Codex CLI, and Gemini CLI.
Configuration (.mcp.json)
Add this block to your .mcp.json to connect any MCP-compatible client:
{
"mcpServers": {
"neutrino-vault": {
"type": "url",
"url": "https://vault-mcp.svc.nno.app/mcp"
}
}
}Tool Reference
search_docs
Full-text search across all Neutrino architecture docs. Returns ranked results with snippets.
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | Yes | Search query text |
category | string | No | Filter by category: services, concepts, cross-cutting, guides, rules, decisions, implementation |
limit | number | No | Maximum number of results to return (default 10) |
read_doc
Read the full content of a Neutrino architecture doc by path.
| Parameter | Type | Required | Description |
|---|---|---|---|
path | string | Yes | Doc path without extension (e.g. architecture/services/gateway) |
read_section
Read a specific section of a doc by path and heading. Returns matching section content.
| Parameter | Type | Required | Description |
|---|---|---|---|
path | string | Yes | Doc path without extension (e.g. architecture/services/gateway) |
heading | string | Yes | Section heading to find (partial match supported) |
get_service_spec
Get the full service specification doc for a Neutrino service by name.
| Parameter | Type | Required | Description |
|---|---|---|---|
service | string | Yes | Service name (e.g. billing, gateway, iam, registry, provisioning) |
list_services
List all Neutrino services with their titles and summaries. Useful for discovering the service fleet before diving into a specific service.
No parameters.
get_adr
Get an Architecture Decision Record by its number. Returns full ADR content and metadata.
| Parameter | Type | Required | Description |
|---|---|---|---|
number | number | Yes | ADR number (integer) |
list_adrs
List all Architecture Decision Records. Optionally filter by status.
| Parameter | Type | Required | Description |
|---|---|---|---|
status | string | No | Filter by status (e.g. accepted, proposed, deprecated, superseded) |
get_rules
Get the rules docs for a given domain.
| Parameter | Type | Required | Description |
|---|---|---|---|
domain | string | Yes | Rule domain (e.g. database, authentication, frontend, backend, security, module, package) |
get_rules_by_tier
Get all rule docs at a specific governance tier level.
| Parameter | Type | Required | Description |
|---|---|---|---|
tier | number | Yes | Tier level: 1 = Foundation, 2 = Architecture, 3 = Technology, 4 = Project |
get_cross_cutting
Get cross-cutting architecture docs (auth, DNS, security, observability, rate-limiting, etc.). Pass a concern name to get the full doc, or omit to list all.
| Parameter | Type | Required | Description |
|---|---|---|---|
concern | string | No | Cross-cutting concern name (e.g. security, auth, rate-limiting, observability). Omit to list all. |
get_related_docs
Get inbound and outbound wikilinks for a doc. Returns related documents with titles and link direction.
| Parameter | Type | Required | Description |
|---|---|---|---|
path | string | Yes | Doc path without extension (e.g. architecture/services/gateway) |
Example Call: search_docs
curl -X POST https://vault-mcp.svc.nno.app/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "search_docs",
"arguments": {
"query": "gateway authentication middleware",
"category": "services",
"limit": 5
}
}
}'Response shape:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "[{\"path\": \"architecture/services/gateway\", \"title\": \"Gateway\", \"snippet\": \"...\", \"score\": 0.95}]"
}
]
}
}