Home/Docs/MCP server

Model Context Protocol

GraphCanon MCP server

Query the knowledge graph from Cursor, Claude, Windsurf, or any MCP-capable agent. Read-only, no API key, Streamable HTTP at /api/mcp.

Overview

GraphCanon exposes a read-only Model Context Protocol (MCP) server so agents can query the knowledge graph at runtime without scraping HTML.

Endpoint: https://www.graphcanon.com/api/mcp (Streamable HTTP, JSON-RPC 2.0). No API key is required for normal use - optional Bearer keys raise hourly limits (see Auth below).

The server is tools-only (no prompts or resources). Responses are JSON text inside standard MCP tool result envelopes.

General

Clients that support remote Streamable HTTP can connect directly with the URL above.

After connecting, run the MCP lifecycle: initialize → notifications/initialized → tools/list or tools/call.

Legacy clients without remote MCP can use mcp-remote as a stdio bridge (see below).

Streamable HTTP (Cursor, Claude Code, recent clients)

{
  "mcpServers": {
    "graphcanon": {
      "url": "https://www.graphcanon.com/api/mcp"
    }
  }
}

Cursor

One-click install (Streamable HTTP) or paste the JSON config into Cursor MCP settings.

Install link: cursor://anysphere.cursor-deeplink/mcp/install?name=GraphCanon&config=eyJ1cmwiOiJodHRwczovL3d3dy5ncmFwaGNhbm9uLmNvbS9hcGkvbWNwIn0=

{
  "mcpServers": {
    "graphcanon": {
      "url": "https://www.graphcanon.com/api/mcp"
    }
  }
}

Claude Code

Register the server from your terminal, then run /mcp in a session to complete any client-specific steps.

claude mcp add --transport http graphcanon https://www.graphcanon.com/api/mcp

Claude Desktop & VS Code

When Streamable HTTP is unavailable, proxy through mcp-remote (stdio command that speaks HTTP to our endpoint).

{
  "mcpServers": {
    "graphcanon": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://www.graphcanon.com/api/mcp"]
    }
  }
}

Windsurf & Zed

Same mcp-remote pattern as Claude Desktop - add a custom MCP server with command npx.

{
  "mcpServers": {
    "graphcanon": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://www.graphcanon.com/api/mcp"]
    }
  }
}

Tools

9 tools mirror the open REST API. Prefer resolve_by_constraints when you need hard filters; use search_tools for exploratory text search.

  • search_tools - Ranked full-text search over the graph. Use when: Exploratory queries when you do not know exact slugs.
  • get_tool - Full tool detail by slug (owner-repo). Use when: You already have a slug from search or a URL.
  • list_categories - Canonical categories with tool counts. Use when: Browse taxonomy or pick a category slug for filters.
  • get_alternatives - Typed alternative/successor edges plus category neighbours. Use when: "What else can I use instead of X?"
  • get_graph - Walk edges and category neighbours from one tool. Use when: Traverse integrations, alternatives, and related tools.
  • get_trust_report - Maintenance, provenance, and dependency scan summary. Use when: Stack decisions that need freshness and advisory context.
  • get_compatibility - README-sourced IDE/runtime/framework compatibility claims. Use when: Check whether a tool claims Cursor, VS Code, LangChain, etc.
  • compare_tools - Side-by-side details for two slugs. Use when: Head-to-head evaluation of two known tools.
  • resolve_by_constraints - Hard constraint filter (license, deploy, docker, MCP, stars, …). Use when: Satisfiability filtering - not semantic search. Pair with search_tools for discovery.

REST & markdown twins

Every MCP tool has a REST equivalent under /api/graphcanon/*. Agents can also fetch .md twins (append .md to any page URL) or read /llms.txt for a curated index.

OpenAPI: /api/graphcanon/openapi.json. Discovery index: GET /api/graphcanon.

Auth & rate limits

Anonymous access is open. Middleware applies a generous hourly limit per IP on /api/graphcanon and /api/mcp.

Optional API keys (prefix gc_) raise limits. Create keys while signed in via POST /api/graphcanon/keys, then send Authorization: Bearer <key> on REST or MCP requests.

Signed-in users manage keys on /account.

FAQ

  • Auth: optional API keys for higher limits; anonymous access remains available under fair use.
  • Rate limits: 120 requests/hour per IP by default; key tier sets a higher hourly cap.
  • SSE: our server disables legacy SSE; Streamable HTTP POST is the supported path.
  • Accept header: some raw HTTP clients must send Accept: application/json, text/event-stream.
  • Verify deploy: npm run smoke:mcp --prefix apps/graphcanon (from the monorepo).

Common questions

Does GraphCanon MCP support Streamable HTTP?
Yes. Connect to https://www.graphcanon.com/api/mcp with a Streamable HTTP-capable client.
Do I need an API key?
No for normal use. Optional gc_ keys from /account raise hourly limits when you send Authorization: Bearer <key>.
Which tool should I use for 'self-hosted vector DB with MIT license'?
resolve_by_constraints with category, license, and deploy filters - not search_tools.
Where is the full agent documentation index?
https://www.graphcanon.com/docs lists all guides with search.

Endpoint: https://www.graphcanon.com/api/mcp. REST reference: /api. All guides: /docs.

Command menu

Search tools or jump to a page