hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Integrates with Git repositories by recognizing and excluding .git directories from analysis
Provides language-specific code parsing and analysis for JavaScript files, with symbol extraction and AST-based understanding
Enables analysis of Julia code with tree-sitter parsing, symbol extraction, and dependency analysis
MCP ツリーシッターサーバー
ツリーシッターを使用してコード分析機能を提供するモデルコンテキストプロトコル (MCP) サーバー。適切なコンテキスト管理を使用して、Claude がコードベースにインテリジェントにアクセスできるように設計されている。
特徴
- 🔍柔軟な探索:複数の粒度レベルでコードを調査
- 🧠コンテキスト管理: コンテキストウィンドウを圧迫することなく、必要な情報だけを提供します
- 🌐言語に依存しない: tree-sitter-language-pack を介して、Python、JavaScript、TypeScript、Go、Rust、C、C++、Swift、Java、Kotlin、Julia、APL など、多くのプログラミング言語をサポートします。
- 🌳構造認識: 効率的なカーソルベースのトラバーサルで AST ベースの理解を使用します
- 🔎検索可能:テキスト検索とツリーシッタークエリを使用して特定のパターンを見つけます
- 🔄キャッシュ: 解析ツリーのキャッシュによるパフォーマンスの最適化
- 🔑シンボル抽出:関数、クラス、その他のコードシンボルを抽出して分析します
- 📊依存関係分析:コードの依存関係と関係を特定して分析します
- 🧩状態の永続性: 呼び出し間でプロジェクト登録とキャッシュされたデータを維持します
- 🔒安全: 組み込みのセキュリティ境界と入力検証
利用可能なすべてのコマンドの包括的なリスト、現在の実装ステータス、および詳細な機能マトリックスについては、 FEATURES.mdドキュメントを参照してください。
インストール
前提条件
- Python 3.10以上
- お好みの言語のための Tree-sitter 言語パーサー
基本的なインストール
開発インストール
クイックスタート
Claude Desktopで実行
MCP CLI を使用するか、Claude Desktop を手動で構成することにより、Claude Desktop でサーバーを利用できるようにすることができます。
MCP CLIの使用
サーバーをClaude Desktopに登録します。
手動設定
あるいは、Claude Desktop を手動で構成することもできます。
- Claude Desktop 構成ファイルを開きます。
- macOS/Linux:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
ファイルが存在しない場合は作成します。
- macOS/Linux:
mcpServers
セクションにサーバーを追加します。あるいは、uv または別のパッケージ マネージャーを使用する場合:Copy注意:Copy/ABSOLUTE/PATH/TO/YOUR/PROJECT
プロジェクト ディレクトリへの実際の絶対パスに置き換えてください。- ファイルを保存し、Claude Desktop を再起動します。
少なくとも1つのMCPサーバーを適切に設定すると、Claude DesktopのインターフェースにMCPツールアイコン(ハンマー)が表示されます。このアイコンをクリックすると、 tree_sitter
サーバーの機能にアクセスできます。
リリースバージョンでの設定
PyPI (リリース バージョン) からパッケージを手動でインストールしたり、リポジトリをクローンしたりしたくない場合は、Claude Desktop に対して次の構成を使用します。
- Claude Desktop 構成ファイル (上記と同じ場所) を開きます。
mcpServers
セクションに tree-sitter サーバーを追加します。Copy- ファイルを保存し、Claude Desktop を再起動します。
この方法は、 uvx
を使用してインストールされたPyPIパッケージを直接実行します。これはリリースバージョンで推奨される方法です。サーバーは基本設定のままで実行するために追加のパラメータを必要としません。
状態の永続性
MCP Tree-sitter Serverは、呼び出し間で状態を維持します。これは次のことを意味します。
- プロジェクトは、明示的に削除されるか、サーバーが再起動されるまで登録されたままになります。
- 解析ツリーは設定に従ってキャッシュされます
- 言語情報はサーバーの存続期間中保持されます
この永続性は、主要コンポーネントのシングルトン パターンを使用して、サーバーの存続期間中メモリ内に維持されます。
スタンドアロンサーバーとして実行
MCPインスペクターと併用する
使用法
プロジェクトを登録する
まず、分析するプロジェクトを登録します。
ファイルの探索
プロジェクト内のファイルを一覧表示します。
ファイルの内容を表示:
コード構造を分析する
構文ツリーを取得します。
シンボルを抽出します:
検索コード
テキストを検索:
tree-sitter クエリを実行します。
複雑さを分析する
Pythonの直接使用
主な使用目的は MCP サーバー経由ですが、Python コードでライブラリを直接使用することもできます。
構成
YAML 構成ファイルを作成します。
以下をロードします:
preferred_languagesについて
preferred_languages
設定は、オンデマンドではなくサーバー起動時に事前にロードされる言語パーサーを制御します。これにはいくつかの利点があります。
- より高速な初期分析: 事前にロードされた言語のファイルを最初に分析するときに遅延が発生しません
- 早期エラー検出: パーサーの問題は使用中ではなく起動時に発見されます
- 予測可能なメモリ割り当て: 頻繁に使用されるパーサーのメモリは事前に割り当てられます
デフォルトでは、すべてのパーサーは最初に必要になったときにオンデマンドで読み込まれます。最適なパフォーマンスを得るには、プロジェクトで最も頻繁に使用する言語を指定してください。
特定の設定を構成することもできます。
または環境変数を使用します:
サーバーは次の場所で構成を検索します:
configure()
呼び出しで指定されたパスMCP_TS_CONFIG_PATH
環境変数で指定されたパス- デフォルトの場所:
~/.config/tree-sitter/config.yaml
利用可能なリソース
サーバーは次の MCP リソースを提供します。
project://{project}/files
- プロジェクト内のすべてのファイルを一覧表示しますproject://{project}/files/{pattern}
- パターンに一致するファイルを一覧表示しますproject://{project}/file/{path}
- ファイルの内容を取得するproject://{project}/file/{path}/lines/{start}-{end}
- ファイルから特定の行を取得しますproject://{project}/ast/{path}
- ファイルのASTを取得するproject://{project}/ast/{path}/depth/{depth}
- カスタム深度で AST を取得します
利用可能なツール
サーバーは次のツールを提供します:
- プロジェクト管理:
register_project_tool
、list_projects_tool
、remove_project_tool
- 言語管理:
list_languages
、check_language_available
- ファイル操作:
list_files
、get_file
、get_file_metadata
- AST 分析:
get_ast
、get_node_at_position
- コード検索:
find_text
、run_query
- シンボル抽出:
get_symbols
、find_usage
- プロジェクト分析:
analyze_project
、get_dependencies
、analyze_complexity
- クエリ構築:
get_query_template_tool
、list_query_templates_tool
、build_query
、adapt_query
、get_node_types
- 類似コード検出:
find_similar_code
- キャッシュ管理:
clear_cache
- 構成診断:
diagnose_config
各ツールの実装状況、依存関係、使用例の詳細については、 FEATURES.md を参照してください。
利用可能なプロンプト
サーバーは次の MCP プロンプトを提供します。
code_review
- コードレビュー用のプロンプトを作成するexplain_code
- コードを説明するプロンプトを作成するexplain_tree_sitter_query
- tree-sitter クエリ構文の説明suggest_improvements
- コードの改善を提案するためのプロンプトを作成するproject_overview
- プロジェクト概要分析のプロンプトを作成する
ライセンス
マサチューセッツ工科大学
This server cannot be installed
ツリーシッターを使用してコード分析機能を提供するモデルコンテキストプロトコル (MCP) サーバー。適切なコンテキスト管理を使用して、Claude がコードベースにインテリジェントにアクセスできるように設計されている。
- Features
- Installation
- Quick Start
- State Persistence
- Usage
- Direct Python Usage
- Configuration
- Available Resources
- Available Tools
- Available Prompts
- License