MCP代码专家系统
基于Python的代码审查系统,使用模型上下文协议(MCP)。它通过模拟的专家角色(如Martin Fowler和Robert C.Martin(Bob叔叔))提供代码审查功能。
特性
- 基于Martin Fowler重构原则的代码审查
- 基于Robert C.Martin清洁代码原则的代码审查
- 代码、评论和关系的知识图存储
- 与Ollama集成,进行人工智能审查
- web集成的服务器端事件(SSE)支持
先决条件
Python 3.10+
这个项目需要Python 3.10或更高版本。
没有
没有 AI驱动的代码审查需要。
- 为您的平台安装Ollama:
- macOS:从下载 ollama.com - Linux: curl -fsSL https://ollama.com/install.sh | sh - 视窗:通过Linux指令支持Windows WSL2
- 拉一个推荐的模型:
ollama pull llama3:8b- 启动Ollama服务器:
ollama serve安装
运行安装脚本以安装依赖项并创建虚拟环境:
chmod +x setup.sh
./setup.sh配置
编辑 .env 要配置的文件(从创建 .env.example 如果需要):
# Knowledge Graph Settings
KNOWLEDGE_GRAPH_PATH=data/knowledge_graph.json
# Ollama Configuration (local AI models)
OLLAMA_HOST=http://localhost:11434
OLLAMA_MODEL=llama3:8b用法
运行服务器
标准模式(用于光标集成)
source .venv/bin/activate
python server.pyHTTP/SSE模式(用于Web集成)
source .venv/bin/activate
python server.py --transport sse这将在以下位置启动服务器 http://localhost:8000/sse 对于SSE运输。
对于自定义端口:
python server.py --transport sse --port 9000在Cursor中安装
要在Cursor IDE中安装:
source .venv/bin/activate
mcp install server.py --name "Code Expert System"可用工具
服务器公开了这些工具:
ask_martin:请Martin Fowler审查代码并提出重构建议ask_bob:请Robert C.Martin(Bob叔叔)根据干净代码原则审查代码read_graph:阅读整个知识图谱search_nodes:在知识图中搜索节点open_nodes:按名称打开特定节点
示例用法
与Martin Fowler一起查看代码片段:
{
"code": "function calculateTotal(items) {\n var total = 0;\n for (var i = 0; i < items.length; i++) {\n total += items[i].price;\n }\n return total;\n}",
"language": "javascript",
"description": "Calculate the total price of items"
}项目结构
server.py:主服务器实现与MCP集成experts/:实现代码审查功能的专家模块
- __init__.py:共享模型和接口 - martin_fowler/:Martin Fowler专家实施 - robert_c_martin/:Robert C.Martin专家执行
knowledge_graph.py:用于存储代码和评论的知识图ollama_service.py:与Ollama集成,进行人工智能审查examples/:不同语言的示例代码供审查requirements.txt:Python依赖关系setup.sh:安装脚本
建筑
该系统遵循模块化架构:
- 服务器层:处理MCP协议通信和路由请求
- 专家层:为每个专家封装代码审查逻辑
- 服务层:提供人工智能集成和知识图谱功能
每个专家都实现了一个标准接口,允许一致的处理和轻松添加新专家。
许可证
麻省理工学院
