Token导航 LogoToken导航TokenDH.com
Code Analysis Context Python MCP logo
开发工具stdio官方级别未说明来源级核验

Code Analysis Context Python MCP

MCP Server

一个专为Python项目设计的代码分析服务,提供架构分析、模式检测、依赖映射、测试覆盖率分析和AI优化的上下文生成功能,特别适用于数据分析和科学计算项目。

工具数

6

提示词数

0

GitHub Stars

1

资源数

0
代码分析Python机器学习

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

andreahaku

提供方

andreahaku

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -e .

详细介绍

代码分析与上下文工程MCP-Python版

一个复杂的模型上下文协议(MCP)服务器,为Python项目提供深入的代码库理解,重点是数据分析框架和科学计算。

🎯 概述

这个MCP服务器是专门为Python项目设计的,特别是那些使用数据分析和科学计算库的项目。它提供架构分析、模式检测、依赖关系映射、测试覆盖率分析和AI优化的上下文生成。

✨ 特性

  • 🏗️ 体系结构分析:全面的架构概述,包括模块关系、类层次结构和数据流模式
  • 🔍 模式检测:确定数据分析模式、最佳实践和反模式
  • 📊 依赖关系映射:可视化模块依赖关系,检测循环依赖关系,分析耦合
  • 🧪 覆盖率分析:根据复杂性查找具有可操作测试建议的未经测试的代码
  • ✅ 公约验证:验证是否遵守PEP 8和项目特定的编码惯例
  • 🤖 上下文生成:构建尊重令牌限制和最大化相关性的最佳AI上下文包

🐍 支持的框架和库

数据分析与科学计算

  • 熊猫 -DataFrame操作、数据转换、聚合
  • 数值Python -数组操作、数学运算、广播
  • Scikit学习 -ML管道、模型训练、特征工程
  • Matplotlib/Seaborn -可视化模式、绘图类型
  • Jupyter 笔记本 -笔记本结构、细胞分析

web框架

  • 快速API -异步端点、依赖注入、Pydantic模型
  • 姜戈 -模型、视图、ORM模式、中间件
  • 烧瓶 -路线、蓝图、装饰师

测试框架

  • Pytest -测试发现、夹具、参数化
  • 单位测试 -测试用例、模拟、断言

📦 安装

先决条件

  • Python 3.10或更高版本
  • pip或诗意的包装管理

从源代码安装

git clone https://github.com/andreahaku/code-analysis-context-python-mcp.git
cd code-analysis-context-python-mcp
pip install -e .

开发安装

pip install -e ".[dev]"

🚀 用法

作为MCP服务器

添加到MCP客户端配置中:

{
  "mcpServers": {
    "code-analysis-python": {
      "command": "python",
      "args": ["-m", "src.server"]
    }
  }
}

或者使用已安装的脚本:

{
  "mcpServers": {
    "code-analysis-python": {
      "command": "code-analysis-python-mcp"
    }
  }
}

💬 示例用法

在LLM客户端中配置为MCP服务器后,您可以使用自然语言提示:

分析数据科学项目

*“分析我的pandas项目的架构,并向我展示复杂性指标”*

这将调用 arch 具有适当参数的工具,用于:

  • 检测pandas框架的使用情况
  • 计算所有Python文件的复杂性
  • 显示模块结构和类层次结构
  • 识别需要重构的高复杂度函数

*“查找我项目中的所有DataFrame操作,并检查它们是否遵循最佳实践”*

这将使用 patterns 工具用于:

  • 检测DataFrame链接、分组、合并操作
  • 与熊猫的最佳实践进行比较
  • 建议优化(例如,矢量化而不是循环)

查找代码问题

*“检查我的项目是否存在循环依赖关系,并向我显示依赖关系图”*

使用 deps 工具用于:

  • 使用NetworkX构建导入图
  • 检测任何循环导入周期
  • 计算耦合/内聚度量
  • 生成Mermaid依赖关系图

*“我的项目中哪些文件没有测试覆盖率,并且对测试最为关键?”*

coverage 工具将:

  • 解析coverage.xml或.coverage文件
  • 根据复杂性和文件位置确定差距的优先级
  • 为关键文件生成pytest测试支架
  • 显示具有复杂性分数的未经测试的函数

代码质量

*“验证我的项目是否遵循PEP 8惯例,并显示命名违规”*

conventions 工具将:

  • 检查snake_case、PascalCase、UPPER_snake_case命名
  • 验证导入分组和排序
  • 检查是否缺少文档字符串和类型提示
  • 按类别报告一致性得分

人工智能辅助开发

*“生成一个上下文包,用于向我的pandas DataFrame处理管道添加数据验证”*

context 工具将:

  • 提取关键字(“数据验证”、“pandas”、“DataFrame”)
  • 根据与任务的相关性对文件进行评分
  • 在代币预算内选择最相关的文件
  • 使用代码片段和建议格式化为markdown

