经 AI Skill Hub 精选评估,Cartog 获评「强烈推荐」。这款MCP工具在功能完整性、社区活跃度和易用性方面表现出色,AI 评分 8.0 分,适合有一定技术背景的用户使用。
Cartog 是一款遵循 MCP(Model Context Protocol)标准协议的 AI 工具扩展。通过 MCP 协议,它可以让 Claude、Cursor 等主流 AI 客户端直接访问和操作外部工具、数据源和服务,实现 AI 能力的无缝扩展。无论是文件操作、数据库查询还是 API 调用,都可以通过自然语言在 AI 对话中直接触发,极大提升生产效率。
Cartog 是一款遵循 MCP(Model Context Protocol)标准协议的 AI 工具扩展。通过 MCP 协议,它可以让 Claude、Cursor 等主流 AI 客户端直接访问和操作外部工具、数据源和服务,实现 AI 能力的无缝扩展。无论是文件操作、数据库查询还是 API 调用,都可以通过自然语言在 AI 对话中直接触发,极大提升生产效率。
# 方式一:通过 Claude Code CLI 一键安装
claude skill install https://github.com/jrollin/cartog
# 方式二:手动配置 claude_desktop_config.json
{
"mcpServers": {
"cartog": {
"command": "npx",
"args": ["-y", "cartog"]
}
}
}
# 配置文件位置
# macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
# Windows: %APPDATA%/Claude/claude_desktop_config.json
# 安装后在 Claude 对话中直接使用 # 示例: 用户: 请帮我用 Cartog 执行以下任务... Claude: [自动调用 Cartog MCP 工具处理请求] # 查看可用工具列表 # 在 Claude 中输入:"列出所有可用的 MCP 工具"
// claude_desktop_config.json 配置示例
{
"mcpServers": {
"cartog": {
"command": "npx",
"args": ["-y", "cartog"],
"env": {
// "API_KEY": "your-api-key-here"
}
}
}
}
// 保存后重启 Claude Desktop 生效
Map your codebase. Navigate by graph, not grep.
Semantic search that returns named symbols, not text chunks — ranked, reranked, and budget-aware.
~280 tokens per query vs ~1,700 for grep+read · 97% recall · 8 µs–20 ms structural-query latency · 15 languages + 4 frameworks.
Cartog pre-computes a code graph — symbols, and the calls, imports, and inheritance between them — so you can query structure instantly instead of grepping for text. Ask "who calls this?", "what breaks if I change it?", or "find the auth logic" and get a ranked, structured answer: an exact function with its signature and span, not a file-and-line guess you have to open and read.
Use it from the CLI for day-to-day navigation, or as an MCP server so AI agents query the graph instead of flooding their context with raw file dumps — at a fraction of the token cost. One static binary, one SQLite file. No Python, no pip, no Docker, no cloud: 100% local by default.
Documentation site

