用途:通过 tree-sitter 进行 AST 解析,实现跨语言的代码结构理解、函数与类定义提取、代码模式查找、复杂度分析、符号提取与依赖分析。
主要能力:提供项目注册与管理、语言可用性检查、文件列举与读取、AST 获取与节点定位、文本查找与 tree-sitter 查询、符号与用法查找、项目分析、依赖分析、复杂度分析、查询模板与构建、相似代码查找等工具。支持 Python、JavaScript、TypeScript、Go、Rust、C、C++、Swift、Java、Kotlin、Julia、APL 等,更多语言通过 tree-sitter-language-pack 提供。
使用方式:需先在 ~/.mcp.json 配置 MCP 服务器,命令为 python3,参数为 -m mcp_server_tree_sitter.server,并设置 cwd 指向 mcp-server-tree-sitter 目录。典型流程:先调用 register_project_tool(path="/path/to/project", name="my-project") 注册项目;再用 list_files、get_file 浏览文件;用 get_ast、get_symbols 分析结构;用 find_text、run_query 搜索,例如 run_query(project="my-project", query='(function_definition name: (identifier) @function.name)', language="python");最后用 analyze_complexity 等做复杂度分析。
适用场景:多语言代码库的结构梳理、符号与依赖提取、模式匹配、复杂度评估。
限制:资料未提供具体性能、语言覆盖完整清单、错误处理与权限要求等信息。