seshat-mcp について
seshat-mcpはリポジトリを型付きシンボルグラフにコンパイルし、構造的なコード分析をMCP経由でコーディングエージェントに提供します。テキスト検索や埋め込みではなく依存関係に基づき、変更影響、呼び出し関係、コミット履歴を追跡します。
主な機能
- 01関数、クラス、ルート、エントリーポイントの検索
- 02呼び出し元・先、データフロー、副作用の確認
- 03変更による推移的な影響範囲の追跡
- 04JavaScript、TypeScript、Pythonの呼び出し状態の検査
- 05コミット履歴、ホットスポット、共変更クラスタの分析
活用シーン
- 01関数の変更前に影響を受けるコードを確認
- 02未awaitの非同期呼び出しや処理を抜ける失敗を発見
- 03頻繁に変更されるコードや連動して変わるモジュールを特定
MCP 対応
MCPサーバーは同期済みリポジトリのコンパイル済みシンボルグラフと分析結果をMCPクライアントに提供します。npxで設定し、APIキーでサービスに接続できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
27掲載時のツール一覧 · 3 週間前に更新
このツールにパラメーターはありません。
詳細
Seshat — AI エージェント向けの構造的なコードインテリジェンス
エージェントはコードベースを尤度から再構築します。Seshat はそれをコンパイルします。
Seshat はリポジトリを型付きシンボルグラフに変換し(すべての関数、クラス、ルート、テーブルと、実際の依存関係エッジ、データフロー、制約を含みます)、MCP 経由でエージェントに提供します。そのため、関数を編集する前に、推測するのではなく、実際に何が壊れるかをエージェントが確認できます。
テキスト検索や埋め込みではなく、コンパイル済みの中間表現に基づいています。Seshat がある関数には呼び出し元が 3 つあると言えば、正確に 3 つです。
理由
AI コーディングエージェントは高速ですが、構造を把握できません。エージェントが関数を変更すると、その関数に依存するものすべてを確認できないことが多く、目を通していない呼び出し元を気付かないうちに壊してしまいます。AI が引き起こす回帰の多くは、まさにこれが原因です。Seshat はエージェントに全体像を与えます。
まず試す(インストールもログインも不要)
公開リポジトリを https://seshat.papyruslabs.ai/try に貼り付けて、変更によって何が壊れるかを追跡する様子をご確認ください。
インストール
npx -y @papyruslabsai/seshat-mcp setup <your-key>
無料キーは https://seshat.papyruslabs.ai で取得できます(最初の解析は無料です)。セットアップコマンドが MCP 設定を書き込み、キーを保存します。
または、手動で設定します(Claude Code、Cursor、その他の MCP クライアントに対応):
{
"mcpServers": {
"seshat": {
"command": "npx",
"args": ["-y", "@papyruslabsai/seshat-mcp"],
"env": { "SESHAT_API_KEY": "your-key" }
}
}
}
ツール
sync_project でエージェントにリポジトリを指定すると、シニアエンジニアと同じように、全体を把握し、追跡し、検証します。
全体を把握する
list_projects— 同期済みのプロジェクトlist_modules— レイヤーまたはモジュールごとのコードベースの構成query_entities— 名前、レイヤー、またはモジュールから関数、クラス、ルートを検索find_entry_points— ルート、エクスポート、パブリック API の範囲
シンボルを調査する
get_entity— シグネチャ、呼び出し元、呼び出し先、データフロー、副作用、アクセスするテーブルget_dependencies— 実際の呼び出しチェーン、呼び出し元と呼び出し先get_blast_radius— 変更した場合に、間接的なものも含めて壊れるすべての要素get_data_flow— 関数が読み取るもの、返すもの、変更するものget_optimal_context— 編集前に読むべき、最小限かつ優先順位付けされたファイル一式find_by_constraint— 指定したテーブルにアクセスする(または指定した特性を持つ)すべての関数find_dead_code— 到達不能なシンボル。安全に削除できます
呼び出し自体を確認する(JavaScript、TypeScript、Python)
query_call_sites— 状態別の呼び出し:awaitされていない非同期呼び出し(未処理の Promise、条件として評価される Promise)、失敗が呼び出し元まで伝播する呼び出し(その呼び出しを囲むtryや.catchがないもの)、計算された結果が破棄される呼び出し。関数ごとではなく、呼び出しごとに確認します。get_entityとget_dependenciesでも、各呼び出しの状態を確認できます。
履歴を読む(リポジトリのコミット記録から取得。初回同期時に過去分を補完)
get_lineage— ある関数が実際にどのように変化してきたか:各コミットを変更内容(本体、呼び出し、データ、シグネチャ)で分類し、CI の成功・失敗とリバート、同時に変更されるもの、そしてここで変更を最後に強いた要因を示します。重要な機能に手を加える前に確認してください。get_hotspots— 開発が行われている場所と失敗する場所:変更頻度が最も高いコード、変更が繰り返しリバートされる、または CI が赤のまま取り込まれる不安定な箇所、そして多用されている一方で誰も変更していないコード(安定性への圧力)get_co_change_clusters— 隠れたモジュール:インポートによるつながりがなくても、ファイルをまたいで一緒に変更されるコードです。あるメンバーを変更する場合、通常は残りのメンバーも変更する必要があります。
すべての回答はコンパイル済みグラフに基づき、その背後にあるカバレッジを明示します。履歴はコミットの解決結果との相関を示すものであり、その旨を明記します。根拠を示せない因果関係を主張することはありません。
テストカバレッジ、トポロジー、セマンティッククローンを扱う横断的な監査ツールは、現在強化中です。利用可能になり次第、この一覧に追加します。
プライバシー
設計上、解析は Papyrus Labs のクラウドで実行されます。コンパイル済みグラフがこの製品の競争優位性であり、抽出処理をサーバー側で行うことで保護しています。公開リポジトリは GitHub からクローンされます。非公開リポジトリには、GitHub アカウントの接続が必要です。ソースはグラフの構築のために処理され、クエリに応答するためにキャッシュされます。プライバシーポリシーは seshat.papyruslabs.ai をご覧ください。
料金
初回の抽出は無料です。無料枠を超えた後は、クエリ1件につき $0.03 です。一般的な調査では5~15件のクエリを使用します。詳細は https://seshat.papyruslabs.ai をご覧ください。
MIT ライセンスのサーバーです。記録を残した女神の名にちなんで名付けられ、エージェントが記録を読めるように作られています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。