[Model Finder: a field of test results across sixteen candidate models ordered by cost, with the cheapest model that passes the threshold marked in vermilion]
[tests]
[Python 3.9+]
[dependencies: none]
[MCP: local stdio]
[license MIT]
[Socket]
[Glama]
[Model Finder MCP on mcprush]
[Listed on MCPNav]
Find the cheapest AI model that passes your own tests, and keep it that way.
Claude · Gemini · OpenAI · Bedrock · Vertex AI · local models — published by Indigloo
Install ·
How it works ·
MCP tools ·
Quick start ·
Privacy ·
Security
[!NOTE]
Runs locally. Model Finder is a set of four Agent Skills plus a local MCP server (mcp/server.py, Python 3.9+ standard library, no dependencies). The server makes no network calls, needs no API keys, never writes files and never sends anything to Indigloo. Only the eval script and the router it generates call model providers, with your own keys, when you run them.
How it works
Advisory only: nothing is deployed, your active model is never changed, and data goes only to providers you configure and approve. Personal data and secrets are blocked before sending by default; see DATA-PROTECTION.md for how this maps to India's DPDP Act.
Install
Requires Python 3.9+ on your PATH as python3 (see Windows). Nothing to pip install.
Gemini CLI only starts extension MCP servers in folders you have trusted; it asks the first time you open a project.
Manual MCP setup
VS Code — .vscode/mcp.json (top-level key is servers)
Cursor — .cursor/mcp.json in your project, or ~/.cursor/mcp.json
JetBrains, Windsurf, Claude Desktop and others — mcpServers
If the client has no workspace variable, write the project path:
Clone the repo once and replace /absolute/path/to/EvalHarness. Repository tools read only inside the workspace: the roots your client shares over MCP, else MODEL_FINDER_ROOT, else the server's working directory. A filesystem root or home directory is refused.
Windows
Codex, Copilot CLI and Cursor start the server as ./mcp/server.py, which relies on its #!/usr/bin/env python3 line; on Windows use the manual setup or uvx model-finder-mcp. If python3 is not on your PATH, the MCP server will not start. Install Python from python.org (tick "Add python.exe to PATH") and either create a python3 alias or use the manual setup with "command": "py" and "args": ["-3", "C:/path/to/EvalHarness/mcp/server.py"].
MCP tools
Ten read-only tools, so the same features work as tools in every supported IDE:
Every tool returns a readable markdown summary by default and the full result as structured JSON (response_format: "json" puts the JSON in the text too). Large results are paginated (limit, offset, has_more, next_offset), modelfinder_audit_models can filter by provider family or hard-coded IDs, and unknown arguments are rejected with the list of valid ones. The server never opens a network connection, never reads API keys and never writes files. Only eval_models.py and the generated router.py call model providers, with your keys, when you run them.
Quick start
In your IDE, ask: "Audit which AI models this repo uses, then draft evals from our prompts and test whether a cheaper model passes." The assistant uses the MCP tools to audit and draft, agrees checks with you, and asks before the paid run.
From a terminal:
Size a local model:
Tests
End-to-end tests run against a local mock of the OpenAI-compatible, Anthropic, and Gemini APIs, and drive the MCP server over stdio; no key or network access is needed. evaluations/ holds a 10-question agent evaluation of the MCP tools.
Listed on
[Model Finder MCP server]
Also on Glama, MCPNav, Socket, PyPI and the MCP Registry.
Sponsor
Model Finder is free and MIT-licensed. If it saves you money on model calls, you can support its maintenance through GitHub Sponsors. Sponsorship funds maintenance and new features; it does not buy priority support or change what the tools recommend.
Releases
- Bump the version everywhere (
python3 tests/check_release_version.py lists any field that differs) and add a CHANGELOG entry.
- Push a tag
vX.Y.Z. release.yml runs the tests, checks the versions, builds the package, publishes it to PyPI with trusted publishing, then publishes server.json to the official MCP Registry.
- One-time setup:
- PyPI: add a pending trusted publisher for project
model-finder-mcp (owner Abhiindigloo, repository EvalHarness, workflow release.yml, environment pypi), ideally from the Indigloo PyPI organization, and create the pypi environment in the repository settings.
- MCP Registry (
co.indigloo/model-finder, verified through the indigloo.co domain). On your own machine, with OpenSSL 3:
Add the TXT record at the apex of indigloo.co, create a repository environment mcp-registry, store the hex key as its secret MCP_REGISTRY_PRIVATE_KEY, then delete mcp-registry-key.pem or keep it in a password manager.
Repository layout
skills/eval-models/scripts/mf_core.py is duplicated in skills/route-models/scripts/ so each skill works on its own. The test suite fails if the copies differ.
Support · Privacy · Terms · Security · Data protection
MIT License · © 2026 Indigloo Softwares Private Limited