项目简介
'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" }'
信息
分类
开发者工具