项目简介

'tree-sitter-mcp' 是一个强大的代码分析工具,既可作为独立的命令行工具使用,也可作为Model Context Protocol (MCP) 服务器,为AI助手(如Claude Code)提供高级代码理解能力。它利用Tree-Sitter技术进行快速、语义化的代码解析,支持多种主流编程语言,能实现代码搜索、用法追踪、质量分析和语法错误检测等功能。

主要功能点

  • 语义化代码搜索: 快速查找函数、类、变量等代码元素,支持模糊匹配和类型过滤。
  • 代码用法追踪: 查找指定标识符在项目中的所有引用位置,提供详细上下文。
  • 代码质量分析: 全面评估代码复杂性、方法长度、参数数量,检测潜在的"坏味道"和架构问题。
  • 死代码检测: 识别未使用的文件、函数和变量,帮助清理项目。
  • 语法错误检查: 定位并提供详细上下文和修复建议的语法错误。
  • 多语言支持: 支持JavaScript、TypeScript、Python、Go、Rust、Java、C/C++、Ruby、C#、PHP、Kotlin、Scala、Elixir等多种语言。

安装步骤

'tree-sitter-mcp' 可以通过 npm 全局安装:

npm install -g @nendo/tree-sitter-mcp

服务器配置

作为MCP服务器,'tree-sitter-mcp' 需要配置到兼容的MCP客户端中。以下是将其配置到Claude Desktop(或其他MCP客户端)的示例,通常在客户端的配置文件(如'~/.config/claude-desktop/claude_desktop_config.json')中添加:

{
  "mcpServers": {
    "tree-sitter-mcp": {
      "command": "npx",
      "args": [
        "@nendo/tree-sitter-mcp",
        "--mcp"
      ],
      "cwd": "/path/to/your/project"
    }
  }
}
  • '"tree-sitter-mcp"': MCP服务器的唯一名称,客户端将用此名称引用该服务。
  • '"command": "npx"': 用于启动MCP服务器的命令。
  • '"args": ["@nendo/tree-sitter-mcp", "--mcp"]': 启动命令的参数。'--mcp' 参数指示 'tree-sitter-mcp' 以MCP服务器模式启动。
  • '"cwd": "/path/to/your/project"': MCP服务器运行的工作目录。请将其替换为您的项目根目录,以便服务器能够正确解析项目文件。

基本使用方法

配置完成后,MCP客户端将能通过以下工具与 'tree-sitter-mcp' 服务器交互:

  • 'search_code': 搜索代码元素。
    • 参数示例: '{ "query": "handleRequest", "types": ["function", "method"], "maxResults": 10, "directory": "/path/to/your/project" }'
  • 'find_usage': 查找标识符的用法。
    • 参数示例: '{ "identifier": "UserService", "exactMatch": true, "directory": "/path/to/your/project" }'
  • 'analyze_code': 分析代码质量、结构和死代码。
    • 参数示例: '{ "analysisTypes": ["quality", "deadcode", "structure"], "maxResults": 20, "directory": "/path/to/your/project" }'
  • 'check_errors': 查找语法错误。
    • 参数示例: '{ "pathPattern": "src/components", "maxResults": 50, "directory": "/path/to/your/project" }'

信息

分类

开发者工具