M

MCP专家评审

@tomsiwik/mcp-experts
0 Stars 374 次浏览 tomsiwik 更新于 2026-08-23

一个基于Python的系统,通过模拟像Martin Fowler和Robert C. Martin这样的专家角色,使用模型上下文协议(MCP)提供人工智能驱动的代码评审。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

MCP 代码专家系统

一个基于 Python 的代码审查系统,使用 Model Context Protocol (MCP)。它通过模拟 Martin Fowler 和 Robert C. Martin (Uncle Bob) 等专家角色提供代码审查功能。

功能

  • 基于 Martin Fowler 的重构原则进行代码审查
  • 基于 Robert C. Martin 的《Clean Code》原则进行代码审查
  • 代码、审查和关系的知识图谱存储
  • 与 Ollama 集成以支持 AI 驱动的审查
  • 支持服务器端事件 (SSE) 以便网页集成

先决条件

Python 3.10+

该项目需要 Python 3.10 或更高版本。

Ollama

Ollama 是进行 AI 驱动代码审查所必需的。

  1. 为你的平台安装 Ollama:

    • macOS: 从 ollama.com 下载
    • Linux: curl -fsSL https://ollama.com/install.sh | sh
    • Windows: 通过 Linux 指令支持 Windows WSL2
  2. 拉取推荐模型:

    ollama pull llama3:8b
    
  3. 启动 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

使用

运行服务器

标准模式(用于 Cursor 集成)

source .venv/bin/activate
python server.py

HTTP/SSE 模式(用于网页集成)

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 (Uncle Bob) 根据《Clean Code》原则审查代码
  • 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 集成以支持 AI 驱动的审查
  • examples/: 不同语言的示例代码供审查
  • requirements.txt: Python 依赖项
  • setup.sh: 设置脚本

架构

系统遵循模块化架构:

  1. 服务器层: 处理 MCP 协议通信并路由请求
  2. 专家层: 封装每个专家的代码审查逻辑
  3. 服务层: 提供 AI 集成和知识图谱功能

每位专家都实现了一个标准接口,以实现一致的处理方式并方便新增专家。

许可证

MIT

相关 MCP 服务