基本能力
产品定位
MCP Tree-sitter Server 是一个代码分析工具,专注于为开发者提供智能代码探索、分析和理解能力。
核心功能
- 灵活探索:支持多粒度级别的代码检查
- 上下文管理:提供恰到好处的信息,避免上下文窗口过载
- 语言无关:支持多种编程语言,包括 Python、JavaScript、TypeScript、Go、Rust、C、C++、Swift、Java、Kotlin、Julia 和 APL
- 结构感知:基于 AST 的理解,支持高效的基于游标的遍历
- 可搜索:使用文本搜索和 tree-sitter 查询查找特定模式
- 缓存:通过解析树缓存优化性能
- 符号提取:提取和分析函数、类等代码符号
- 依赖分析:识别和分析代码依赖关系
- 状态持久化:在调用之间维护项目注册和缓存数据
- 安全性:内置安全边界和输入验证
适用场景
- 代码审查和静态分析
- 代码理解和文档生成
- 代码搜索和模式匹配
- 项目依赖分析
- 代码复杂度评估
工具列表
- 项目管理工具:注册、列出和移除项目
- 语言管理工具:列出可用语言,检查语言可用性
- 文件操作工具:列出文件,获取文件内容和元数据
- AST 分析工具:获取 AST,获取特定位置的节点
- 代码搜索工具:文本搜索,运行查询
- 符号提取工具:获取符号,查找使用情况
- 项目分析工具:分析项目,获取依赖关系,分析复杂度
- 查询构建工具:获取查询模板,列出查询模板,构建和适配查询
- 相似代码检测工具:查找相似代码
- 缓存管理工具:清除缓存
- 配置诊断工具:诊断配置
常见问题解答
- 如何配置语言支持:通过
preferred_languages
设置预加载语言 - 如何调整缓存大小:通过
cache.max_size_mb
配置 - 如何排除特定目录:通过
security.excluded_dirs
配置 - 如何设置日志级别:通过
log_level
配置
使用教程
使用依赖
- Python 3.10+
- Tree-sitter 语言解析器
安装教程
基本安装
bash
pip install mcp-server-tree-sitter
开发安装
bash
git clone https://github.com/wrale/mcp-server-tree-sitter.git
cd mcp-server-tree-sitter
pip install -e ".[dev,languages]"
调试方式
运行独立服务器
bash
mcp run mcp_server_tree_sitter.server
使用 MCP 检查器
bash
mcp dev mcp_server_tree_sitter.server
注册项目
register_project_tool(path="/path/to/your/project", name="my-project")
列出文件
list_files(project="my-project", pattern="**/*.py")
获取文件内容
get_file(project="my-project", path="src/main.py")
获取 AST
get_ast(project="my-project", path="src/main.py", max_depth=3)
提取符号
get_symbols(project="my-project", path="src/main.py")
搜索文本
find_text(project="my-project", pattern="function", file_pattern="**/*.py")
运行查询
run_query(
project="my-project",
query='(function_definition name: (identifier) @function.name)',
language="python"
)
分析复杂度
analyze_complexity(project="my-project", path="src/main.py")