Token导航 LogoToken导航

MCP Server · 开发工具

Code Analysis Context Python MCP

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

stdio官方级别未说明来源级核验工具 6
代码分析Python机器学习

快速开始

作者 / 组织
andreahaku
提供方
andreahaku

工具数量

6

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

1

仓库热度

收录来源

1 个

MCP World

选型结论

Code Analysis Context Python MCP 属于开发工具类 MCP Server,公开资料标注 6 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前先确认权限范围。

分类

开发工具

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

pip install -e .

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 对应的运行时,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 6 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

详细介绍

代码分析与上下文工程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

工具与能力

工具数量

6

资源数量

0

提示词数量

0

能力标签

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

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 只提供 6 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 运行环境,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Code Analysis Context Python MCP

MCP World · 本页

6stdio有1 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Code Analysis Context Python MCP 怎么安装?

公开资料给出的安装命令是 pip install -e .,运行环境为 未标注。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Code Analysis Context Python MCP 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Code Analysis Context Python MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Code Analysis Context Python MCP 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Code Analysis Context Python MCP 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP