mcpField
M
mcp-server-analyzer

mcp-server-analyzer

本地服务
github.com/Anselmoo开发工具118 周前更新

关于 mcp-server-analyzer

mcp-server-analyzer 向 MCP 客户端提供 Python、JavaScript 和 TypeScript 代码质量分析工具,涵盖 lint、格式化、类型检查、死代码检测及综合评估。代码仅临时分析,不会在调用之间留存。

主要功能

  1. 01使用 Ruff 检查和格式化 Python
  2. 02使用 ty 进行类型检查和诊断
  3. 03使用 Vulture 检测未使用代码
  4. 04使用 Biome 检查和格式化 JS/TS
  5. 05综合分析与质量评分
  6. 06临时内存代码分析

适用场景

  1. 01检查 Python 风格问题和类型错误
  2. 02查找未使用的导入和函数
  3. 03检查或格式化 JavaScript、TypeScript
  4. 04执行综合代码质量审查

MCP 相关

该 MCP 服务向连接的 MCP 客户端提供单项及综合分析工具,包括 ruff-check、ty-check、vulture-scan、biome-check 和 analyze-code。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"anselmoo-mcp-server-analyzer": {
"command": "uvx",
"args": [
"mcp-server-analyzer"
]
}
}
}
启动命令uvx mcp-server-analyzer

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypimcp-server-analyzer0.4.1
ocighcr.io/anselmoo/mcp-server-analyzer:0.4.1

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Python MCP 服务分析器 🐍🔍

SafeSkill 92/100

CI/CD 流水线 PyPI 版本 Python 3.13+ Docker 许可证:MIT 代码覆盖率 AgentSeal MCP 文档

一款功能强大的 Model Context Protocol (MCP) 服务,使用 Ruff 进行代码检查、使用 ty 进行类型检查,并使用 Vulture 检测无用代码,提供全面的 Python 代码分析。非常适合 AI 助手、IDE 和自动化代码审查工作流。

🚀 快速开始

VS Code 集成(一键安装)

如需快速安装,请使用下方的一键安装按钮之一……

在 VS Code 中使用 UV 安装 在 VS Code Insiders 中使用 UV 安装

在 VS Code 中使用 Docker 安装 在 VS Code Insiders 中使用 Docker 安装

如需手动安装,请将以下 JSON 代码块添加到 VS Code 的用户设置(JSON)文件中。按下 Ctrl + Shift + P 并输入 Preferences: Open User Settings (JSON) 即可完成操作。

也可以将其添加到工作区中名为 .vscode/mcp.json 的文件里。这样便可以与他人共享配置。

请注意,使用 mcp.json 文件时需要 mcp 键。

使用 uvx(推荐):

{
  "mcp": {
    "servers": {
      "analyzer": {
        "command": "uvx",
        "args": ["mcp-server-analyzer"]
      }
    }
  }
}

使用 Docker:

{
  "mcp": {
    "servers": {
      "analyzer": {
        "command": "docker",
        "args": ["run", "-i", "--rm", "ghcr.io/anselmoo/mcp-server-analyzer"]
      }
    }
  }
}
通用安装
# Install with uvx (recommended)
uvx install mcp-server-analyzer

# Install with pip
pip install mcp-server-analyzer

# Run with Docker
docker run ghcr.io/anselmoo/mcp-server-analyzer:latest

# Install from source
git clone https://github.com/anselmoo/mcp-server-analyzer.git
cd mcp-server-analyzer
uv sync --dev
uv run mcp-server-analyzer

📋 功能

  • 🔍 RUFF 分析:全面的 Python lint 检查,并支持自动修复
  • 🧠 ty 类型检查:快速分析 Python 类型,并提供基于规则的诊断
  • 🧹 死代码检测:使用 VULTURE 查找未使用的导入、函数和变量
  • ⚡ Biome JS/TS 分析:快速检查和格式化 JavaScript 与 TypeScript 代码
  • 📊 质量评分:结合多项分析,提供质量指标
  • 🚀 FastMCP 框架:高性能 MCP 服务实现
  • 🐳 支持 Docker:多架构容器,并采用安全签名
  • 🔒 安全:所有版本均使用 Sigstore 签名,保障供应链安全