🛠️ 可用工具

1. arch -架构分析

分析Python项目的架构和结构。

{
  "path": "/path/to/project",
  "depth": "d",
  "types": ["mod", "class", "func", "api"],
  "diagrams": true,
  "metrics": true,
  "details": true,
  "minCx": 10,
  "maxFiles": 50
}

参数:

  • path:项目根目录
  • depth:分析深度-“o”(概述)、“d”(详细)、“x”(深度)
  • types:分析类型-模块、类、函数、api、模型、视图、笔记本、管道、数据流
  • diagrams:生成美人鱼图
  • metrics:包括代码度量
  • details:每个文件的详细指标
  • minCx:过滤的最小复杂度阈值
  • maxFiles:详细输出中的最大文件数
  • memSuggest:为llm内存MCP生成内存建议
  • fw:强制框架检测-pandas、numpy、sklearn、fastapi、django、flask、jupyter

检测:

  • 模块结构和组织
  • 类层次结构和继承模式
  • 函数定义和装饰器
  • API端点(FastAPI/Django/Flask)
  • 数据模型和Pydantic模式
  • Jupyter笔记本结构
  • 数据处理管道

2. deps -依赖性分析

分析模块依赖关系和导入。

{
  "path": "/path/to/project",
  "circular": true,
  "metrics": true,
  "diagram": true,
  "focus": "src/models",
  "depth": 3
}

参数:

  • path:项目根目录
  • circular:检测循环依赖关系
  • metrics:计算耦合/内聚度量
  • diagram:生成Mermaid依赖关系图
  • focus:专注于特定模块
  • depth:要遍历的最大依赖深度
  • external:包括站点包依赖关系

特征:

  • 导入图构造
  • 循环路径循环依赖检测
  • 耦合和内聚度量
  • 依赖热点(中心和瓶颈)
  • 模块分类(公用事业、服务、型号等)

3. patterns -模式检测

检测数据分析和编码模式。

{
  "path": "/path/to/project",
  "types": ["dataframe", "array", "pipeline", "model", "viz"],
  "custom": true,
  "best": true,
  "suggest": true
}

参数:

  • path:项目根目录
  • types:要检测的图案类型

- dataframe:Pandas DataFrame操作 - array:NumPy数组操作 - pipeline:Scikit学习管道 - model:ML模型训练模式 - viz:Matplotlib/Seaborn可视化 - api:FastAPI/Dango/Flask端点 - orm:Django ORM模式 - async:异步/等待模式 - decorator:定制装饰师 - context:上下文管理器

  • custom:检测自定义图案
  • best:与最佳实践进行比较
  • suggest:生成改进建议

检测到的模式:

  • 熊猫:DataFrame链接、分组操作、合并策略
  • 数值Python:广播、矢量化、阵列创建模式
  • Scikit学习:管道、变压器、模型培训
  • 可视化:绘图类型、图形管理、样式模式
  • API:端点模式、请求/响应模型、中间件
  • 异步:异步函数、协程、事件循环
  • 测试:夹具、模拟、参数化

4. coverage -测试覆盖率分析

分析测试覆盖率并生成测试建议。

{
  "path": "/path/to/project",
  "report": ".coverage",
  "fw": "pytest",
  "threshold": {
    "lines": 80,
    "functions": 80,
    "branches": 75
  },
  "priority": "high",
  "tests": true,
  "cx": true
}

参数:

  • path:项目根目录
  • report:覆盖率报告路径(.Coverage、Coverage.xml)
  • fw:测试框架-pytest、unittest、nose
  • threshold:覆盖阈值
  • priority:过滤器优先级-crit、high、med、low、all
  • tests:生成测试支架
  • cx:分析复杂性以确定优先级

特征:

  • 解析coverage.py报告
  • 识别未经测试的模块和功能
  • 基于复杂性的优先级排序
  • 测试支架生成(pytest/unittest)
  • 特定于框架的测试模式

5. conventions -公约验证

验证PEP 8和编码约定。

{
  "path": "/path/to/project",
  "auto": true,
  "severity": "warn",
  "rules": {
    "naming": {
      "functions": "snake_case",
      "classes": "PascalCase"
    }
  }
}

参数:

  • path:项目根目录
  • auto:自动检测项目约定
  • severity:最低严重性-错误、警告、信息
  • rules:自定义惯例规则

检查:

  • PEP 8合规性
  • 命名约定(snake_case、PascalCase、UPPER_case)
  • 导入排序和分组
  • 文档字符串存在
  • 类型提示用法
  • 行长度和格式

6. context -上下文包生成

生成AI优化的上下文包。

{
  "task": "Add data preprocessing pipeline with pandas",
  "path": "/path/to/project",
  "tokens": 50000,
  "include": ["files", "arch", "patterns"],
  "focus": ["src/preprocessing", "src/models"],
  "format": "md",
  "lineNums": true,
  "strategy": "rel"
}

