Skip to content

MCP server setup

Give Claude Code, Cursor, and Windsurf on-demand access to your codebase signatures. Zero npm install.

The SigMap MCP server exposes 8 tools over the stdio Model Context Protocol. Your AI agent calls only what it needs — keeping token costs low.

Setup time: under 2 minutes. Use sigmap --setup for automatic configuration.

One command detects your editor config and wires everything up automatically.

bash
sigmap --setup

--setup detects .claude/settings.json and .cursor/mcp.json automatically, then adds the sigmap MCP server entry to each one it finds. It also installs a git post-commit hook and starts the file watcher.

[sigmap] ✓ detected .claude/settings.json
[sigmap] ✓ added MCP server entry → .claude/settings.json
[sigmap] ✓ detected .cursor/mcp.json
[sigmap] ✓ added MCP server entry → .cursor/mcp.json
[sigmap] ✓ installed .git/hooks/post-commit
[sigmap] ✓ watcher started on src/ app/ lib/

Manual config — Claude Code

Add the sigmap MCP server to your Claude Code settings file.

Use .claude/settings.json in your project root for project-level access, or ~/.claude/settings.json for global access across all projects. The absolute path in args must point to the actual gen-context.js file on disk.

json
{
  "mcpServers": {
    "sigmap": {
      "command": "node",
      "args": ["/absolute/path/to/your/project/gen-context.js", "--mcp"]
    }
  }
}

Manual config — Cursor

Add sigmap to your Cursor MCP configuration file at .cursor/mcp.json:

json
{
  "mcpServers": {
    "sigmap": {
      "command": "node",
      "args": ["/absolute/path/to/your/project/gen-context.js", "--mcp"]
    }
  }
}

SigMap + Repomix together

Stack both MCP servers for the two-layer context strategy — SigMap for always-on signatures, Repomix for deep ad-hoc sessions.

json
{
  "mcpServers": {
    "sigmap": {
      "command": "node",
      "args": ["/path/to/project/gen-context.js", "--mcp"]
    },
    "repomix": {
      "command": "npx",
      "args": ["-y", "@repomix/mcp@latest"]
    }
  }
}

8 available tools

All tools are available on-demand — your AI agent calls only what it needs.

ToolWhat it doesArg(s)Example call
read_contextReturns signatures for the full codebase or a specific module path. Outputs ~50–500 tokens depending on scope.module (optional string)read_context(module="src/auth")
search_signaturesCase-insensitive keyword search across all extracted signatures. Returns matching lines grouped by file.query (required string)search_signatures(query="handleRequest")
get_mapReturns import graph, class hierarchy, or route table from PROJECT_MAP.md.type ("imports"|"classes"|"routes")get_map(type="routes")
explain_fileReturns signatures, imports, and reverse callers for a single file.path (required string)explain_file(path="src/auth/service.ts")
list_modulesReturns a token-count table of top-level source directories. Use this first to decide which module to load.nonelist_modules()
create_checkpointRecords session progress with a git state snapshot.summary (required string)create_checkpoint(summary="Added rate limiting")
get_routingReturns the model tier hints table (fast / balanced / powerful per file) based on complexity scores.noneget_routing()
query_contextRanks all files by relevance to a free-text query using TF-IDF scoring. Returns top-K files. New in v2.3.query (required string), topK (optional number, default 10)query_context(query="authentication flow")

Token cost per tool call

Use list_modules() first and read_context(module=...) to stay efficient.

Tool callApprox. tokens
read_context() (full codebase)200–4,000
read_context(module="src/auth")20–500
search_signatures(query="login")10–200
get_map(type="routes")50–800
explain_file(path="...")30–400
list_modules()20–100

Test the server

Send a raw JSON-RPC request to confirm the server starts and returns all 8 tool definitions.

bash
echo '{"jsonrpc":"2.0","method":"tools/list","id":1}' | node gen-context.js --mcp

Expected output:

json
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "tools": [
      { "name": "read_context" },
      { "name": "search_signatures" },
      { "name": "get_map" },
      { "name": "explain_file" },
      { "name": "list_modules" },
      { "name": "create_checkpoint" },
      { "name": "get_routing" },
      { "name": "query_context" }
    ]
  }
}

Keep context fresh

The MCP server reads whatever context file is on disk. Keep that file up to date and every tool call reflects your latest code.

Option 1 — file watcher: Run sigmap --watch in a terminal while you code. Every file save triggers an incremental regeneration. Best for active coding sessions.

Option 2 — git hook (recommended): Run sigmap --setup once. It installs a .git/hooks/post-commit hook that regenerates context automatically on every commit. More reliable than the watcher across sleep/wake cycles.


Made in Amsterdam, Netherlands 🇳🇱

MIT License