______________________________________________________________________
标题:代码审查MCP服务器 表情符号🛰️ 颜色来源:靛蓝 颜色致:蓝色 sdk:docker app_file:Dockerfile 固定:false
MCP服务器公开回购代码详细信息
一个MCP服务器,为Python、Go和C++GitHub Repos的有效代码审查提供上下文
MCP是用于向LLM公开API的模型上下文协议,既有API描述,也有通过JSON-RPC调用API的方法。
MCP服务器公开了在 工具/code_indexer.py:
- index_github_repo_mcp(github url,re_index=False) --克隆一个GitHub仓库(浅,深度=1)并对其进行索引以供查询。集
re_index=True强制进行新的克隆并重新索引。 - index_folder_mcp(文件夹路径,re_index=False) --为本地文件夹建立索引,以便其他工具可以查询它。设置
re_index=True强制从磁盘重新索引。 - get_function_context_for_project_mcp --获取函数及其被调用者的详细信息。
- get_function_references_mcp --获取索引代码库中函数的引用。
- 搜索_降级_mcp --在存储库中搜索术语,并以类似grep的格式返回匹配的行。
注: 您必须首先为仓库或文件夹建立索引(通过 index_github_repo_mcp 或 index_folder_mcp)在用其他工具查询之前。返回的文件夹路径/密钥应作为 repo_name 查询工具的参数。
缓存
索引数据被持久化到SQLite数据库中(cache/index_cache.db).在后续调用中,即使在服务器重启后,缓存的索引也会立即加载,而无需重新克隆或重新解析。要获取存储库或文件夹中的新更改,请再次调用索引工具 re_index=True.
服务器使用 TreeSitter项目 对源代码进行AST解析,提取类、方法、引用和文档。目前仅限于Python、Go和CPP源代码,但可以轻松扩展到TreeSitter支持的其他语言
使用uv作为包管理器。
中的客户端调用示例 Colab笔记本
此服务器的示例托管在Hugging Face Spaces中-https://alexcpn-treesitter-mcp.hf.space/mcp/
______________________________________________________________________
如何跑步
在流式HTTP上运行服务器
继续运行 http://127.0.0.1:7860/mcp
uv run codereview_mcp_server/http_server.py与MCP Insepctor核实
npx @modelcontextprotocol/inspector 选择流式HTTP并给出URL http://127.0.0.1:7860/mcp
您可以通过Ngrok公开上述内容 ngrok http http://localhost:7860 互联网
运行STDIO服务器
STDIO客户端将运行服务器并查询工具
uv run codereview_mcp_server/stdio_client.py使用MCP检查器进行检查
示例
npx @modelcontextprotocol/inspector uv --directory codereview_mcp_server/ run stdio_server.py用于测试逻辑/用于开发和扩展
uv run code_ast_mcp_server/tools/code_indexer.py Claude桌面配置
{
"mcpServers": {
"CodeReviewMCP": {
"command": "uv",
"args": [
"--directory",
"/codereview_mcp_server",
"run",
"stdio_server.py"
]
}
}
}Docker的构建与运行
docker build -t codereview-mcp-server .
docker run -it --rm -p 7860:7860 codereview-mcp-server