{
  "markdown": "# codebase-context-mcp\n\n**MCP server for codebase indexing and search that works on every platform** — including ARM64 devices like Raspberry Pi and Apple Silicon where most alternatives fail.\n\n## The Problem\n\nPopular codebase-indexing MCP servers like `@zilliz/claude-context-mcp` depend on native C++ bindings (`tree-sitter`, `faiss-node`) that ship pre-built binaries only for x86_64. If you're on **ARM64** — a Raspberry Pi, Apple Silicon Mac, AWS Graviton, or any other arm64 host — `npm install` fails with missing prebuilts and no fallback. There's no workaround short of cross-compiling the native modules yourself.\n\n## The Solution\n\nThis package replaces every native dependency with a **WASM equivalent**. The tree-sitter parser runs as WebAssembly, search uses a pure-JS BM25 implementation, and the index is stored as plain JSON. Zero native bindings means `npm install` succeeds on the first try on **any** architecture: ARM64, x86_64, macOS, Linux, Windows.\n\nDrop-in compatible — provides the same core tools (index, search, outline, summary) via the standard MCP stdio transport.\n\n## Tools\n\n| Tool | Description |\n|---|---|\n| `index_codebase` | Parse a directory into symbols/chunks, cache as JSON |\n| `search_symbols` | Find functions, classes, types by name or pattern |\n| `search_code` | BM25 full-text search across indexed files |\n| `get_file_outline` | File structure: functions, classes, imports, exports with line numbers |\n| `get_project_summary` | Tech stack, file counts by language, directory structure |\n\n## Supported Languages\n\nTypeScript, TSX, JavaScript, Python, C#, VB.NET, XML, CSS, JSON\n\n## Install\n\n### Claude Code (recommended)\n\n```bash\nclaude mcp add codebase-context -s user -- npx codebase-context-mcp\n```\n\nOr from a local clone:\n\n```bash\ngit clone https://github.com/Jhackman2019/codebase-context-mcp.git\ncd codebase-context-mcp\nnpm install && npm run build\nclaude mcp add codebase-context -s user -- node /path/to/codebase-context-mcp/dist/index.js\n```\n\n### MCP Settings (JSON)\n\n```json\n{\n  \"mcpServers\": {\n    \"codebase-context\": {\n      \"command\": \"npx\",\n      \"args\": [\"codebase-context-mcp\"]\n    }\n  }\n}\n```\n\n## How It Works\n\n- **Parsing:** `web-tree-sitter` (WASM) — same AST quality as native tree-sitter, runs on any architecture\n- **Search:** BM25 text ranking (pure JS) + symbol name matching\n- **Storage:** JSON file index at `~/.codebase-context-mcp/<project-hash>.json`\n- **Transport:** MCP stdio via `@modelcontextprotocol/sdk`\n- **Incremental:** Files with unchanged content hash are skipped on re-index\n\n## Safety Limits\n\n| Limit | Value |\n|---|---|\n| Max files | 20,000 |\n| Max file size | 512KB |\n| Default ignores | node_modules, .git, dist, build, .venv, binaries, lock files |\n| .gitignore | Respected (root level) |\n\n## Development\n\n```bash\nnpm install\nnpm run build    # Build with tsup\nnpm run dev      # Watch mode\nnpm start        # Run the server\n```\n\n## License\n\nMIT\n",
  "bytes": 2935,
  "sha": "d76d3e8c170ed0c616a25e975693147974743fc92c1601c776a3e80fc27a545d",
  "repo_slug": "jhackman2019/codebase-context-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_jhackman2019_codebase_context__790ad707/readme"
}