Model Finder について
Model Finderは、独自の評価と予算に基づいてAIモデルを比較するチーム向けのローカルツールセットです。4つのAgent Skillsと読み取り専用MCPツールで、リポジトリの監査、モデル評価、ルーティング生成、ローカルモデルのメモリ見積もりを行います。
主な機能
- 01リポジトリ内のモデルとSDKの監査
- 02プロンプトから評価例を作成
- 03合格率、レイテンシ、コストの測定
- 04合格回答あたりのコストで順位付け
- 05品質ガード付きルーティングの生成
- 06ローカルモデルのメモリ見積もり
活用シーン
- 01タスク別評価に合格する低コストモデルの選定
- 02コードベース内のモデルIDとルートの確認
- 03評価結果に基づくルーティング生成
- 04ローカルモデルのメモリ要件とハードウェアの照合
MCP 対応
ローカルのstdio MCPサーバーは、リポジトリ監査、評価の設定と分析、ルーティング、コストとメモリの見積もり、機密データのスキャンを行う10種類の読み取り専用ツールを公開します。ネットワーク通信、キーの読み取り、ファイル書き込みは行いません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
10掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| path | string | いいえ | プロジェクトルートからの相対パスで指定する、ワークスペース内のディレクトリ(例:"services/api")。デフォルトはプロジェクトルートです。プロジェクトが不明で呼び出しに失敗した場合は、プロジェクトの絶対パス(現在の作業ディレクトリ)を指定してください。 |
| limit | integer | いいえ | 1ページあたりの項目数(1-200、デフォルト 50)。 |
| offset | integer | いいえ | スキップする項目数。前のページで返された next_offset を使用します。 |
| hard_coded_only | boolean | いいえ | 設定または環境から読み取られていない ID のみ。 |
| provider_family | enum | いいえ | このファミリーのモデルのみ。例:"anthropic"。anthropic | openai | google | meta | mistral | deepseek | alibaba | xai | cohere |
| response_format | enum | いいえ | 読みやすい概要には markdown(デフォルト)、機械可読な完全な結果には json。markdown | json |
詳細
独自のテストに合格する最安のAIモデルを見つけ、その状態を維持しましょう。
Claude · Gemini · OpenAI · Bedrock · Vertex AI · ローカルモデル — Indigloo が公開
インストール · 仕組み · MCP ツール · クイックスタート · プライバシー · セキュリティ
メモ
ローカルで動作します。 Model Finder は、4つの Agent Skills とローカル MCP サーバー(
mcp/server.py、Python 3.9+ の標準ライブラリを使用、依存関係なし)で構成されています。サーバーはネットワークへの接続を行わず、API キーも不要です。ファイルへの書き込みや、Indigloo への情報送信も一切行いません。モデルプロバイダーを呼び出すのは評価スクリプトと、それが生成するルーターだけです。実行時には、お客様自身のキーを使用します。
仕組み
flowchart LR
A["Audit<br/><sub>models and SDKs in your repo</sub>"] --> B["Draft evals<br/><sub>from your prompts, PII dropped</sub>"]
B --> C["Evaluate<br/><sub>your keys · pass rate · latency · cost</sub>"]
C --> D["Rank<br/><sub>cost per passing answer</sub>"]
D --> E["Route<br/><sub>cheapest first, escalate on failure</sub>"]
F["Size<br/><sub>weights + KV cache vs your GPU</sub>"] -.-> C
classDef step fill:#f3f0e8,stroke:#1c1b19,color:#1c1b19;
classDef pick fill:#f3f0e8,stroke:#cd462a,color:#cd462a;
class A,B,C,E,F step;
class D pick;
| スキル | 内容 |
|---|---|
find-model | IDE でのコーディングのサブタスクを含め、タスク、予算、ルートに応じて Claude、Gemini、OpenAI、クラウド、ローカルの各モデルを推奨します。 |
eval-models | お客様自身のキーを使って、候補モデルでサンプルを実行し、合格率、レイテンシ、請求コストを測定します。 |
route-models | 品質ガードを備えた単独で動作するルーターと LiteLLM 設定からなる、最安優先のルーティング構成を作成します。 |
size-local-model | 重みと KV キャッシュに必要なメモリを推定し、お使いのハードウェアと比較します。 |
提案のみを行います。何もデプロイされず、現在のモデルが変更されることもありません。データは、お客様が設定して承認したプロバイダーにのみ送信されます。個人データとシークレットは、デフォルトで送信前にブロックされます。インドの DPDP Act への対応については、DATA-PROTECTION.md をご覧ください。
インストール
PATH 上で python3 として実行できる Python 3.9 以降が必要です(Windows を参照)。pip install は不要です。
| クライアント | コマンド | スキル | MCP ツール |
|---|---|---|---|
| Claude Code | /plugin marketplace add Abhiindigloo/EvalHarness を実行し、続けて /plugin install model-finder@model-finder | ✅ | ✅ .mcp.json 経由 |
| OpenAI Codex CLI | codex plugin marketplace add Abhiindigloo/EvalHarness を実行し、続けて codex plugin add model-finder@model-finder | ✅ | ✅ mcp.json 経由(Agent Plugins 形式で、./mcp/server.py を実行します)。Codex はサーバーにワークスペースを渡さないため、エージェントがプロジェクトのパスを渡します |
| GitHub Copilot CLI | copilot plugin marketplace add Abhiindigloo/EvalHarness を実行し、続けて copilot plugin install model-finder@model-finder | ✅ | ✅ mcp.json 経由 |
| Gemini CLI | gemini extensions install https://github.com/Abhiindigloo/EvalHarness | ✅ | ✅ gemini-extension.json 経由 |
| Cursor | スキル付きプラグイン:cursor.directory/plugins/model-finder、または ~/.cursor/plugins/local/model-finder にクローンしてウィンドウを再読み込みします | ✅ | ✅ mcp.json、または .cursor-plugin/plugin.json → .mcp.json 経由 |
| Cursor、MCP のみ | uvx model-finder-mcp==1.3.5 を実行します。uv が必要です) | — | ✅ |
| 任意の MCP クライアント、PyPI 経由 | uvx model-finder-mcp==1.3.5(PyPI、MCP Registry:co.indigloo/model-finder) | — | ✅ |
| VS Code、JetBrains、Windsurf など | クライアントの MCP 設定にサーバーを追加します(手動セットアップ) | — | ✅ |
| その他の Agent Skills クライアント | skills/<name>/ をクライアントのスキルディレクトリにコピーします | ✅ | — |
Gemini CLI は、信頼済みのフォルダー内でのみ拡張機能の MCP サーバーを起動します。プロジェクトを初めて開くときに、信頼するかどうかを尋ねます。
MCP の手動セットアップ
VS Code — .vscode/mcp.json(最上位のキーは servers)
{
"servers": {
"model-finder": {
"type": "stdio",
"command": "python3",
"args": ["/absolute/path/to/EvalHarness/mcp/server.py"],
"env": { "MODEL_FINDER_ROOT": "${workspaceFolder}" }
}
}
}
Cursor — プロジェクト内の .cursor/mcp.json、または ~/.cursor/mcp.json
{
"mcpServers": {
"model-finder": {
"command": "python3",
"args": ["/absolute/path/to/EvalHarness/mcp/server.py"],
"env": { "MODEL_FINDER_ROOT": "${workspaceFolder}" }
}
}
}
JetBrains、Windsurf、Claude Desktop など — mcpServers
クライアントにワークスペース変数がない場合は、プロジェクトのパスを指定します。
{
"mcpServers": {
"model-finder": {
"command": "python3",
"args": ["/absolute/path/to/EvalHarness/mcp/server.py"],
"env": { "MODEL_FINDER_ROOT": "/absolute/path/to/your/project" }
}
}
}
リポジトリを一度クローンし、/absolute/path/to/EvalHarness を置き換えます。リポジトリのツールが読み取るのはワークスペース内のみです。ワークスペースは、クライアントが MCP 経由で共有するルート、または MODEL_FINDER_ROOT、それらがない場合はサーバーの作業ディレクトリです。ファイルシステムのルートやホームディレクトリは拒否されます。
Windows
Codex、Copilot CLI、Cursor は ./mcp/server.py としてサーバーを起動します。このファイルは #!/usr/bin/env python3 の行に依存するため、Windows では手動セットアップまたは uvx model-finder-mcp を使用してください。PATH 上に python3 がない場合、MCP サーバーは起動しません。python.org から Python をインストールし(「Add python.exe to PATH」にチェックを入れます)、python3 エイリアスを作成するか、手動セットアップで "command": "py" および "args": ["-3", "C:/path/to/EvalHarness/mcp/server.py"] を使用してください。
MCP ツール
読み取り専用のツールが10個あり、サポート対象のすべての IDE で同じ機能をツールとして利用できます。
| ツール | 機能 |
|---|---|
modelfinder_audit_models | リポジトリ内の AI モデル ID と SDK を、ファイル名と行番号、ルート、ハードコードされた ID とともに一覧表示します |
modelfinder_draft_eval_examples | プロンプトファイルとフィクスチャから評価例を作成し、個人データやシークレットを含むものを除外します |
modelfinder_create_eval_config · modelfinder_validate_eval_config | 評価設定を作成して検証します。呼び出し回数、環境変数名、価格未設定のモデル、ガード判定を確認します |
modelfinder_check_output | 評価チェックまたはルーティングガードに照らして応答をテストします |
modelfinder_rank_eval_results | 合格した回答あたりのコストで結果を順位付けします。コストと信頼性の段階的な選択にも対応します |
modelfinder_generate_routing | 評価結果から routing.json と LiteLLM 設定を返します |
modelfinder_estimate_cost | 月間トークンコストと、受け入れられた結果あたりのコストを見積もります |
modelfinder_estimate_memory | 重みと KV キャッシュに必要なローカルメモリを見積もります |
modelfinder_scan_sensitive_data | 個人データとシークレットをスキャンします(カテゴリと件数のみ) |
すべてのツールは、デフォルトで読みやすい Markdown の概要と、構造化 JSON の完全な結果を返します(response_format: "json" を指定すると、テキストにも JSON が含まれます)。大きな結果はページ分割されます(limit、offset、has_more、next_offset)。modelfinder_audit_models ではプロバイダーファミリーまたはハードコードされた ID で絞り込めます。また、不明な引数は有効な引数の一覧とともに拒否されます。サーバーはネットワーク接続を開かず、API キーを読み取らず、ファイルを書き込みません。モデルプロバイダーを呼び出すのは eval_models.py と生成された router.py のみです。これらは実行時に、指定したキーを使って呼び出します。
クイックスタート
IDE で次のように尋ねます。「このリポジトリで使われている AI モデルを監査し、プロンプトから評価を作成して、より安価なモデルに合格できるかテストしてください。」 アシスタントは MCP ツールを使って監査と作成を行い、チェック項目についてユーザーと合意し、有料の実行を開始する前に確認します。
ターミナルから:
cp skills/eval-models/assets/example-config.json my-eval.json # fill in verified model IDs and prices
export ANTHROPIC_API_KEY=... GEMINI_API_KEY=... OPENAI_API_KEY=...
python3 skills/eval-models/scripts/repo_scan.py audit . # what the repo uses
python3 skills/eval-models/scripts/repo_scan.py examples . # draft examples from prompt files
python3 skills/eval-models/scripts/eval_models.py my-eval.json --dry-run
python3 skills/eval-models/scripts/eval_models.py my-eval.json --out results
python3 skills/route-models/scripts/make_routing.py --results results/results.json --guards guards.json --out routing
python3 routing/router.py routing/routing.json "your prompt"
ローカルモデルのサイズを見積もる:
python3 skills/size-local-model/scripts/estimate_memory.py --params-b 8.03 --bits 16 \
--layers 32 --kv-heads 8 --head-dim 128 --context 8192 --available-gib 24
テスト
python3 -m unittest discover -s tests -v
エンドツーエンドテストは、OpenAI 互換、Anthropic、Gemini の各 API をローカルでモックして実行し、stdio 経由で MCP サーバーを操作します。キーもネットワークアクセスも必要ありません。evaluations/ には、MCP ツールを対象とした10問のエージェント評価が含まれています。
リリース
- すべての箇所でバージョンを更新し(
python3 tests/check_release_version.pyを実行すると異なるフィールドが表示されます)、CHANGELOG の項目を追加します。 vX.Y.Zタグをプッシュします。release.ymlがテストの実行、バージョンの確認、パッケージのビルドを行い、トラステッドパブリッシングを使用して PyPI に公開した後、server.jsonを公式 MCP Registry に公開します。- 初回のみ必要な設定:
- PyPI:プロジェクト
model-finder-mcpのトラステッドパブリッシャーを保留中として追加します(ownerAbhiindigloo、repositoryEvalHarness、workflowrelease.yml、environmentpypi)。できれば Indigloo PyPI organization から設定し、repository settings でpypienvironment を作成します。 - MCP Registry(
indigloo.coドメインで検証されるco.indigloo/model-finder)。OpenSSL 3 を使用して、自分のマシンで次のコマンドを実行します。
indigloo.co の apex に TXT レコードを追加し、repository environmentopenssl genpkey -algorithm Ed25519 -out mcp-registry-key.pem echo "TXT record for indigloo.co: v=MCPv1; k=ed25519; p=$(openssl pkey -in mcp-registry-key.pem -pubout -outform DER | tail -c 32 | base64)" echo "GitHub secret MCP_REGISTRY_PRIVATE_KEY: $(openssl pkey -in mcp-registry-key.pem -noout -text | grep -A3 'priv:' | tail -n +2 | tr -d ' :\n')"mcp-registryを作成して、16 進数のキーをそのシークレットMCP_REGISTRY_PRIVATE_KEYとして保存します。その後、mcp-registry-key.pemを削除するか、パスワードマネージャーに保管します。
- PyPI:プロジェクト
リポジトリの構成
skills/ shared Agent Skills (single source of truth)
mcp/server.py local MCP server (stdio, standard library only)
.mcp.json MCP launch config for Claude Code and Cursor (${CLAUDE_PLUGIN_ROOT}); disabled as a
project config inside this repo by .claude/settings.json
mcp.json Agent Plugins MCP launch config (Codex, Copilot CLI, Cursor): runs ./mcp/server.py
server.json, pyproject.toml MCP Registry entry and PyPI package (model-finder-mcp); pypi/ holds the package marker
glama.json Glama directory ownership
.github/workflows/ tests on every push; release.yml publishes tags to PyPI and the MCP Registry
.claude-plugin/ Claude Code (and Copilot CLI) plugin + marketplace manifests
.codex-plugin/ Codex plugin manifest
.agents/plugins/ Codex repository marketplace
.cursor-plugin/ Cursor plugin + marketplace manifests
gemini-extension.json Gemini CLI extension (context: GEMINI.md)
plugin.json Agent Plugins manifest with OpenAI listing metadata
AGENTS.md, GEMINI.md skill index for agents that read root instructions
PRIVACY.md, TERMS.md, SUPPORT.md pages the marketplace listings link to
assets/ logo, README plates, and DESIGN.md (the visual language)
skills/eval-models/scripts/mf_core.py は、各スキルを単独で動作させるため、skills/route-models/scripts/ にも複製されています。テストスイートは、複製したファイルの内容が異なる場合に失敗します。
サポート · プライバシー · 利用規約 · セキュリティ · データ保護
MIT License · © 2026 Indigloo Softwares Private Limited
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。