内容
# CodeGraphX (CGX)
<p align="center">
<img src="assets/logo.png" alt="CodeGraphX (CGX) logo — codebase graph engine and MCP server for AI coding agents" width="30%" border-radius="50%" />
</p>
<p align="center">
<a href="https://www.npmjs.com/package/codegraphx"><img src="https://img.shields.io/npm/v/codegraphx.svg" alt="npm version" /></a>
<a href="https://www.npmjs.com/package/codegraphx"><img src="https://img.shields.io/npm/dm/codegraphx.svg" alt="npm downloads" /></a>
<a href="LICENSE"><img src="https://img.shields.io/npm/l/codegraphx.svg" alt="license" /></a>
<a href="https://nodejs.org"><img src="https://img.shields.io/badge/node-%3E%3D18-blue.svg" alt="node version" /></a>
<a href="https://modelcontextprotocol.io"><img src="https://img.shields.io/badge/MCP-server-8A2BE2.svg" alt="MCP server" /></a>
<a href="https://techcraze00.github.io/CodeGraphX/"><img src="https://img.shields.io/badge/docs-website-2563eb.svg" alt="website" /></a>
</p>
<p align="center"><strong>官网:</strong> <a href="https://techcraze00.github.io/CodeGraphX/">techcraze00.github.io/CodeGraphX</a> · <strong>npm:</strong> <a href="https://www.npmjs.com/package/codegraphx"><code>codegraphx</code></a></p>
> **CodeGraphX(CGX)** 是一个本地、高效的**代码库图引擎**,适用于 AI 编程代理和人类开发者。它使用 Tree-sitter 解析源代码,将双时间语义图存储在 SQLite 中,并通过 **CLI** 和 **MCP 服务器**提供服务,以便代理可以询问 *"如果我更改此函数,会发生什么?"* 并在几百个令牌中获得准确答案,而不是阅读 50 个文件。
---
## 什么是 CodeGraphX?
**定义 —** CodeGraphX 是一个*代码智能层*:一个持久的、可查询的代码库符号图(函数、类、变量)、它们的关系(`calls`、`called_by`、`imports`、`inherits`、跨语言 `API_CALLS`)以及它们随时间变化的方式。
**它是什么类型的工具?** 它与语言服务器(LSP)或代码搜索索引属于同一家族,但它是专门为 **LLM 代理**而构建的:
- **语言服务器** 回答“转到定义”对于编辑器,一次一个符号。
- **grep / embedding search** 查找文本,而不是结构。
- **CodeGraphX** 回答*结构化、整个仓库推理问题* — 影响/爆炸半径、依赖循环、跨语言契约、“此符号是否存在?” — 并以 **token-optimized** 形式序列化答案,代理可以直接使用。
**它解决的核心问题 —** AI 编程代理会花费大部分 token 预算*重新发现*代码库:打开文件、滚动、grep、重新阅读每个会话的相同模块。CodeGraphX 索引一次,并从图中回答这些问题,以便代理花费 token *推理*而不是*扫描*。
---
## 为什么它有用(token 经济学)
每个代理操作都有 token 成本。考虑一个常见问题:**“如果我更改 `validateInput` 会发生什么?”**
| 方法 | 代理执行的操作 | 大致上下文成本 |
|---|---|---|
| **无 CGX** | grep `validateInput`,打开 ~15–50 个候选文件,读取每个文件以跟踪调用站点 | **数万** token,多个工具往返 |
| **使用 CGX** | `explain_impact({ symbol_name: "validateInput" })` → 一个小 JSON,包含上游调用者和下游被调用者 | **几百** token,一次往返 |
节省的 token 数量是累积的,因为 CGX 将其图序列化为 **TOON**(Token-Oriented Object Notation),而不是 JSON — 一种紧凑的表格编码,消除了重复的键和括号,这些键和括号占据了 JSON token 计数的主导地位。
> **诚实框架:** 下面的准确性数字是针对手动标记的语料库测量的。上述 token 图是一个*说明性模型*,典型代理行为的 token 数字,而不是实验室基准 — 实际比率取决于您的代码库和代理。机制(一次有针对性的图查询与多个文件读取)是实现胜利的原因。
**CGX 最有价值的地方:**
- 大型/不熟悉的代码仓库中,“阅读所有内容”不可行。
- 长期代理会话(图是代理不必重建的缓存)。
- 跨语言栈(React ⇄ Express/Flask/FastAPI),其中调用图不跨文件。
- 重构和评审,影响半径和死/损坏导入检测很重要。
---
## 完整功能
| 功能 | 提供内容 |
|---|---|
| 🧠 **符号图** | 每个函数/类/方法及其 `calls`、`called_by`、`imports`、`inherits` 边 |
| ⚡ **O(1) 符号查找** | 布隆过滤器回答 `probable_yes` / `definite_no` 而无需触摸 DB |
| 💥 **影响跟踪** | 通过 SQL CTE 进行递归上游(调用者)/下游(被调用者)爆炸半径 |
| 🌉 **跨语言链接** | 将前端 `fetch`/`axios` 调用与后端路由匹配为具有置信度评分的 `API_CALLS` 边 |
| 🕑 **双时间历史** | 追加图 — 查询代码库*截至任何提交*;永远不会删除任何内容 |
| 🩺 **医生诊断** | 报告丢失/无法解析的导入、未解析的调用目标、循环依赖、语法错误 |
| ✅ **任务验证** | 将任务描述与提交的实际符号更改进行比较;标记未测试的添加 |
| 🔀 **会话/分支差异** | 新增/删除/修改的符号的结构摘要 vs. HEAD 或分支 |
| 🌐 **交互式仪表盘** | 浏览器中的 D3.js 力图,显示整个代码库 |
| 📦 **TOON 工件** | 用于代理上下文注入的 token 优化图 + 文件索引导出 |
| 🔐 **100% 本地** | 无云,无遥测,无网络 — 代码从不离开机器 |
| 🤖 **MCP 服务器** | 为任何 MCP 兼容的代理暴露 6 个工具,零配置自动索引 |
---
## 项目中使用的技术
| 层 | 技术 |
|---|---|
| **解析** | [Tree-sitter](https://tree-sitter.github.io/),每种语言的语法(`tree-sitter-python`、`-javascript`、`-typescript`、`-html`、`-css`) |
| **存储** | SQLite via [`better-sqlite3`](https://github.com/WiseLibs/better-sqlite3)(默认)或 **Postgres**(`pg`),通过 [Kysely](https://kysely.dev/) 类型安全查询构建器 |
| **代理协议** | [Model Context Protocol SDK](https://modelcontextprotocol.io/)(`@modelcontextprotocol/sdk`)通过 stdio |
| **概率查找** | [`bloom-filters`](https://github.com/Callidon/bloom-filters) |
| **token 优化输出** | [TOON](https://github.com/toon-format/toon)(`@toon-format/toon`) |
| **CLI** | [Commander](https://github.com/tj/commander.js) + [`@clack/prompts`](https://github.com/natemoo-re/clack) 用于交互式设置 |
| **文件监视** | [chokidar](https://github.com/paulmillr/chokidar) |
| **运行时** | Node.js ≥ 18,CommonJS |
---
## 支持的语言
| 语言 | 扩展名 | 提取内容 |
|---|---|---|
| Python | `.py` | 函数、类、调用、导入(包括包相对 `.` / `..`)、Flask/FastAPI 路由 |
| JavaScript | `.js`、`.jsx` | 函数、类、箭头函数、调用、导入/require、本地绑定、`fetch`/`axios` 调用、Express 路由 |
| TypeScript | `.ts`、`.tsx` | 与 JS 相同,加上 TS 特定声明 |
| HTML | `.html` | 元素/结构符号 |
| CSS | `.css` | 选择器(类、id) |
---
## 安装
```bash
# 全局(推荐)
npm install -g codegraphx
# 或按项目
npm install --save-dev codegraphx
# 验证
codegraphx --version # 1.2.4
```
CLI 可作为 `codegraphx`、`cgx` 和 MCP 入口 `cgx-mcp` 使用。
---
## 快速开始
```bash
cd your-project
# 1. 索引代码库 → 编写 .codegraphx/ + .codegraphx.db
cgx init
# 2. 提问
cgx query authenticateUser # 它在哪里,它调用什么,它被什么调用
cgx impact authenticateUser --direction downstream --depth 5
cgx impact authenticateUser --direction upstream
cgx stats # 文件/符号/边
cgx doctor # 健康报告
# 3. 可选的实时视图
cgx watch # 文件更改时重新索引
cgx dashboard # 在浏览器中打开 D3 图
```
> **重新扫描是一个完整的重写。** 每次 `cgx init` / `cgx scan` 都从头开始重建 `.codegraphx/`:从磁盘中删除的文件被从图中删除,过时的工件被删除,数据库时间关闭删除的符号 — 因此图始终与工作树匹配。未更改的文件仍从缓存中提供服务,因此它保持快速。
### CLI 命令参考
| 命令 | 目的 |
|---|---|
| `cgx setup` | 配置 MCP 服务器 + 技能到您的编码 CLI(见下文) |
| `cgx init` / `cgx scan` | 代码库的完整索引 |
| `cgx query <symbol>` | 显示符号的文件、类型、`calls` 和 `called_by` |
| `cgx impact <symbol> [--direction up/downstream] [--depth N]` | 跟踪爆炸半径 |
| `cgx doctor [--json] [--strict] [--no-calls]` | 诊断:导入、调用、循环、语法 |
| `cgx stats` | 文件/符号/函数/类/边的数量 |
| `cgx watch` | 文件更改时自动更新图 |
| `cgx dashboard` | 打开交互式 `codegraph.html` |
| `cgx git-hook <install\|remove>` | 在 `post-commit` / `pre-push` 上自动扫描 |
| `cgx session summary [--branch <b>]` | 当前会话的结构更改摘要 |
| `cgx verify --task <desc> --commit <hash>` | 任务与提交验证证据 |
---
## MCP 服务器(用于 AI 代理)
CodeGraphX 附带一个 MCP stdio 服务器,暴露 6 个工具。**零设置:** 您不必先扫描 — 在项目中首次启动时,服务器会在后台索引代码库。在索引时,`get_graph_status` 报告 `"indexing"`;一旦 `"ready"`,所有工具都已启动。
### 可用的 MCP 工具
| 工具 | 描述 | 参数 |
|---|---|---|
| `get_graph_status` | 就绪状态:`indexing` / `ready` / `error`,以及文件数量 | — |
| `list_files` | 列出索引文件 | `filter?: string` |
| `check_symbol_exists` | O(1) 布隆查找 → `probable_yes` / `definite_no` | `name: string` |
| `explain_impact` | 符号的上游调用者 + 下游被调用者 | `symbol_name: string` |
| `verify_task` | 将任务描述与提交的实际更改进行比较 | `task_description: string`,`commit_hash?: string` |
| `get_session_diff` | 当前会话/分支的结构摘要 | `branch?: string`(默认 `HEAD`) |
### 示例代理工作流程
```
用户:“如果我更改 `validateInput` 函数会发生什么?”
代理(通过 MCP):
1. check_symbol_exists({ name: "validateInput" }) → { exists: "probable_yes" }
2. explain_impact({ symbol_name: "validateInput" })
→ { used_by_upstream: ["src/auth.js::login"],
breaks_downstream: ["src/api.js::handleRequest"] }
结果:准确答案,无需扫描文件。
```
### 选择项目根目录
服务器索引它启动的目录。如果您的客户端未设置一个,请显式传递它:
```bash
cgx-mcp --project-root /path/to/project
# 或
CGX_PROJECT_ROOT=/path/to/project cgx-mcp
```
---
## 设置 — 有多简单?
### 一条命令
```bash
cgx setup
```
它**自动检测**您已安装的编码 CLI,让您多选要配置的 CLI,并连接每个 CLI — 无需手动编辑配置,无需搜索绝对路径。它使用**绝对 Node 路径 + 捆绑的 `cgx-mcp`** 注册 MCP 服务器(通过每个 CLI 的原生命令,如果可用,则使用 JSON 文件作为备用),适用于全局和本地安装,并安装每个 CLI 格式的 CGX 用法技能/说明。
```bash
cgx setup # 交互式多选
cgx setup --agents claude,gemini --yes # 非交互式(CI / 脚本)
cgx setup --project # 仅为当前仓库注册
```
注册**默认情况下为用户/全局**,因此您只需运行一次,它将在每个项目中生效 — `cgx-mcp` 从您的 CLI 启动的位置解析项目。现有的配置将被保留;在第一次编辑之前会写入备份。
### 支持的编码代理 CLI
| 代理 | 通过 | MCP 注册 | 技能/说明 |
|---|---|---|---|
| **Claude Code** | `claude` 在 PATH 或 `~/.claude` | `claude mcp add` → `~/.claude.json` 或 `.mcp.json` | `~/.claude/skills/cgx/SKILL.md` |
| **Gemini CLI** | `gemini` 在 PATH | `~/.gemini/settings.json` 或 `.gemini/settings.json` | `GEMINI.md`(上下文文件) |
| **Antigravity CLI** | `agy` 在 PATH | `~/.gemini/config/mcp_config.json` 或 `.agents/mcp_config.json` | `~/.gemini/skills/cgx/SKILL.md` 或 `.agents/skills/cgx/SKILL.md` |
| **OpenCode** | `opencode` 在 PATH | `opencode mcp` → 配置文件 | `AGENTS.md` |
| **Cursor** | `~/.cursor` 存在 | `~/.cursor/mcp.json` 或 `.cursor/mcp.json` | `.cursor/rules/*.mdc` |
然后在任何项目中打开您的 CLI 并说 *"使用 cgx 来探索此代码库。"*
### 如果 `cgx setup` 无法正常工作 — 手动设置
MCP 入口始终是相同的形式:运行捆绑的 `cgx-mcp`,使用 **绝对路径到 `node`** (某些客户端不会继承您的 shell `PATH`)。使用以下方法查找它们:
```bash
which node # 例如 /usr/local/bin/node
which cgx-mcp # 例如 /usr/local/lib/node_modules/codegraphx/bin/cgx-mcp
```
**Claude Code** — 从您的项目:
```bash
claude mcp add codegraphx -- npx -y -p codegraphx cgx-mcp
```
或 `.mcp.json`:
```json
{ "mcpServers": { "codegraphx": { "command": "npx", "args": ["-y", "-p", "codegraphx", "cgx-mcp"] } } }
```
**Claude Desktop** — `~/Library/Application Support/Claude/claude_desktop_config.json`(macOS)。无项目目录,因此设置根目录:
```json
{ "mcpServers": { "codegraphx": {
"command": "npx",
"args": ["-y", "-p", "codegraphx", "cgx-mcp", "--project-root", "/path/to/project"]
} } }
```
**Gemini CLI** — `.gemini/settings.json`(使用绝对的 `node` 路径):
```json
{ "mcpServers": { "codegraphx": {
"command": "/ABSOLUTE/PATH/TO/node",
"args": ["/ABSOLUTE/PATH/TO/node_modules/codegraphx/bin/cgx-mcp"],
"cwd": "/ABSOLUTE/PATH/TO/PROJECT"
} } }
```
**Antigravity CLI** (`agy`) — 仅限文件,无原生命令。全局 `~/.gemini/config/mcp_config.json` 或项目特定 `.agents/mcp_config.json`:
```json
{ "mcpServers": { "codegraphx": {
"command": "/ABSOLUTE/PATH/TO/node",
"args": ["/ABSOLUTE/PATH/TO/node_modules/codegraphx/bin/cgx-mcp"]
} } }
```
**Cursor / Windsurf / 其他 MCP 客户端** — `~/.cursor/mcp.json`(或项目 `.cursor/mcp.json`),结构相同;将 `cwd` 指向项目根目录。
**验证连接:**
```bash
# 在 CLI 中
/mcp list # 应该显示:codegraphx — 已连接(6 个工具)
# 或直接驱动服务器
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | npx -y -p codegraphx cgx-mcp
```
**仍然断开连接?**
1. 使用 **绝对路径到 `node`**,不要使用 `npx`。
2. 确保 `cwd` / `--project-root` 与您的项目完全匹配。
3. 如果使用 Gemini 设置,则执行 `gemini trust`。
4. 检查 stderr:`node /path/to/cgx-mcp 2>&1 | head -20`.
---
## 架构
### 数据流
```
源文件
→ parser.js Tree-sitter,每个语言适配器
→ entities.js SymbolEntity / FileEntity / EdgeEntity(领域模型)
→ edgebuilder.js 构建结构化边
→ cross-language-linker.js fetch/axios ⇄ Express/Flask/FastAPI → API_CALLS 边
→ scanner.js 协调完整扫描;写入 DB + .codegraphx/ 工件
→ store/sql-store.js Kysely ORM — 追加双时间图(SQLite / Postgres)
```
扫描后,`.codegraphx.db`(在项目根目录)是真实来源。`.codegraphx/` 目录包含派生工件:`codegraph.html`(仪表盘)、`codegraph-graph.json`(D3)、`codegraph.toon` + `file_index.toon`(token 优化)、`symbols.bloom` 和 `cache.json`.
### 双时间、追加存储
`files`、`symbols` 和 `edges` 表中的行 **永不删除**。每个都带有 `valid_from_commit_id` 和 `valid_to_commit_id`;`NULL` 在后者中意味着“当前活动”。编辑符号会关闭旧行并插入新行;删除文件会暂时关闭其行。这使 CGX 能够回答 *"在提交 X 时代码图是什么样子的?"* 并支持会话/分支差异和任务验证 — 而不会丢失历史记录。
### 关键模块
| 模块 | 角色 |
|---|---|
| `src/parser.js` | 将文件路由到其语言适配器;返回 `declaredSymbols`、`imports`、`calls` |
| `src/languages/*` | 每个语言的 Tree-sitter 适配器(python、javascript、typescript、html、css) |
| `src/entities.js` | `SymbolEntity`、`FileEntity`、`EdgeEntity`、`Snapshot` 领域模型 |
| `src/edgebuilder.js` | 从解析的引用中构建结构化边 |
| `src/cross-language-linker.js` | 置信度评分的 `API_CALLS` 边跨前后端边界 |
| `src/resolver.js` | 规范的导入解析器(JS `./`/`../`,Python 包相对路径,点路径) |
| `src/scanner.js` | `runScan()` — 索引入口点;完整重写语义;`mcpMode` 跳过重输出 |
| `src/store/sql-store.js` | `SqlGraphStore` — 所有 DB 读取/写入;`traceImpact` 使用递归 SQL CTE;`pruneDeletedFiles` |
| `src/store.js` | `GraphStore` — 内存 + `cache.json` 层,由扫描器和医生使用 |
| `src/doctor.js` | 诊断引擎(导入/调用/循环/语法) |
| `src/verifier.js` | 任务与提交验证证据 |
| `src/sdk/index.js` | `IntelligenceSDK` — 代码嵌入 CGX 的编程接口 |
| `src/server/mcp-server.js` | `CodeGraphXServer` — MCP stdio 服务器 |
| `src/setup/*` | `cgx setup` 协调器 + 每个 CLI 的适配器 |
| `src/db/*` | Kysely `db` 实例 + 迁移(`DB_DIALECT=postgres` + `DATABASE_URL` 切换) |
---
## 基准测试与准确率
CGX 意在 *取代阅读代码*,因此其图谱会与手工标注的 **黄金数据集** (`tests/golden/`) 进行对比,其中每个符号、边、跨语言链接和导入循环都是已知的。相同的测试框架也用于 CI (`tests/golden/accuracy.test.js`) — 解析器回归测试失败会导致构建失败。
**提取准确率**(精选数据集:3 个测试用例,9 个文件,20 个符号):
| 类别 | 精确度 | 召回率 | F1 |
|---|---|---|---|
| 符号 | 100% | 100% | 100% |
| 结构化边(调用 / 导入 / 继承) | 100% | 100% | 100% |
| 跨语言 API 链接 | 100% | 100% | 100% |
| 端点标记 | 100% | 100% | 100% |
**推理与确定性:**
| 检查 | 结果 |
|---|---|
| 影响跟踪(精确的可达集) | 4/4 (100%) |
| 循环导入检测(召回率) | 1/1 (100%) |
| 循环导入假阳性 | 0 |
| 跨扫描确定性 | 是 |
**吞吐量:** ~82 文件/秒,~183 符号/秒(完整扫描约 110 毫秒)。
复制和重新生成 [`BENCHMARK.md`](BENCHMARK.md) + `benchmark-results.json`:
```bash
npm run benchmark
```
> 这些数字验证了在受控数据集上的提取 **正确性**,而不是覆盖每种语言结构。可以通过在 `tests/golden/<name>/` 下添加测试用例来扩展基准。
---
## 跨语言智能
在扫描过程中,CGX 提取客户端发起的 HTTP 请求和服务器暴露的路由,然后将它们匹配成具有置信度评分的 `API_CALLS` 边:
```
fetch('/api/users') ──API_CALLS(0.9)──▶ app.get('/api/users', listUsers) [Express]
axios.post('/api/orders') ──API_CALLS(0.9)──▶ @router.post('/api/orders') [FastAPI]
fetch(`/api/users/${id}`) ──API_CALLS(0.7)──▶ @app.route('/api/users/<id>') [Flask]
```
- **前端:** `fetch(...)`(带 `method`)、`axios.get/post/...`、`axios({ url, method })`。
- **后端:** Express/`router`、Flask (`@app.route(..., methods=[...])`)、FastAPI (`@router.get`、`@app.post` 等)。
- **置信度:** `0.9` exact path+method、`0.75` exact path/other method、`0.7` parameterized path+method、`0.55` parameterized/other。路径参数(`:id`、`{id}`、`<int:id>`)首先被归一化,因此 `/api/users/${id}` 链接到 `/api/users/{user_id}`。
路由处理程序被标记为 `endpoint` 本体论标记,并且 `explain_impact` 会遍历 `API_CALLS` 边 — 因此 *"什么调用了这个后端处理程序?"* 会返回跨语言边界的前端调用者。
---
## 安全与隐私
- ✅ **100% 本地** — 无网络、无遥测、无云同步。
- ✅ **只读** — CGX 永远不会修改您的源代码。
- ✅ **仅静态** — 代码被 *解析*,而非执行。
- ✅ **可配置的忽略** — 通过 `.codegraphxrc` 排除敏感路径。
MCP 服务器在您的终端权限下运行,并仅读取与配置的扩展名/忽略项匹配的文件。对于敏感项目,请在沙盒或容器中运行它。
---
## 配置
项目配置位于 `.codegraphxrc`(JSON)或 `codegraphx.config.json` 中:
```json
{
"extensions": [".py", ".js", ".ts", ".jsx", ".tsx", ".html", ".css"],
"ignore": [".git", "node_modules", "__pycache__", ".venv", "dist", "build", "coverage"],
"outputDir": ".codegraphx",
"outputFile": "codebase.json",
"bloomErrorRate": 0.01
}
```
> 将 `.codegraphx/` 和 `.codegraphx.db` 添加到您的 `.gitignore` 中 — 它们是构建产物。
---
## 常见问题
**我是否需要在每次使用时运行扫描?** 不 — MCP 服务器在首次使用时自动索引。重新扫描(或 `cgx watch`)以在更改后刷新。每次重新扫描都是干净的完整重写,因此删除和重命名永远不会留下过时的图谱数据。
**大型代码库?** 是的 — 增量解析意味着未更改的文件从缓存中提供;只有更改的文件会被重新解析。
**私有 / 专有代码?** 没问题 — 所有操作都在本地运行,没有任何数据离开您的机器。
**MCP 显示“Disconnected”?** 使用绝对 `node` 路径,确认 `cwd`/`--project-root`,为项目范围使用 `gemini trust`,并检查 stderr(参见上面的手动设置)。
**Bloom 过滤器的准确率如何?** 可通过 `bloomErrorRate` 调整(默认为 `0.01`)。假阳性仅会触发备用查找 — 永远不会是假阴性。
---
## 贡献
```bash
git clone https://github.com/techcraze00/CodeGraphX.git
cd codegraphx
npm install
npm link # 暴露 `codegraphx` / `cgx` 到全局
npm test
```
添加语言: 将 Tree-sitter 语法添加到 `package.json`,在 `src/languages/<lang>/` 下创建适配器,在 `src/languages/index.js` 中注册它,并在 `tests/golden/` 下添加黄金测试用例。
---
## 许可证
MIT © 2026 Prayas Jadhav. 参见 [LICENSE](LICENSE)。
---
## 链接
- **网站 / 文档:** [techcraze00.github.io/CodeGraphX](https://techcraze00.github.io/CodeGraphX/)
- **软件包:** [`codegraphx` on npm](https://www.npmjs.com/package/codegraphx)
- **仓库:** [github.com/techcraze00/CodeGraphX](https://github.com/techcraze00/CodeGraphX)
- **问题:** [github.com/techcraze00/CodeGraphX/issues](https://github.com/techcraze00/CodeGraphX/issues)
### 致谢
[Tree-sitter](https://tree-sitter.github.io/) · [模型上下文协议](https://modelcontextprotocol.io/) · [Kysely](https://kysely.dev/) · [TOON](https://github.com/toon-format/toon) · [bloom-filters](https://github.com/Callidon/bloom-filters)
<p align="center"><strong>CodeGraphX</strong> — 了解您的代码库。瞬间。</p>
<p align="center"><sub>为开发者和 AI 代理而建。</sub></p>
MCP 配置
以下是此 MCP Server 的配置信息,可直接复制到 Cursor 或其他 MCP 客户端中使用。
mcp.json
连接信息
猜你喜欢
暂无推荐服务器