Local BYOK MCP for workload-specific AI model selection using current OpenRouter data and Artificial Analysis benchmarks.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by ModelShortlist.
recommend_modelsThe primary workload-specific recommendation tool. It accepts hard constraints such as:
compare_modelsReturns OpenRouter catalog information, ZDR availability, Artificial Analysis benchmark information when available, and source freshness for a specified shortlist of OpenRouter model IDs.
modelshortlist_statusShows source freshness, OpenRouter catalog coverage, ZDR coverage, model matching coverage, ambiguous/unmatched records, cache state, and Artificial Analysis rate-limit metadata.
Stop guessing which AI model to use.
ModelShortlist is a local, bring-your-own-key MCP server that gives your AI assistant model-selection evidence from the full OpenRouter model catalog plus Artificial Analysis benchmarks. It refreshes upstream evidence on demand/cache expiry and explicitly reports when any source is stale or unavailable. Zero Data Retention (ZDR) is an optional hard constraint only when you explicitly require it.
No hosted ModelShortlist backend. No account. No telemetry in the MCP. Your API keys stay with the local MCP process and are used to call the upstream services directly.
@agentic.artists/modelshortlistio.github.AgenticArtists/modelshortlistModel choice is no longer just "which model has the highest benchmark score?" The right answer depends on the workload, capabilities, cost, context, availability, and privacy requirements you actually have.
ModelShortlist helps your chat agent reason over:
By default, ZDR is not an eligibility requirement. ModelShortlist considers the full OpenRouter catalog. If you explicitly require ZDR, it switches to OpenRouter ZDR endpoint evidence and requires hard constraints to be satisfied by the same real endpoint.
The host AI makes the final recommendation based on your use case. ModelShortlist deliberately does not impose one universal ranking formula.
Use the browser-only configurator:
It generates client-specific config or commands for:
You paste your own Artificial Analysis and OpenRouter keys into the configurator. They are used in your browser to generate configuration text and are not sent to ModelShortlist or a ModelShortlist backend.
Requirements:
Most local stdio MCP clients, including Claude Desktop, Hermes Desktop, and Cursor, can launch ModelShortlist directly with npx:
On Windows GUI clients where npx is not available on the app's PATH, use npx.cmd or use the guided clone setup below.
This option stores API keys in a local gitignored .env.local file and prints ready-to-paste MCP config using absolute executable paths.
The setup command:
.env.localIf PowerShell blocks npm.ps1, use npm.cmd; you do not need to change your execution policy.
More setup details are in LOCAL_MCP.md.
What's the cheapest model I'd trust with repetitive coding subagents? Tool use is required.
I need 200k context and tool use. What are my best current options?
I need 200k context, tool use, and ZDR. What are my best current options?
Is the premium frontier model actually worth the price for this coding workload?
Best model for extracting structured data from thousands of documents while keeping output cost low?
I need maximum autonomous coding performance under $10 per million output tokens. What should I use?
recommend_modelsThe primary workload-specific recommendation tool. It accepts hard constraints such as:
When ZDR is not required, it considers the full OpenRouter catalog. When ZDR is explicitly required, it filters against ZDR endpoint evidence and verifies hard constraints against the same endpoint.
Artificial Analysis benchmark data is attached only when the model can be confidently reconciled. Models without a confident benchmark match remain eligible with missing benchmark fields rather than being silently removed.
Strict price ceilings account conservatively for all pricing tiers that OpenRouter publishes for a model or endpoint rather than assuming the cheapest/base tier applies universally.
compare_modelsReturns OpenRouter catalog information, ZDR availability, Artificial Analysis benchmark information when available, and source freshness for a specified shortlist of OpenRouter model IDs.
modelshortlist_statusShows source freshness, OpenRouter catalog coverage, ZDR coverage, model matching coverage, ambiguous/unmatched records, cache state, and Artificial Analysis rate-limit metadata.
ModelShortlist does not silently call stale evidence βcurrent.β Tool responses expose source-level status:
fresh: the latest attempted refresh succeeded.stale: the latest refresh failed and an earlier in-process copy is being used with a warning.unavailable: the source failed and there is no cached copy in the current process.Artificial Analysis can fail independently without removing OpenRouter models; benchmark fields remain missing rather than being treated as zero or poor performance. OpenRouter ZDR metadata can also be unavailable for ordinary requests because ZDR is optional.
The OpenRouter model catalog is foundational. If it is unavailable with no cached copy, or returns an empty catalog and no earlier good copy exists, ModelShortlist refuses to produce a shortlist.
For a ZDR-required request, unavailable ZDR endpoint evidence fails closed rather than being interpreted as βno models qualify.β If cached ZDR evidence is stale, that limitation is surfaced and ZDR must still be enforced/revalidated on the actual OpenRouter inference request.
See docs/TROUBLESHOOTING.md for failure modes and client diagnostics.
The Artificial Analysis Free API does not expose an OpenRouter model ID. ModelShortlist reconciles models conservatively:
ModelShortlist does not fuzzy-match uncertain model variants. A missing benchmark is better than attaching benchmark data to the wrong model. An unmatched OpenRouter model can still be considered; it simply carries no Artificial Analysis metrics.
Regression coverage explicitly protects mini/base, pro/small/thinking, preview/stable, dated-release, duplicate-name, and broken-alias cases.
Verified aliases live in config/aliases.json.
ModelShortlist tracks which models have ZDR-capable OpenRouter endpoints, but it does not filter to them unless the user explicitly requires Zero Data Retention.
When ZDR is required, ModelShortlist checks endpoint-level eligibility and hard constraints. If you later call the selected model through OpenRouter, enforce ZDR again in the actual inference request:
When ZDR is not required, do not add provider.zdr=true merely because a model happens to support it.
ModelShortlist recommends; it does not route inference or host models.
ModelShortlist uses data accessed with your own API credentials.
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/modelshortlist)<a href="https://allmcps.com/mcp/modelshortlist"><img src="https://allmcps.com/api/badge/modelshortlist?style=directory" alt="ModelShortlist on AllMCPs" /></a>