智能开发工作流服务器

一个基于AI的模型上下文协议(MCP)服务器,用于通过智能代码审查、自动化文档生成、错误检测、复杂度分析和测试生成来增强软件开发工作流程。

  • by amanncodes
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Amannpy/mcp-ai-server

使用说明

DevPilot MCP:智能开发者工作流MCP服务器

一个基于人工智能的模型上下文协议(MCP)服务器,旨在通过智能代码审查、自动化文档生成、错误检测、复杂度分析和测试生成来增强软件开发工作流程。它集成了 Qwen2.5 以及使用其他Hugging Face模型为开发过程提供高质量的人工智能辅助。


关键特性

MCP 工具

  • 代码审查自动化 – 基于AI的拉取请求分析,提供可操作的反馈
  • 错误检测 – 识别漏洞、逻辑问题和常见的反模式
  • 文档生成 – 自动生成结构化的技术文档
  • 复杂性分析 – 评估代码复杂度并建议重构方案
  • 测试生成 – 使用首选的测试框架生成单元测试

MCP资源公司

  • Git仓库与项目健康状况分析
  • 代码质量指标与见解
  • 可选地与问题跟踪系统集成

所使用的AI模型

  • Qwen2.5 – 高级代码理解和生成能力
  • CodeBERT – 代码嵌入生成
  • FLAN-T5 – 自然语言生成与摘要

项目结构

devpilot-mcp/
├── src/
│   ├── server.py          # Core MCP server
│   ├── config.py          # Configuration and environment settings
│   ├── tools.py           # MCP tool implementations
│   ├── resources.py       # Resource definitions
│   └── models.py          # AI model integration logic
├── tests/
│   ├── test_server.py
│   ├── test_model.py
│   └── test_tools.py
├── demo.py                # Example runner for local testing
├── requirements.txt
├── pyproject.toml
├── .env.example
└── README.md

快速入门

先决条件

  • Python 3.10 或更高版本
  • Git(注:Git是一个分布式版本控制系统,常用于代码管理和协作开发)
  • (可选)用于扩展速率限制的 Hugging Face API 令牌

安装

git clone https://github.com/amannpy/devpilot-mcp.git
cd devpilot-mcp
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env

然后编辑 .env 并根据需要设置您的配置值。

运行服务器

python src/server.py

要试用演示脚本:

python demo.py

使用示例

示例1:代码审查

{
  "tool": "review_pull_request",
  "arguments": {
    "pr_content": "def calculate(a, b): return a + b",
    "language": "python"
  }
}

示例2:错误检测

{
  "tool": "detect_bugs",
  "arguments": {
    "code_content": "query = 'SELECT * FROM users WHERE id = ' + user_id",
    "severity_filter": "critical"
  }
}

示例3:复杂度分析

{
  "tool": "analyze_complexity",
  "arguments": {
    "code_content": "def f():\n    for i in range(10):\n        if i % 2 == 0:\n            print(i)"
  }
}

配置

环境变量

示例 .env:

HUGGINGFACE_API_TOKEN=hf_xxxxxxxxxxxxxx
LOG_LEVEL=INFO
MCP_SERVER_NAME=intelligent-dev-workflow
MAX_FILE_SIZE=100000
MAX_COMPLEXITY_SCORE=10.0

高级设置

编辑 src/config.py 进行定制:

  • 模型路径和API
  • 缓存策略和过期时间
  • 日志记录和详细程度
  • 复杂性阈值

测试

运行所有测试用例:

pytest -v

包含以下内容:

pytest --cov=src --cov-report=html

单个测试文件:

pytest tests/test_server.py -v

使用 mypy 进行类型检查:

mypy src/ --ignore-missing-imports

使用 ruff 进行代码检查:

ruff check
ruff check --fix  # Auto-fix issues

MCP集成

MCP客户端的示例配置:

{
  "mcpServers": {
    "intelligent-dev-workflow": {
      "command": "python",
      "args": ["src/server.py"],
      "env": {
        "HUGGINGFACE_API_TOKEN": "your_token_here"
      }
    }
  }
}

可用工具

工具名称 描述 输入参数
review_pull_request AI 代码审查 pr_content, language
generate_documentation 创建文档 code_content, doc_style
detect_bugs 检测漏洞 code_content, severity_filter
analyze_complexity 分析复杂性 code_content
generate_tests 生成单元测试 code_content, test_framework

性能与设计

  • 缓存具有可配置TTL的内存缓存
  • 异步处理使用 asyncio 实现非阻塞异步 I/O
  • 速率限制API使用自适应限速
  • 记录日志结构化JSON和控制台日志记录选项

发展指南

  • 遵循PEP 8编码规范
  • 全程使用类型提示(与mypy兼容)
  • 包括所有核心模块的单元测试
  • 文档齐全的模块化架构

贡献:

git checkout -b feature/your-feature
git commit -m "Add new feature"
git push origin feature/your-feature

然后提交一个拉取请求。


许可证

根据MIT许可证授权。


联系

  • GitHub Issues(GitHub问题): 打开一个问题(或议题)
  • 讨论: 加入讨论
  • 电子邮件aman.kumar.cse2611@gmail.com(这个邮箱地址本身在中文语境下无需翻译,但若要说明其含义,可以表述为:“这是邮箱地址 aman.kumar.cse2611@gmail.com”)

路线图

  • [ ] GitHub Actions CI/CD 功能增强
  • [ ] VS Code与JetBrains插件集成
  • [ ] 实时网页仪表盘
  • [ ] 扩展多语言模型支持
  • [ ] SaaS 部署模板

专为寻求将人工智能智能融入其工作流程的现代开发者而开发。