项目简介

MCP Code Analyzer 是一个基于 Model Context Protocol (MCP) 构建的代码分析工具,旨在与 Claude Desktop 等 MCP 客户端集成,为开发者提供强大的代码理解和辅助功能。它能够深入分析代码项目,提供项目结构、代码质量、依赖关系等关键信息,并支持代码的修改和版本管理,帮助开发者更智能地进行代码维护和演进。

主要功能点

  • 项目级分析
    • 分析项目整体结构,以 XML 树形格式呈现,方便理解项目的文件组织。
    • 统计项目文件数量、大小、不同类型文件分布等信息,帮助开发者快速了解项目概况。
    • 检测项目使用的技术栈,例如编程语言、框架和库,辅助技术选型和项目维护。
  • 代码级分析
    • 深入分析代码文件的结构,包括类、函数、模块及其相互关系。
    • 识别代码中的导入语句,分析项目依赖关系,并能检测潜在的循环依赖。
    • 检查代码的语法,并提供代码风格、安全性和复杂度的校验功能,提升代码质量。
  • 文件操作
    • 提供基础的文件分析功能,例如获取文件大小、类型、修改时间等元数据。
    • 支持文件的创建和内容修改,方便与 Claude Desktop 等客户端协同进行代码编辑。
    • 实现流式文件操作,支持处理大型文件。
  • 代码修改
    • 提供代码修改工具,允许客户端安全地修改代码内容。
    • 在代码修改前进行影响分析,预估修改可能波及的代码范围,降低修改风险。
    • 支持代码修改的版本控制,方便代码回溯和变更管理。
  • 代码搜索
    • 支持多种文件和内容搜索方式,包括文件名、路径、Glob 模式和正则表达式,快速定位代码。
    • 提供基于内容的深度搜索,支持文本匹配、正则表达式搜索和相似内容查找。

安装步骤

  1. 克隆仓库

    git clone https://github.com/emiryasar/mcp_code_analyzer.git
    cd mcp_code_analyzer
  2. 安装 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 或功能不完善的情况,使用时请注意风险。

信息

分类

开发者工具