______________________________________________________________________
标题:GraphPulse 表情符号🐺 颜色来源:靛蓝 颜色:灰色 sdk:docker 应用端口:7860 固定:false
LegacyGraph MCP:代理C++的现代化🏗️
 
 ](https://smithery.ai/servers/labsofuniverse/legacy-mcp-analyzer)
⚡ 问题
遗留的C++代码库对于LLM上下文窗口来说太大,导致:
- 上下文丢失 –意大利面条代码不能一次性处理。
- 幻觉 -代理在没有完全依赖意识的情况下进行重构。
- 解析差距 –基于正则表达式的解析器会错过宏和模板。
🛠️ 解决方案
LegacyGraph‑MCP 是一个模型上下文协议(MCP)服务器,它将C++代码库公开为 知识图谱。代理查询图形而不是原始文本:
*“代理:调用哪些函数calculate_risk()?"* *“MCP:process_loan()和assess_credit()"*
核心功能
- 精确的AST解析 通过
tree‑sitter– 100 % C++语法覆盖率。 - 图表-RAG –在重构之前检测循环依赖关系。
- 混合部署 –使用单个代码库的本地(stdio)或云(HTTP)。
- 通用MCP客户端支持 -与Claude Desktop、DeepSeek‑Coder等合作。
- 全摄入 –克隆存储库、应用补丁、上传原始文件或扫描本地目录。
- 令牌安全可视化 –Mermaid图内联返回(云)或保存到磁盘(本地)。
______________________________________________________________________
📊 性能(LLVM–67 k个文件)
LegacyGraph‑MCP现在使用 JSON 用于缓存文件(.legacygraph.json)而不是不安全的pickle,并支持受限资源基准配置文件。
| 度量 | 顺序(v0.1) | 分布式(v0.3) | ⚡ 改进 | |
|---|---|---|---|---|
| CPU利用率 | ~6 % (1 core) | ~80 % dynamic cores | 适应性 | |
| AST构建时间 | 5 h | 10 min | ≈30× | |
| 吞吐量 | 3.8 files/s | 113 files/s | ≈30× | |
| 增量更新 | 无 | ` | JSON‑RPC | B[MCP Server] |
| B --> | Parse | C[tree‑sitter] | ||
| B --> | Query | D[NetworkX Graph] | ||
| C --> | AST | D | ||
| D --> | Cycles/Deps | B | ||
| E{MCP_MODE} --> | local | F[stdio + Disk] | ||
| E --> | cloud | G[HTTP + /tmp/ Clone] |
> 📖 看 [`ARCHITECTURE.md`](ARCHITECTURE.md) 查看详细的组件图。
______________________________________________________________________
## 👨💻 开发人员指南(运行和开发)
本节帮助开发人员直接运行代码、开发服务器并在本地进行测试。
### 1.先决条件和安装
确保你有Python 3.11+和 `poetry` 安装。
git clone https://github.com/RohitYadav34980/LegacyGraph-MCP.git cd LegacyGraph-MCP
Install dependencies using Poetry
pip install poetry poetry install
### 2.在本地运行服务器
要开发或验证本机运行的MCP服务器,请执行以下操作:
#### 标准本地执行(stdio)
python -m src --mode local
#### 云模拟模式(HTTP/SSE)
在没有Docker的情况下本地测试云端点:
python -m src --mode cloud --transport sse --path /mcp --host 127.0.0.1 --port 7860
这将强制服务器绑定到 `localhost:7860`,模仿拥抱脸部空间环境。
### 3.验证服务器状态
测试您的本地设置是否正常工作:
Run the internal validation script
python tools/verifier.py
预期产量: **100 % 准确度** 依赖性检测。
______________________________________________________________________
## ☁️ 云部署(拥抱面部空间)
该项目针对以下方面进行了优化 **拥抱面部空间** 使用Docker SDK。
### 1.创造一个空间
在上创建新空间 [huggingface.co](https://huggingface.co/new-space) 并选择 **码头工人** 作为SDK。
### 2.连接并推送
最简单的方法是将现有的本地存储库推送到Space:
Add the Hugging Face Space as a remote
git remote add hf https://huggingface.co/spaces/Rohitadav/GraphPulse
Push your code (requires an HF Access Token)
git push hf main --force
### 3.验证
一旦按下,Space将自动构建 `Dockerfile` 并在端口上启动服务器 `7860`。然后,您可以通过以下方式使用此服务器 **上海证券交易所** 在任何兼容MCP的客户端中。
______________________________________________________________________
## 🔌 在MCP客户端中安装
使用这些配置将您的AI代理连接到Graph引擎。
### 选项 1:通过Smithery连接(用于远程/云)
如果您已部署到Hugging Face或其他远程主机,或者只想使用已发布的远程MCP设置,请使用Smithery。你可以 [直接在Smithery上查看服务器](https://smithery.ai/servers/labsofuniverse/legacy-mcp-analyzer).
npx -y @smithery/cli@latest mcp add labsofuniverse/legacy-mcp-analyzer --client claude-code
### 选项 2:本地/Claude桌面配置
如果要将本地开发环境直接插入Claude Desktop,请更新配置文件。
- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
- **视窗**: `%APPDATA%\Claude\claude_desktop_config.json`
添加以下配置,确保您 **替换 `cwd` 路径** 使用克隆此存储库的绝对路径。
{ "mcpServers": { "legacy-mcp-analyzer": { "command": "python", "args": [ "-m", "src", "--mode", "local" ], "cwd": "C:\\path\\to\\your\\LegacyGraph-MCP" } } }
*注意:确保在Windows上避开反斜杠(例如。 `C:\\Users\\...`),或在macOS/Linux上使用正斜杠。*
______________________________________________________________________
## 🔧 MCP工具
|工具|描述|模式|
|---|---|---|
| `analyze_codebase` |统一摄取(仓库URL、补丁、原始文件或本地目录)|两者都有|
| `get_file_functions` |列出特定源文件中定义的函数|两者都有|
| `get_file_coupling` |跨文件耦合报告(文件 A → file B) |两者都有|
| `get_callers` |查找上游依赖关系|两者都有|
| `get_callees` |查找下游依赖关系|两者都有|
| `detect_cycles` |识别循环依赖关系|两者都有|
| `get_orphan_functions` |查找未使用的代码|两者都有|
| `generate_mermaid_graph` |内联返回Mermaid图(令牌安全)|两者都有|
| `export_ide_graph` |拯救美人鱼 `.md` 文件到本地磁盘|仅限本地|
______________________________________________________________________
## 🧪 测试
Unit + integration tests (≈30 cases)
python -m pytest tests/ -v
End‑to‑end verifier against sample legacy project
python tools/verifier.py
**电流精度:** 100 % (所有依赖关系、循环和孤立检测均已验证)。
______________________________________________________________________
## 📚 文档
查看完整的文档套件,深入了解架构和使用方法:
|文档|描述|
|---|---|
| [`PROJECT_MANUAL.md`](PROJECT_MANUAL.md) |深入指南、API参考、部署模式|
| [`ARCHITECTURE.md`](ARCHITECTURE.md) |详细的架构、数据流、组件图|
| [`CONTRIBUTING.md`](CONTRIBUTING.md) |开发标准、提交协议、PR流程|
| [`CHANGELOG.md`](CHANGELOG.md) |版本历史和发行说明|
______________________________________________________________________
## 🤝 贡献
1. 分叉并克隆仓库。
1. 创建要素分支: `git checkout -b feature/your-feature`.
1. 严格遵守 `mypy` 打字、谷歌风格的文档字符串、常规提交。
1. 跑 `pytest` 确保所有测试均已通过。
1. 提交PR。
______________________________________________________________________
## 🙏 致谢
内置:
- [树保姆](https://tree-sitter.github.io/tree-sitter/)
- [网络X](https://networkx.org/)
- [主控程序](https://modelcontextprotocol.io/)
- [FastMCP](https://github.com/jlowin/fastmcp)
______________________________________________________________________
**制作❤️**
Thanks for visiting!