参数:

  • task:任务描述(必填)
  • path:项目根目录
  • tokens:代币预算(默认值:50000)
  • include:内容类型-文件、deps、测试、类型、arch、conv、笔记本
  • focus:优先文件/目录
  • history:包括git历史记录
  • format:输出格式-md、json、xml
  • lineNums:包括行号
  • strategy:优化策略-相对(相关性)、宽(广度)、深(深度)

特征:

  • 基于任务的文件相关性评分
  • 代币预算管理
  • 多种输出格式
  • 建筑背景包含
  • 依赖遍历

📝 配置

创建一个 .code-analysis.json 项目根目录中的文件:

{
  "project": {
    "name": "MyDataProject",
    "type": "pandas"
  },
  "analysis": {
    "includeGlobs": ["src/**/*.py", "notebooks/**/*.ipynb"],
    "excludeGlobs": ["**/test_*.py", "**/__pycache__/**", "**/venv/**"]
  },
  "conventions": {
    "naming": {
      "functions": "snake_case",
      "classes": "PascalCase",
      "constants": "UPPER_SNAKE_CASE"
    },
    "imports": {
      "order": ["stdlib", "third_party", "local"],
      "grouping": true
    }
  },
  "coverage": {
    "threshold": {
      "lines": 80,
      "functions": 80,
      "branches": 75
    }
  }
}

🔧 发展

项目结构

code-analysis-context-python-mcp/
├── src/
│   ├── __init__.py
│   ├── server.py              # MCP server entry point
│   ├── tools/                 # Tool implementations
│   │   ├── architecture_analyzer.py
│   │   ├── pattern_detector.py
│   │   ├── dependency_mapper.py
│   │   ├── coverage_analyzer.py
│   │   ├── convention_validator.py
│   │   └── context_pack_generator.py
│   ├── analyzers/             # Framework-specific analyzers
│   ├── utils/                 # Utilities (AST, complexity, etc.)
│   └── types/                 # Type definitions
├── tests/                     # Test suite
├── pyproject.toml
└── README.md

运行测试

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

代码质量

# Format code
black src tests
isort src tests

# Lint
flake8 src tests

# Type checking
mypy src

🎯 实施状态

✅ 所有功能完成!

核心工具(100%完成)

  • 架构分析器 -AST解析、复杂性度量、框架检测、Mermaid图
  • 模式检测器 -DataFrame/array/ML模式、异步/装饰器、反模式、最佳实践
  • 依赖映射器 -导入图形、循环检测、耦合度量、热点
  • 覆盖率分析仪 -Coverage.py集成、测试支架、基于复杂性的优先级
  • 公约验证器 -PEP 8检查、命名约定、文档字符串、自动检测
  • 上下文包生成器 -基于任务的相关性、代币预算、多种格式、人工智能优化

公用设施(100%完成)

  • ✅ AST解析器-类、函数、导入、复杂性
  • ✅ 复杂性分析器-氡集成、可维护性指标
  • ✅ 文件扫描仪-球形图案,智能过滤
  • ✅ 框架检测器-14+框架,模式匹配
  • ✅ 图表生成器-Mermaid架构和依赖关系图

特性

  • ✅ 循环路径循环依赖检测
  • ✅ 用于持久上下文的LLM内存集成
  • ✅ 测试支架生成(pytest/unittest)
  • ✅ 多格式输出(JSON、Markdown、XML)
  • ✅ AI工具的代币预算管理
  • ✅ 基于复杂性的优先级排序
  • ✅ 美人鱼图生成

🤝 贡献

欢迎投稿!请随时提交拉取请求。

📄 许可证

麻省理工学院

👨‍💻 作者

安德烈·萨尔瓦托(@andreahaku)与克劳德(Anthropic)

🔗 相关项目

🧪 测试

测试此项目本身的所有工具:

python3 test_tools.py

这将运行所有6个工具并显示:

  • 项目架构和复杂性度量
  • 模式检测(异步、装饰器、上下文管理器)
  • 依赖图和耦合度量
  • 优先事项的覆盖差距
  • 违反公约和一致性得分
  • AI上下文包生成

📊 输出示例

在此项目上运行工具显示:

  • 18个模块, 9个班级, 61功能, 3787行代码
  • 检测到38个图案 (17个异步函数,21个装饰器)
  • 0循环依赖关系 -干净的建筑!
  • 0%测试覆盖率 -需要测试(演示覆盖工具)
  • 高复杂性 (平均36.8)-确定重构目标
  • 100%命名一致性 -遵循PEP 8

______________________________________________________________________

状态: ✅ 生产就绪 -所有6个工具均已完全实施和测试

Python版本: 3.10+

代码行数: 3,787 测试覆盖率:功能(通过test_tools.py进行集成测试) 代码质量:高一致性,遵循PEP 8

目录标签

目录标签

代码分析Python机器学习本地部署Python开发数据科学测试覆盖率

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

6

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP