项目简介
MCP Code Analyzer 是一个基于 Model Context Protocol (MCP) 构建的代码分析工具,旨在与 Claude Desktop 等 MCP 客户端集成,为开发者提供强大的代码理解和辅助功能。它能够深入分析代码项目,提供项目结构、代码质量、依赖关系等关键信息,并支持代码的修改和版本管理,帮助开发者更智能地进行代码维护和演进。
主要功能点
- 项目级分析:
- 分析项目整体结构,以 XML 树形格式呈现,方便理解项目的文件组织。
- 统计项目文件数量、大小、不同类型文件分布等信息,帮助开发者快速了解项目概况。
- 检测项目使用的技术栈,例如编程语言、框架和库,辅助技术选型和项目维护。
- 代码级分析:
- 深入分析代码文件的结构,包括类、函数、模块及其相互关系。
- 识别代码中的导入语句,分析项目依赖关系,并能检测潜在的循环依赖。
- 检查代码的语法,并提供代码风格、安全性和复杂度的校验功能,提升代码质量。
- 文件操作:
- 提供基础的文件分析功能,例如获取文件大小、类型、修改时间等元数据。
- 支持文件的创建和内容修改,方便与 Claude Desktop 等客户端协同进行代码编辑。
- 实现流式文件操作,支持处理大型文件。
- 代码修改:
- 提供代码修改工具,允许客户端安全地修改代码内容。
- 在代码修改前进行影响分析,预估修改可能波及的代码范围,降低修改风险。
- 支持代码修改的版本控制,方便代码回溯和变更管理。
- 代码搜索:
- 支持多种文件和内容搜索方式,包括文件名、路径、Glob 模式和正则表达式,快速定位代码。
- 提供基于内容的深度搜索,支持文本匹配、正则表达式搜索和相似内容查找。
安装步骤
-
克隆仓库
git clone https://github.com/emiryasar/mcp_code_analyzer.git cd mcp_code_analyzer -
安装 Python 依赖
确保你的 Python 版本为 3.10 或更高,然后运行以下命令安装项目依赖:
pip install -e .
服务器配置
要将 MCP Code Analyzer 集成到 MCP 客户端(例如 Claude Desktop),你需要配置客户端的配置文件,指定 MCP 服务器的启动命令和参数。以下是针对 Claude Desktop 的配置示例,你需要编辑 'claude_desktop_config.json' 文件(通常位于 '%AppData%\Claude' 目录):
{ "mcpServers": { "code-analyzer": { "command": "python", "args": [ "-m", "mcp_code_analyzer", "--analyze-paths", "your_project_path" // 将 "your_project_path" 替换为要分析的项目路径,例如 "C:\\Projects\\my_project" 或 "/home/user/my_project" ], "type": "module" } } }
配置参数说明:
- '"code-analyzer"': MCP 服务器的名称,可以自定义,用于在客户端中标识该服务器。
- '"command": "python"': 启动 MCP 服务器的命令,这里使用 'python' 命令来执行 Python 模块。
- '"args"': 传递给 'python' 命令的参数列表:
- '"-m"': 以模块方式运行 Python 程序。
- '"mcp_code_analyzer"': 要运行的 Python 模块名,对应项目的入口模块。
- '"--analyze-paths"': 指定要分析的代码项目路径的参数。
- '"your_project_path"': 需要替换为实际的代码项目路径,MCP 服务器启动后将分析此路径下的代码。可以使用绝对路径或相对路径。
基本使用方法
配置完成后,MCP 客户端(如 Claude Desktop)将能够连接到 MCP Code Analyzer 服务器。你可以通过客户端提供的界面或指令来调用服务器提供的各种工具,例如:
- 使用 '@code-analyzer analyze_project_structure path=your_project_path' 命令,分析指定项目路径的结构。
- 使用 '@code-analyzer analyze_file path=path/to/your/codefile.py' 命令,分析指定代码文件的内容和质量。
- 使用 '@code-analyzer search_content path=your_project_path text="your_search_text"' 命令,在指定项目路径中搜索包含特定文本的内容。
具体工具的使用方法和参数,请参考 Claude Desktop 或其他 MCP 客户端的文档,以及 MCP Code Analyzer 项目的详细文档或工具列表。
注意:
- 首次使用或分析大型项目时,代码分析可能需要一些时间,请耐心等待。
- 部分代码修改功能具有潜在风险,请务必备份代码后再进行操作。
- 仓库 README.md 中提到项目尚在开发中,可能存在 Bug 或功能不完善的情况,使用时请注意风险。
信息
分类
开发者工具