Tree-sitter MCP Server について
Tree-sitter MCP Serverは、コーディングエージェントがTree-sitterの構文木を調べるためのMCPサーバーです。クエリや構文木をたどるコードを書く前に、ノード種別、フィールド名、位置を確認できます。
主な機能
- 01名前付きノードごとのAST表示
- 02ノード種別とフィールド名の表示
- 03ゼロ始まりの行・列範囲
- 04ERRORとMISSINGによるエラー表示
- 05複数言語と別名のサポート
活用シーン
- 01Tree-sitterクエリ作成前のコード構造確認
- 02構文木をたどるためのフィールド名の特定
- 03構文エラー位置の確認
MCP 対応
MCPサーバーとしてget_tree_sitter_astツールをMCPクライアントに公開し、コード断片のTree-sitter構文木を返します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
1掲載時のツール一覧 · 2 日前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| code | string | はい | 解析するコード。ファイル全体ではなく、断片でも構いません。 |
| language | string | はい | コードの言語。例:`python`、`tsx`、または `py`、`ts`、`c#` などの別名。大文字と小文字は区別しません。 |
詳細
Tree-sitter MCP サーバー
コーディングエージェントにコードスニペットのTree-sitter構文木を表示するMCPサーバーです。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でバイナリをインストールするか、リリースからダウンロードし、コマンドとして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の構文木を返します。各名前付きノードは1行に表示され、フィールド名と0始まりの(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 サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。