curl -fsSL https://www.cartog.dev/install.sh | sh
Detects your OS + architecture, downloads the matching binary from the latest GitHub Release, verifies its SHA-256, and installs to /usr/local/bin (or ~/.local/bin if non-root). Override with CARTOG_INSTALL_DIR; pin a version with CARTOG_VERSION=<version> (e.g. the tag from Releases). Audit the script: site/public/install.sh.
Fastest path: let cartog write the right config for your editor.
cartog ide # all installed clients, all scopes
cartog ide --client cursor # one client
cartog ide --client claude-desktop --dry-run # preview without writing
Idempotent. Existing servers in each file are preserved.
Prefer the brew/npm shape? cartog install takes editors as positional args and is always non-interactive — safer than cartog ide for scripts and agents:
cartog install cursor # one editor
cartog install cursor vscode codex # several at once
cartog install # all detected editors
cartog install cursor --dry-run # preview
Prefer to wire it yourself? Pick your client below.
<details> <summary><strong>Claude Code</strong> — project-scoped <code>.mcp.json</code> or user settings</summary>
One-shot:
cartog ide --client claude-code # writes .mcp.json + user settings
claude mcp add cartog -- cartog serve --watch # user scope
claude mcp add --scope project cartog -- cartog serve --watch
Manual (<repo>/.mcp.json):
{
"mcpServers": {
"cartog": { "command": "cartog", "args": ["serve", "--watch"] }
}
}
Only Claude Code gets--watchby default — the others ship plain["serve"]. Agent-driven flows churn files faster than human-driven editor flows, so the in-process file watcher pays off. Drop--watchwithcartog ide --no-watchif you don't want it. </details>
<details> <summary><strong>Cursor</strong> — project <code>.cursor/mcp.json</code> or user settings</summary>
One-shot:
cartog ide --client cursor
Manual:
{
"mcpServers": {
"cartog": { "command": "cartog", "args": ["serve"] }
}
} </details>
<details> <summary><strong>Codex CLI</strong> — user-only TOML at <code>~/.codex/config.toml</code></summary>
One-shot:
cartog ide --client codex
Manual:
[mcp_servers.cartog]
command = "cartog"
args = ["serve"]
Codex is user-global only. If you use cartog on multiple projects, cartog ide auto-names each section cartog-<slug>-<hash8> so they coexist. </details>
<details> <summary><strong>Windsurf</strong> — <code>~/.codeium/windsurf/mcp_config.json</code></summary>
cartog ide --client windsurf
{
"mcpServers": {
"cartog": { "command": "cartog", "args": ["serve"] }
}
} </details>
<details> <summary><strong>VS Code (GitHub Copilot)</strong> — project <code>.vscode/mcp.json</code></summary>
cartog ide --client vscode
Note: VS Code's top-level key is servers (no mcp prefix):
{
"servers": {
"cartog": { "type": "stdio", "command": "cartog", "args": ["serve"] }
}
} </details>
<details> <summary><strong>Zed</strong> — <code>~/.config/zed/settings.json</code></summary>
cartog ide --client zed
{
"context_servers": {
"cartog": { "command": "cartog", "args": ["serve"] }
}
} </details>
<details> <summary><strong>OpenCode</strong> — <code>~/.config/opencode/opencode.json</code></summary>
cartog ide --client opencode
{
"mcp": {
"cartog": {
"type": "local",
"command": ["cartog", "serve"],
"enabled": true
}
}
} </details>
<details> <summary><strong>Gemini CLI</strong> — <code>~/.gemini/settings.json</code></summary>
cartog ide --client gemini
{
"mcpServers": {
"cartog": { "command": "cartog", "args": ["serve"] }
}
} </details>
<details> <summary><strong>Claude Desktop</strong> — <code>claude_desktop_config.json</code></summary>
cartog ide --client claude-desktop
Manual (macOS: ~/Library/Application Support/Claude/; Windows: %APPDATA%\Claude\):
{
"mcpServers": {
"cartog": { "command": "cartog", "args": ["serve"] }
}
}
Restart Claude Desktop after editing. </details>
See docs/mcp-setup.md for the canonical long-form reference, including the path-naming scheme for Codex's multi-project setup, and docs/usage.md for all cartog ide flags.
curl -fsSL https://www.cartog.dev/install.sh | sh # or: cargo install cartog
cd your-project
cartog init # 1. scaffold .cartog.toml
cartog index # 2. build the code graph
That's it for CLI use. Two commands.
If you want MCP wired into your editor (Claude Code, Cursor, VS Code, Claude Desktop, Codex CLI, Gemini CLI, OpenCode, Windsurf, Zed, Antigravity, Kiro, Hermes Agent), add one more:
cartog ide # optional — only if you want editor integration
All three commands are idempotent.
Now query:
cartog search validate # find symbols by name (sub-ms)
cartog refs validate_token # who calls this? (< 500 µs)
cartog impact validate_token # what breaks if I change it? (< 20 ms)
cartog outline src/auth.py # file structure, no cat (< 15 µs)
cartog rag setup # download models (~1.2 GB, one-time)
cartog rag index . # embed symbols + docs into sqlite-vec
cartog rag search "authentication token validation"
Three-tier hybrid pipeline: FTS5 keyword + vector KNN + cross-encoder re-ranking. Indexes both code (functions, classes, methods) and Markdown documents. Models run locally via ONNX Runtime — no API keys, no network calls.
Prefer Ollama or a hosted endpoint? Setprovider = "ollama"orprovider = "openai"(any OpenAI-compatible/v1endpoint) in.cartog.toml. See Configuration.
Database path is resolved automatically — no config needed for standard use:
--db flag / CARTOG_DB env var (highest priority).cartog.toml at git root.cartog/db.sqlite; legacy .cartog.db still read with a warning).cartog/db.sqlite in current directory.cartog.toml (optional):
```toml [database] path = "~/.local/share/cartog/myproject.db"
[embedding] provider = "ollama" # "local" (default), "ollama", or "openai" model = "nomic-embed-text"
[reranker] provider = "none" # "local" (default) or "none"
Three setup paths for agents and editors. Pick the one that matches your stack — they are alternatives, not steps.
| Path | Use it when | What you get |
|---|---|---|
cartog ide | You want MCP wired into one or more editors (Claude Code, Cursor, VS Code, Codex CLI, Gemini CLI, Claude Desktop, OpenCode, Windsurf, Zed, Antigravity, Kiro, Hermes Agent). | MCP entries written to the right files; interactive picker if you run it without flags. |
| Claude Code plugin | You are on Claude Code and want install + skill + MCP wired in one step. | Bundled: binary install, behavioural skill, MCP server, all preconfigured. |
| Agent skill | You use an agent that follows the skills protocol (Cursor, Copilot, others) and only need the behavioural rules, not MCP. | Skill files installed into the agent's skill directory; works alongside any install method. |
Run these two commands one at a time in Claude Code:
/plugin marketplace add jrollin/cartog
/plugin install cartog@cartog-plugins
First session: if the cartog binary is not already on your PATH, the plugin starts a background install and prints a one-line notice. The cartog MCP server cannot start in this first session because the binary lands after Claude Code has already tried to spawn it.
Second session: restart Claude Code. The MCP server starts, code-graph tools become available, and the SessionStart hook keeps the index fresh on every subsequent session.
Repair or upgrade: type /cartog-install at any time to install the binary synchronously (e.g. to retry a failed background install), or to upgrade an existing install to match the plugin's pinned version. The skill at skills/cartog-install/ handles both cases.
Offline / vetted install: the manual fallback is the same one used by the curl one-liner at the top of this section: download site/public/install.sh (served at https://www.cartog.dev/install.sh), inspect it, then run it.
| Symptom | Fix |
|---|---|
| **"not initialized" / no results** | Run cartog init then cartog index . in the repo first. |
**cartog index seems to hang** | Cold index of a large repo takes a few seconds; re-run with RUST_LOG=info cartog index . if nothing after 60s. |
| **MCP "Connection closed" on a 2nd editor window** | Expected: single-writer election makes the 2nd instance read-only (14 of 16 tools). Ensure cartog --version ≥ 0.17 and CARTOG_SINGLE_WRITER is unset. |
**.cartog.toml ignored** | Cartog walks up to the git root; with no .git, put it in the cwd or pass --db. cartog config prints the resolved paths. |
| **Missing symbols / recall lower than expected** | Wait for the watcher (or run cartog index), check the file's language is supported and not .gitignored. Install a language server on PATH to lift edge resolution from ~25% to up to ~81%. |
| **Anything else** | cartog doctor checks git, config, DB, and models. |
Full list with detailed fixes: docs/troubleshooting.md.
Cartog 是一个强大的代码图谱构建工具,旨在为 AI Agent 和编辑器提供精准的代码上下文。通过构建代码符号与文档的索引,它能够让 AI 更好地理解项目结构,实现高效的代码检索与语义搜索。
您可以通过官方提供的安装脚本快速部署,该脚本支持 macOS 和 Linux,且无需预装 Rust 环境。脚本会自动检测您的操作系统与架构,下载对应的 GitHub Release 二进制文件,并通过 SHA-256 进行校验以确保安全。安装路径默认为 `/usr/local/bin` 或 `~/.local/bin`,您也可以通过 `CARTOG_INSTALL_DIR` 环境变量自定义安装目录,或使用 `CARTOG_VERSION` 指定特定版本。
Cartog 的 CLI 使用非常直观。首先,通过安装脚本或 `cargo install` 完成安装;接着,在项目根目录下运行 `cartog init` 生成 `.cartog.toml` 配置文件;最后,执行 `cartog index` 构建代码图谱。如果您希望在 Claude Code、Cursor 或 VS Code 等编辑器中使用 MCP 功能,只需根据编辑器类型运行相应的 `cartog ide` 命令即可完成集成。
Cartog 支持通过 `.cartog.toml` 进行配置。对于数据库路径,程序会自动识别优先级:命令行 `--db` 标志或 `CARTOG_DB` 环境变量具有最高优先级,其次是项目根目录下的配置文件。此外,Cartog 提供强大的语义搜索(RAG)功能,支持 FTS5 关键词、向量 KNN 及 Cross-encoder 重排序的三层混合流水线。您可以配置 `api_key_env` 来指定 API 密钥的环境变量,并支持通过 `base_url` 切换至 OpenAI 兼容的 API 端点。
Cartog 的 API 设计兼容主流 AI 标准。您可以配置 `base_url` 来对接 OpenAI、Mistral 或 Voyage 等服务。在 RAG 模式下,系统支持本地模型运行或通过 API 调用远程模型,确保在处理代码符号与 Markdown 文档的嵌入(Embedding)时,能够灵活适配不同的后端服务。
Cartog 为 Agent 和编辑器提供了三种不同的集成路径,用户应根据技术栈选择最合适的一种。通过 `cartog ide` 命令,您可以将 MCP 直接接入 Claude Desktop、Cursor、Windsurf 等编辑器;对于 Claude Code 用户,可以通过 `/plugin` 命令在插件市场安装专用插件。这些路径是互斥的替代方案,而非必须按顺序执行的步骤。
针对常见问题,若遇到 "not initialized" 或无结果的情况,请确保已在仓库中执行 `cartog init` 和 `cartog index .`。如果 `cartog index` 运行时间过长,建议通过 `RUST_LOG=info` 环境变量查看详细日志以排查是否卡死。对于 MCP 连接问题,请检查编辑器的配置是否已正确写入。
高质量的MCP工具,支持树形查询
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
✅ MIT 协议 — 最宽松的开源协议之一,可自由商用、修改、分发,仅需保留版权声明。
AI Skill Hub 点评:Cartog 的核心功能完整,质量优秀。对于Claude Desktop / Claude Code 用户来说,这是一个值得纳入个人工具库的选择。建议先在非生产环境试用,再逐步推广。
| 原始名称 | cartog |
| 原始描述 | 开源MCP工具:claude code with treesitter and query capability (RLM, RAG, MCP, LSP)。⭐9 · Rust |
| Topics | claudeclilspmcprust |
| GitHub | https://github.com/jrollin/cartog |
| License | MIT |
| 语言 | Rust |
收录时间:2026-05-28 · 更新时间:2026-05-30 · License:MIT · AI Skill Hub 不对第三方内容的准确性作法律背书。
选择 Agent 类型,复制安装指令后粘贴到对应客户端