📈 分析示例

RUFF lint 检查预览

查看全面的 lint 检查分析示例:📋 RUFF 分析预览

VULTURE 死代码检测预览

了解死代码检测功能:🧹 VULTURE 分析预览

🛠️ 可用工具

工具描述使用场景
ruff-check使用 RUFF 检查 Python 代码风格违规、潜在错误
ruff-format使用 RUFF 格式化 Python 代码代码格式化与一致性
ruff-check-ci针对 CI/CD 优化的 RUFF 输出GitHub Actions、GitLab CI
ty-check使用 ty 对 Python 代码进行类型检查类型安全、返回值错误
vulture-scan检测死代码未使用的导入、函数、变量
biome-check使用 Biome 检查 JS/TS 代码风格违规、潜在错误
biome-format使用 Biome 格式化 JS/TS 代码代码格式化与一致性
analyze-code结合 Ruff、ty 和 Vulture 进行分析全面的代码质量评估

🔧 配置

Claude Desktop

将以下内容添加到 claude_desktop_config.json:

{
  "mcpServers": {
    "analyzer": {
      "command": "uvx",
      "args": ["mcp-server-analyzer"]
    }
  }
}
Zed

将以下内容添加到 Zed 的 settings.json:

"context_servers": {
  "analyzer": {
    "command": "uvx",
    "args": ["mcp-server-analyzer"]
  }
}
Claude Code(项目级)

将 .mcp.json 放在项目根目录:

{
  "mcpServers": {
    "analyzer": {
      "command": "uvx",
      "args": ["mcp-server-analyzer"]
    }
  }
}

🧪 开发

先决条件
  • Python 3.13+
  • uv(推荐)或 pip
  • Node.js 22+(用于 Biome JS/TS 分析)
  • Docker(可选)
设置
# Clone repository
git clone https://github.com/anselmoo/mcp-server-analyzer.git
cd mcp-server-analyzer

# Install Python dependencies
uv sync --dev

# Install Biome (JS/TS analyzer)
npm ci

# Run tests
uv run pytest

# Run type checks
uv run ty check src tests

# Run pre-commit hooks
uv tool run pre-commit run --all-files

# Build Docker image
docker build -t mcp-server-analyzer .
测试
# Run all tests
uv run pytest tests/ -v

# Run with coverage
uv run pytest --cov=src/mcp_server_analyzer --cov-report=html

# Test specific functionality
uv run pytest tests/test_server.py::TestAnalyzers::test_ruff_with_sample_code

📊 质量指标

该服务根据以下内容提供质量评分:

  • Ruff 问题:风格违规、潜在错误、复杂度指标
  • ty 诊断:静态类型错误和警告
  • 死代码检测:未使用的导入、函数和变量
  • 综合评分:加权质量评估(0-100)

🔒 安全

  • 签名版本:所有版本均使用 Sigstore 签名
  • 容器签名:Docker 镜像使用 Cosign 签名
  • 可信发布:PyPI 版本使用 GitHub OIDC 可信发布
  • 漏洞扫描:在 CI/CD 中自动进行安全扫描
  • 供应链安全:符合 SLSA Build Level 3 标准
  • 安全策略:漏洞报告请参阅 SECURITY.md

🔍 数据处理与透明度

  • 仅在内存中处理:传递给工具的代码会写入临时文件,分析完成后立即删除——调用之间不会保留任何数据。
  • 不进行网络调用:分析期间,服务不会建立任何出站网络连接。
  • 无遥测数据:不会收集使用数据、分析数据或崩溃报告。
  • 子进程隔离:ruff、ty 和 vulture 使用固定的参数列表调用——不会进行 shell 展开或执行任意命令。

📚 文档

🤝 参与贡献

欢迎贡献!详情请参阅 CONTRIBUTING.md。

  1. Fork 此仓库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 使用 Conventional Commits 提交更改
  4. 推送到分支(git push origin feature/amazing-feature)
  5. 提交 Pull Request

📝 许可证

本项目采用 MIT 许可证授权,详情请参阅 LICENSE 文件。

🙏 致谢


为提升 Python 代码质量而用心打造 ❤️

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。