MCP Code Checker

MCP Code Checker

MCP服务器提供代码质量检查(pylint 和 pytest),并提供对 LLM 友好的智能提示,用于分析和修复。 使 Claude 和其他 AI 助手能够分析您的代码并提出改进建议。

MarcusJellinghaus

开发者工具
访问服务器

README

MCP 代码检查器

一个提供代码质量检查操作的模型上下文协议 (MCP) 服务器。该服务器提供一个 API,用于在指定的项目目录中执行代码质量检查,遵循 MCP 协议设计。

概述

此 MCP 服务器使 AI 助手(如 Claude(通过 Claude Desktop)或其他 MCP 兼容系统)能够对您的代码执行质量检查。借助这些功能,AI 助手可以:

  • 运行 pylint 检查以识别代码质量问题
  • 执行 pytest 以识别失败的测试
  • 为 LLM 生成智能提示,以解释问题并提出修复建议
  • 结合多个检查以进行全面的代码质量分析

所有操作都安全地包含在您指定的项目目录中,让您在控制的同时,能够利用强大的 AI 协作来改进代码质量。

通过将您的 AI 助手连接到您的代码检查工具,您可以改变您的调试工作流程 - 用自然语言描述您需要的内容,并让 AI 直接在您的项目文件中识别和修复问题。

特性

  • run_pylint_check: 在项目代码上运行 pylint,并为 LLM 生成智能提示
  • run_pytest_check: 在项目代码上运行 pytest,并为 LLM 生成智能提示
  • run_all_checks: 运行所有代码检查(pylint 和 pytest),并生成组合结果

Pylint 参数

pylint 工具公开以下参数以进行自定义:

参数 类型 默认值 描述
disable_codes list None 在分析期间要禁用的 pylint 错误代码列表

此外,run_all_checks 公开:

参数 类型 默认值 描述
pylint_categories set ERROR, FATAL 要包含的 pylint 消息类别集合(convention、refactor、warning、error、fatal)

Pytest 参数

run_pytest_checkrun_all_checks 都公开以下参数以进行自定义:

参数 类型 默认值 描述
test_folder string "tests" 相对于项目目录的测试文件夹路径
markers list None 用于过滤测试的可选 pytest 标记列表
verbosity integer 2 Pytest 详细程度级别 (0-3)
extra_args list None 可选的附加 pytest 参数列表
env_vars dictionary None 子进程的可选环境变量
keep_temp_files boolean False 是否在执行后保留临时文件
continue_on_collection_errors boolean True 是否在收集错误时继续
python_executable string None 用于运行测试的 Python 解释器路径
venv_path string None 用于运行测试的虚拟环境激活路径

安装

# 克隆仓库
git clone https://github.com/MarcusJellinghaus/mcp-code-checker.git
cd mcp-code-checker

# 创建并激活虚拟环境(可选但推荐)
python -m venv .venv
source .venv/bin/activate  # 在 Windows 上:.venv\Scripts\activate

# 安装依赖
pip install -e .

运行服务器

python -m src.main --project-dir /path/to/project [--python-executable /path/to/python] [--venv-path /path/to/venv]

服务器使用 FastMCP 进行操作。出于安全原因,项目目录参数 (--project-dir) 是必需的。所有代码检查操作都将限制在此目录中。

其他参数:

  • --python-executable: 用于运行测试的可选 Python 解释器路径
  • --venv-path: 用于运行测试的虚拟环境激活路径

与 Claude Desktop App 一起使用

要使 Claude 能够使用此代码检查服务器来分析您本地环境中的文件:

  1. 创建或修改 Claude 配置文件:

    • 位置:%APPDATA%\Claude\claude_desktop_config.json (在 Windows 上)
    • 在 macOS 上:~/Library/Application Support/Claude/claude_desktop_config.json
  2. 将 MCP 服务器配置添加到文件中:

