使用说明

项目简介

本项目 'mcp_server_code_checker_python' 是一个基于 Model Context Protocol (MCP) 构建的服务器端应用。它旨在为 LLM(大型语言模型)客户端提供代码质量检查服务。通过集成 Pylint 和 Pytest 工具,该服务器能够对指定的 Python 项目进行静态代码分析和单元测试,并将结果以结构化的方式返回给 LLM 客户端,从而帮助 LLM 更好地理解和处理代码上下文,辅助代码生成、调试和优化等任务。

主要功能点

  • Pylint 代码静态分析: 使用 Pylint 工具对 Python 代码进行全面的静态分析,检测代码中的潜在错误、风格问题和复杂度等,帮助提高代码质量和可维护性。
  • Pytest 单元测试执行: 集成 Pytest 单元测试框架,能够自动发现和执行项目中的单元测试用例,并返回详细的测试报告,用于验证代码的功能正确性。
  • 组合代码检查: 支持同时运行 Pylint 和 Pytest 检查,并汇总结果,提供全面的代码质量评估报告。
  • MCP 协议标准接口: 遵循 MCP 协议规范,通过 JSON-RPC 协议与 LLM 客户端进行通信,提供标准化的工具调用接口和数据响应格式。
  • 易于扩展和集成: 基于 FastMCP 框架构建,易于扩展新的代码检查工具或功能,方便集成到现有的 LLM 应用生态系统中。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/MarcusJellinghaus/mcp_server_code_checker_python.git
    cd mcp_server_code_checker_python
  2. 创建并激活虚拟环境 (推荐):

    python3 -m venv venv
    source venv/bin/activate  # 或 venv\Scripts\activate (Windows)
  3. 安装依赖 (如果项目有 requirements.txt): (注意: 仓库中没有 requirements.txt 文件,根据代码推测可能需要手动安装 'mcp-server' 和其他依赖,请根据实际情况安装)

    # 例如:
    pip install mcp-server pylint pytest pytest-json-report

服务器配置 (MCP 客户端配置)

以下 JSON 配置信息用于 MCP 客户端与 '代码质量检查 MCP 服务器' 建立连接。客户端需要配置 'command' 和 'args' 来启动服务器进程。

{
  "serverName": "code_checker",  // MCP 服务器名称,客户端用于识别和调用
  "command": "python",         // 启动服务器的命令,这里使用 python 解释器
  "args": [                    // 启动命令的参数列表
    "src/main.py",            // 服务器主程序入口脚本路径
    "--project-dir",          // 指定项目目录的参数
    "/path/to/your/project"  // 实际的项目根目录路径,需要替换为用户想要检查代码的项目路径
  ]
}

配置参数说明:

  • '"serverName"': 服务器的名称,客户端通过此名称来识别和调用该服务。可以自定义,建议使用易于理解的名称,例如 "code_checker"。
  • '"command"': 启动服务器进程的命令。由于服务器是 Python 应用,这里通常设置为 '"python"' 或 '"python3"',确保系统环境变量中 Python 解释器可用。
  • '"args"': 一个字符串数组,包含了传递给启动命令的参数。
    • '"src/main.py"': 指定服务器主程序的入口文件路径。请确保路径相对于 MCP 客户端的工作目录是正确的,或者使用绝对路径。
    • '"--project-dir"': 服务器程序接收的参数,用于指定需要进行代码检查的项目根目录。
    • '"/path/to/your/project"': 占位符,需要替换为实际的项目根目录的绝对路径。 MCP 服务器将基于此目录进行 Pylint 和 Pytest 代码检查。

注意: MCP 客户端需要根据实际情况修改 'args' 数组中的 '"/path/to/your/project"' 为要分析的 Python 项目的绝对路径。

基本使用方法

  1. 启动 MCP 服务器: 在配置好 MCP 客户端后,客户端会根据上述配置启动 '代码质量检查 MCP 服务器'。
  2. 客户端调用工具: LLM 客户端可以通过 JSON-RPC 协议向服务器发送请求,调用服务器注册的工具,例如:
    • 'run_pylint_check': 运行 Pylint 代码静态分析。
    • 'run_pytest_check': 运行 Pytest 单元测试。
    • 'run_all_checks': 同时运行 Pylint 和 Pytest 检查。
  3. 获取检查结果: 服务器执行相应的代码检查工具后,会将结构化的结果(例如 Pylint 的检查报告、Pytest 的测试报告)通过 JSON-RPC 响应返回给 LLM 客户端。客户端可以解析这些结果,并根据需要进行后续处理,例如向用户展示代码质量报告、根据错误信息进行代码修复建议等。

示例调用 (伪代码,仅供理解):

# 假设 MCP 客户端已经连接到服务器
response = client.call_tool("code_checker", "run_pylint_check", {}) # 调用 Pylint 检查工具
pylint_results = response.result # 获取 Pylint 检查结果

response = client.call_tool("code_checker", "run_pytest_check", {}) # 调用 Pytest 检查工具
pytest_results = response.result # 获取 Pytest 测试结果

response = client.call_tool("code_checker", "run_all_checks", {}) # 调用全部检查工具
all_checks_results = response.result # 获取综合检查结果

详细的 API 调用方法和数据格式请参考 MCP 协议和 'mcp-server' 库的文档。

信息

分类

开发者工具