Euthynos
Officialファイルを読んでいるエージェントは、そのファイルが何に依存しているかはわかります。しかし、そのファイルに何が依存しているかはわかりません。内部からは内向きのエッジが見えないため、エージェントはより多くのファイルを読むことで補おうとしますが、それによってコンテキストが消費され、呼び出し元を見落とすこともあります。Euthynos は代わりに AST、インポートグラフ、Git 履歴からこれらの質問に答えます。LLM 呼び出しはゼロ、クエリ経路でのネットワーク通信もありません。
証拠を提供します。変更が安全であることを保証するものではありません。
インストール
グローバルにインストールします。 -g が重要です。これによって euthynos コマンドが PATH に配置され、MCP クライアントがサーバーを起動できるようになります。
npm install -g euthynos配線前にインストールが完了したことを確認します。
euthynos --help次に、エージェントに登録します。
claude mcp add euthynos -- euthynos mcpまたは、任意の MCP クライアント設定で。
{ "mcpServers": { "euthynos": { "command": "euthynos", "args": ["mcp"] } } }Node.js 18 以上が必要です。Windows、macOS、Linux で動作します。
ほとんどの場合、ローカルインストールであり、グローバルインストールではありません。-g なしで npm install euthynos を実行すると、バイナリは ./node_modules/.bin/ に配置されますが、これは PATH に含まれていないため、MCP クライアントが実行するものがありません。以下で確認してください。
npm ls -g euthynos --depth=0もし (empty) と表示された場合は、-g を付けて再インストールしてください。誤ってローカルコピーを作成した場合は、コマンドを実行したディレクトリ内に作成された node_modules フォルダと package.json を削除してください。
グローバルにインストールされているにもかかわらず見つからない場合は、npm のグローバルバイナリデイレクトリが PATH に含まれていません。npm config get prefix でその場所を確認できます。または、クライアントからバイナリを直接指定します。
{ "mcpServers": { "euthynos": { "command": "C:\\full\\path\\to\\euthynos.cmd", "args": ["mcp"] } } }Related MCP server: codemap
23 のツール(答える質問ごと)
グループ | ツール | 得られるもの |
これに依存しているのは? |
| 推移的な呼び出し元(深さと確信度)、モジュールレベルの依存関係エッジ、2つの関数間の短い呼び出しパス。 |
この変更はどこに届く? |
| 編集中の爆風半径; 編集後、移動したシンボル、差分が越えたモジュール境界、差分がカバーしなかったもの。 |
これだけを読む |
| ファイル全体ではなく正確なソース範囲。 |
未知のリポジトリで方向を定める |
| モジュールマッパ、構造的メトッリクス、脆弱な境界の場所。 |
書き直す前に |
| 3つ目のコピーを追加する前に近い重複を検出、ルートラベル付きのテスト発見。 |
すべての回答は、自身のスコープを明示します。否定的な回答は、何も存在しないことを示唆するのではなく、調査しなかったものを示します。
測定された、主張ではない
M2 は事前登録されたベンチマークです:タスク、妥当性ルール、回答キーは、セッション実行前にコミットによって固定され、想起率は最終回答のみから盲検で手作業で評価され、無効なセッションは有効なものと共に公開されています。同一モデル、同一リポジトリ、同一プンロプト—一方のアムは Euthynos を搭載、もう一方は未搭載。
完全な測定に達した 3 つのタスク:
タスク | 条件群 | 新規トークン | 想起率 vs frozen key | 偽陽性 |
これを呼び出すのは誰か | ベースライン | 70,878 | 12 / 12 | 1 |
Euthynos | 49,476 | 12 / 12 | 0 | |
このロジックは重複しているか | ベースライン | 33,429 | 15 / 15 | 0 |
Euthynos | 29,120 | 15 / 15 | 0 | |
この変更はどこに届くか | ベースライン | 56,481 | 15 / 15 | 0 |
Euthynos | 39,242 | 15 / 15 | 0 |
**両条件群で想起率は同一で完璧—各 42 の要求項目を達成—一方、Euthynos 条件群は 13–31% 少ない新規トークンを消費しました。**エージェントは、より少ない読み込みで同じ答に達しました。もっともらしい誤った呼び出し元を誘導するよう設計された事前登録の罠は、どちらの条件群でも作動しませんでした。
これが言っていないこと。 試みた 46 セッションのうち 21 が有効でした。外部のレート制限により 14 セッションが失われました。ガイド付き編集および方向付けタスクは測定されておらず、それらに対する数値は暗示していません。1 つのハーネス、1 つのリポジトリ。これは節約された作業であり、回答品質の向上ではありません—そして私たちは、その一文をより大きな数値よりも公開したいと考えています。
レイテンシ数値は公開されていません。 2 つの内部で有効な測定値が一致せず、それを解決するための制御実験を完了できなかったため、どちらも公開せず、代わりにハーネスを提供します— docs/PROVENANCE.md にその理由があります。
ローカルファースト
クエリ経路からは何もアップロードされません。 MCP サーバーはネットワークコールも LLM コールも行いません。作業ツリー(コミットされていない編集を含む)を読み取ります。
読み取り専用。 ソースを変更することはありません。
パスでサンドボックス化。 サーバーは起動時に提供可能なルートを固定し、それら以外のパスは拒否されます。シンボリックリンクは辿られません。
ディスク上の 1 つのディレクトリ: リポジトリルートの
.euthynos/。コンテンツアドレスインデックスとローカルメタデータのみのテレメトログを保持します。自身の.gitignoreと共に作成され、削除しても再スキャンがかかるだけです。EUTHYNOS_NO_INDEX=1とEUTHYNOS_NO_TELEMETRY=1でオプトアウトできます。1 つの例外、オプトインかつ CLI のみ:
euthynos scan --aiは、候補となる重複スニペットを Anthropic API に送信して発見を確認します。ANTHROPIC_API_KEYが必要で、デフォルトではオフです。MCP サーバーの一部ではありません。
スケール — 主張することとしないこと
Euthynos はおおむね 10,000 ファイルまで検証されています。約 1,500 未満では快適に動作します。10,000 を超えると検証されておらず、動作すると想定すべきではありません。
約 10,000 ファイルは検証範囲の上限であり、保証ではありません。
上限における制約はレイテンシではなくメモリです。 パースされたコーパスはメモリに保持されます:10,000 ファイルのリポジトリでは、編集ループ中にプロセスの RSS が約 0.6 GB から約 1.1 GB に増加します。線形に外挿すると—測定ではなく推定—デフォルトの Node ヒープはおそらく約 25,000 から 35,000 ファイルのどこかで枯渇します。したがって、コード内の 60,000 ファイル発見上限は到達可能な制限ではありません。
V1 では正確なレイテンシ数値は公開されていません。 私たちは、より大きなサイズで矛盾する 2 つの内部で一貫した測定値を保持しており、どちらを信頼すべきかを解決する制御実験を完了できませんでした。確信を持って裏付けられない数値を公開する代わりに、何も公開せず、ハーネスを提供しますので、自分のマシンで測定できます:
node scripts/measurement/gen-scale-repos.mjs
node --expose-gc scripts/measurement/measure-latency.mjs --reps=20理由は docs/PROVENANCE.md にあります。範囲とパフォーマンスに影響を与えるものは docs/SUPPORTED-SCALE.md にあります。
インストール前に知っておくべきその他の制限事項:
ディスパッチは同期です。 一度に 1 つのツール呼び出し。コールドファーストスキャンはその全期間、キューをブロックします—秒単位で、リポジトリサイズとともに増加します。呼び出しごとのタイムアウトはありません。MCP クライアントは、その最初の呼び出しを許容するタイムアウトを供給する必要があります。
インデックス読み取りは無料ではなく、スケール不変でもありません。
find_symbol、read_function、find_referencesは実際の時間を消費し、リポジトリサイズとともに増加します。このファイルの以前のバージョンでは、すべてのスケールで 1 ミリ秒未満であると主張していましたが、その数値は引数拒否エラーパスであり、読み取りではありません。詳細は docs/BENCHMARK-INTEGRITY-AUDIT.md を参照してください。編集ループはウォームコールの数倍のコストがかかります。 変更されたファイルを再パースする必要があるためです。どちらを測定したかを明記していない数値は、あまり意味がありません。
コールドビルドのタイミングは、マシンとストレージ環境に依存します。 インデックスの構築は I/O バウンドです。
これまでのすべての測定は TypeScript で行われています。他の言語では異なる場合があります。
言語
16 言語を 3 つの戦略でパース。 TypeScript、JavaScript、Vue SFC は TypeScript コンパイラ API 経由。Python、Go、Java、Ruby、Rust、PHP、C、C++、C#、Dart、Kotlin、Swift は tree-sitter WASM 経由。COBOL は決定論的なラインパーサ経由。
すべての文法は純粋な WASM として実行されます—ネイティブバインディング、プラットフォーム依存のプリビルド、コンパイラツルチェインなし。コールグラフの解像度は TypeScript で最強です。
Euthynos が主張しないこと
これは静的解析ツルです。インポト、宣言、呼び出しエッジを認識します。リフレクション、動的ディスパッチ、実行時コード生成、文字列構築のシンボル名、動的インポート、フレームワークの配線は認識しません—そして、そのように装うことは決してありません。
これらのフレーズは出力で禁止され、テストによって禁止が実施されています:
is safe·safe to …·no other consumers·all references·unused·fully tested·no impact· 安全性の数学的証明の主張
callers_of が何も返さないのは、静的グラフが呼び出し元を見つけられなかったことを意味し、何もこれを呼び出していないという意味ではありません。曖昧なモジュール間の名前は推測ではなくエッジなしを生成するため、回答は下限となり、未解決の呼び出しの数が併せて表示されます。
主張を自分で検証する
ここでは、何も信頼して受け入れる必要はありません。
内容 | 場所 |
実行前に事前登録されたトークン/リコールベンチマーク | |
未修正で公開されたその結果 | |
当社が公開した数値が誤っていた箇所とその理由 | |
自分のマシンでレイテンシを測定する |
|
ここで検証可能なことと不可能なこと — レイテンシ数値が延期された理由を含む |
最後の項目は開示の偶然ではありません。当社のベンチマークハーネスのうち2つは、引数検証エラーを測定値であるかのように計時しており、公開された主張の1つは3桁も誤っていました。監査では、何が壊れたか、何が無効になったか、何が再測定されたか、そして何が未サポートのままかを文書化しています。
公開されていないもの: M2の解答キーと完全なセッション台帳。これらに関するいかなる記述もこのリポジトリからは未検証であり、そうでないと暗示するよりも、そのように明言します。
Euthynos for Teams
◈ Euthynos for Teams
同じエンジンが、プルリクエストと main の間に立ちます。
まだ一般公開されていません。 現在ログインできる公開インスタンスはありません。このセクションでは、存在し動作するソフトウェアについて説明しています — 今すぐ注目する価値があるかどうかを判断できるようにするためであり、今すぐ購入できる製品ではありません。早期アクセスリストに参加する →
GitHub App を通じてリポジトリを接続します。すべてのプッシュとプルリクエストは、このリポジトリのエンジンによってサーバーサイドでスキャンされ、結果は実際に決定が行われる場所に届きます。
◈ マージポリシー、ルールとして記述
5つのルールタイプ。それぞれ warn または block:
ルール | しきい値 |
| 0–100 |
| 0–100 |
| 0–100 |
| 1–20, integer |
| exact |
境界はサーバーサイドで強制されます。フォームは便宜上のものであり、バリデータではありません。
◈ スキャンごとの依存関係グラフ
すべてのスキャンは、インタラクティブなグラフアーティファクト(モジュール、インポートエッジ、きれいに切断できないサイクル)を生成します。
4つの軸と重複でスコアリング:
depth · seams · locality · leverage
各軸はバンド(Strong, Stable, Drifting, At Risk)で報告されます。バンドこそが意味のある部分だからです。
◈ すべてのPRに対するチェック実行
判定はそれを生成したルールに対して記録されるため、「なぜブロックされたのか」という問いに、雰囲気ではない答えがあります。
アラート状態はスキャン間で引き継がれます: new · ongoing · resolved · archived-until-worse · regressed。
◈ 監査人が読める証拠
日付範囲をエクスポートすると、当時のままのルールセット、その期間内のすべてのマージ判定、各オーバーライドとその実行者および書面による理由、モジュールごとの所有権カバレッジを取得できます。
読むのにアカウントは不要です。
◈ git履歴からの知識リスク。 モジュールごとの所有権割合とバスファクター — つまり、「最も弱いモジュールがたった一人だけに理解されている」 ということを、その人が去ったときに知るのではなく、ダッシュボードが教えてくれるのです。
ここでもLLM呼び出しはゼロです。 同じ差分は毎回同じ判定を生成します。サンプリングは行われないため、幻覚もプロンプトインジェクションもありません。同じブランチを2回プッシュすれば、同じレビューが2回得られます。
このリポジトリのCLIは無料、ローカル、Apache-2.0のままです — これは試用ではなく、コミットメントです。プラットフォームに電話することはなく、プラットフォームがあなたのマシンに触れることもありません。
公開されたら欲しいですか?
→ Join the early-access list at euthynos.dev
ローカルCLIは永久に無料 · クレジットカード不要 · このリポジトリのすべてを使用するのにアカウント不要
CLI
MCPサーバーが主要なインターフェースですが、CLIは単独で動作します:
euthynos scan [path] architecture scan — six metrics, module table
euthynos graph [path] build the call graph; --impact/--callers/--path
euthynos dashboard [path] self-contained interactive HTML, zero runtime deps
euthynos index [path] inspect or rebuild the local index
euthynos mcp start the MCP stdio servereuthynos --help はすべてのフラグセットとビルドスタンプを表示します。
ドキュメント
docs/ARCHITECTURE.md · docs/SUPPORTED-SCALE.md · docs/SECURITY.md · docs/CONTRIBUTING.md · docs/TRADEMARK.md · docs/PROVENANCE.md · CHANGELOG.md
セキュリティ
脆弱性は公開Issueではなく、GitHub Security Advisoriesを通じて非公開で報告してください。範囲と期待事項: docs/SECURITY.md。
ライセンス
Apache License 2.0 — LICENSE および NOTICE を参照。
Copyright © 2026 Tonil Kumar.
ライセンスはコードを対象としています。名称は対象外です。「Euthynos」はTonil Kumarの未登録商標として主張されています — 登録は申請も許可もされていません。docs/TRADEMARK.md を参照。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityAmaintenanceProvides local codebase intelligence as an MCP server, enabling AI agents to query dependencies, assess change impact, and produce tamper-evident change evidence packets.508Apache 2.0
- Alicense-qualityAmaintenanceMCP server for local-first code intelligence, providing structural code graph, semantic search, and impact analysis to AI agents.1MIT
- Alicense-qualityAmaintenanceLocal-first MCP server that scans a repository once and answers architecture questions from an evidence-backed graph, enabling dependency analysis, impact analysis, and codebase exploration without re-reading the source tree.MIT
- Alicense-qualityAmaintenanceLocal repository intelligence MCP server that builds a reusable graph of code structure for AI coding agents, providing 34 network-free tools for understanding, searching, and analyzing repositories without data leaving the machine.59MIT
Related MCP Connectors
Hosted MCP server for structured code review passes on human- and AI-written code. Free tier.
An MCP server that gives your AI access to the source code and docs of all public github repos
Agent-native MCP server over the public saagarpatel.dev corpus. Read-only, stateless.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/euthynos-org/euthynos'
If you have feedback or need assistance with the MCP directory API, please join our Discord server