{
    "mcpServers": {
        "code_checker": {
            "command": "C:\\path\\to\\mcp_code_checker\\.venv\\Scripts\\python.exe",
            "args": [                
                "C:\\path\\to\\mcp_code_checker\\src\\main.py",
                "--project-dir",
                "C:\\path\\to\\your\\project",
            "--python-executable",
            "C:\\path\\to\\python.exe",
            "--venv-path",
            "C:\\path\\to\\venv"
            ],
            "env": {
                "PYTHONPATH": "C:\\path\\to\\mcp_code_checker\\"
            }
        }
    }
}
  1. 将所有 C:\\path\\to\\ 实例替换为您的实际路径:

    • 指向您的 Python 虚拟环境
    • 将项目目录设置为您希望 Claude 检查的文件夹
    • 确保 PYTHONPATH 指向 mcp_code_checker 根文件夹
  2. 重新启动 Claude 桌面应用程序以应用更改

Claude 现在将能够分析您指定项目目录中的代码。

  1. 日志文件位置:
    • Windows: %APPDATA%\Claude\logs
    • 这些日志有助于解决 MCP 服务器连接问题

有关日志记录和故障排除的更多信息,请参阅 MCP 文档

使用 MCP Inspector

MCP Inspector 允许您调试和测试您的 MCP 服务器:

  1. 通过运行以下命令启动 MCP Inspector:
npx @modelcontextprotocol/inspector \
  uv \
  --directory C:\path\to\mcp_code_checker \
  run \
  src\main.py
  1. 在 MCP Inspector Web UI 中,配置以下内容:

    • Python 解释器:C:\path\to\mcp_code_checker\.venv\Scripts\python.exe
    • 参数:C:\path\to\mcp_code_checker\src\main.py --project-dir C:\path\to\your\project
    • 环境变量:
      • 名称:PYTHONPATH
      • 值:C:\path\to\mcp_code_checker\
  2. 这将启动服务器并提供一个调试界面来测试可用的工具。

可用工具

服务器公开以下 MCP 工具:

运行 Pylint 检查

  • 在项目代码上运行 pylint,并为 LLM 生成智能提示
  • 返回:一个字符串,包含 pylint 结果或 LLM 解释的提示
  • 帮助识别代码质量问题、样式问题和潜在错误
  • 可以使用参数自定义以禁用特定的 pylint 代码

运行 Pytest 检查

  • 在项目代码上运行 pytest,并为 LLM 生成智能提示
  • 返回:一个字符串,包含 pytest 结果或 LLM 解释的提示
  • 识别失败的测试并提供有关测试失败的详细信息
  • 可以使用参数自定义测试选择、环境和详细程度

运行所有检查

  • 运行所有代码检查(pylint 和 pytest)并生成组合结果
  • 返回:一个字符串,包含来自所有检查的结果和/或 LLM 提示
  • 通过单个操作提供对代码质量的全面分析
  • 支持 pylint 和 pytest 的自定义参数

安全特性

  • 所有检查都在指定的项目目录中执行
  • 代码执行仅限于项目中的 Python 测试文件
  • 结果经过格式化,便于人类和 LLM 解释

开发

在 Windows 上设置开发环境

REM 克隆仓库
git clone https://github.com/yourusername/mcp-code-checker.git
cd mcp-code-checker

REM 创建并激活虚拟环境
python -m venv .venv
.venv\Scripts\activate

REM 安装依赖
pip install -e .

REM 安装开发依赖
pip install -e ".[dev]"

使用 MCP Dev Tools 运行

# 设置 PYTHONPATH 并使用 mcp dev 运行服务器模块
set PYTHONPATH=. && mcp dev src/server.py

许可证

该项目已获得 MIT 许可证的许可 - 有关详细信息,请参阅 LICENSE 文件。

MIT 许可证是一个宽松的许可证,允许以最小的限制进行重用。它允许使用、复制、修改和分发,但需要适当的署名。

链接

推荐服务器

Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
MCP Package Docs Server

MCP Package Docs Server

促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。

精选
本地
TypeScript
Claude Code MCP

Claude Code MCP

一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。

精选
本地
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。

精选
本地
JavaScript
mermaid-mcp-server

mermaid-mcp-server

一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。

精选
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。

精选
TypeScript
Linear MCP Server

Linear MCP Server

一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。

精选
JavaScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Curri MCP Server

Curri MCP Server

通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。

官方
本地
JavaScript