关于 Tree-sitter MCP Server
Tree-sitter MCP Server 为编码 Agent 提供代码的 Tree-sitter 语法树,便于在编写查询或遍历代码前检查节点类型、字段名和位置。它支持多种编程及数据语言。
主要功能
- 01按命名节点逐行显示 AST
- 02显示节点类型和字段名
- 03提供从零开始的行列范围
- 04以 ERROR 和 MISSING 标记错误
- 05支持多种语言及其别名
适用场景
- 01编写 Tree-sitter 查询前检查代码结构
- 02查找遍历语法树所需的字段名
- 03定位语法错误
MCP 相关
MCP 服务向 MCP 客户端提供 get_tree_sitter_ast 工具,返回代码片段的 Tree-sitter 语法树。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
1收录的工具列表 · 更新于 2 天前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| code | string | 是 | 要解析的代码。可以是代码片段,不必是完整文件。 |
| language | string | 是 | 代码所用的语言,例如 `python`、`tsx`,或 `py`、`ts`、`c#` 等别名;不区分大小写。 |
详细介绍
Tree-sitter MCP 服务
一个 MCP 服务,可向编码 Agent 展示代码片段的 Tree-sitter 语法树,帮助它们在编写 Tree-sitter 查询或遍历语法树的代码之前,检查节点类型、字段名和位置。
安装
Claude Code:
claude mcp add tree-sitter -- npx -y tree-sitter-mcp-server
Codex:
codex mcp add tree-sitter -- npx -y tree-sitter-mcp-server
其他客户端:
{
"mcpServers": {
"tree-sitter": {
"command": "npx",
"args": ["-y", "tree-sitter-mcp-server"]
}
}
}
npx 需要 Node.js。若没有 Node.js,请使用 cargo install --locked tree-sitter-mcp-server 安装二进制文件,或从
releases 下载,并将 tree-sitter-mcp-server 用作命令。
VS Code 等可浏览 MCP Registry 的客户端,也可以从中安装。
mcp-name: io.github.joowani/tree-sitter-mcp-server
支持的语言
c、cpp、csharp、go、graphql、hcl、java、javascript、json、jsx、kotlin、php、prisma、
protobuf、python、ruby、rust、sql、swift、terraform、thrift、toml、tsx、typescript、yaml
名称不区分大小写,也支持 c++、c#、py 和 ts 等常见别名。javascript 和 jsx
使用 TypeScript 和 TSX 语法,terraform 使用 HCL 语法。PHP 代码必须以 <?php 开头。
工具
get_tree_sitter_ast 返回 language 中 code 的语法树,每行一个命名节点,并附带字段名和从零开始的 (row-column) 范围。ERROR 和 MISSING 节点表示语法错误。
{
"language": "python",
"code": "x = 1"
}
module (0-0) - (0-5)
expression_statement (0-0) - (0-5)
assignment (0-0) - (0-5)
left: identifier (0-0) - (0-1)
right: integer (0-4) - (0-5)
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。