
Connects your MCP client to the XFMS model recommendation engine at xfms.xpansion.dev. Exposes five tools: rank returns a scored shortlist of LLMs with rationale, pick gives you the single best match, discover infers which quality dimensions matter for your task without ranking, and compare/benchmark run live A/B tests against real models through OpenRouter. The engine aggregates eight benchmark sources, normalizes scores, and weights dimensions based on your stated purpose. The first three tools are free with no key required. Compare and benchmark need your OpenRouter API key passed as an X-OpenRouter-Key header since they actually run test queries against production models. Useful when you're tired of guessing which model to use for a specific task and want evidence instead of vibes.
Public tool metadata for what this MCP can expose to an agent.
rankRank LLMs for a stated purpose. Returns a shortlist with weights, scores, and plain-English rationale per pick. Use when the user wants to see and compare alternatives, not just one answer.4 paramsRank LLMs for a stated purpose. Returns a shortlist with weights, scores, and plain-English rationale per pick. Use when the user wants to see and compare alternatives, not just one answer.
capabilitiesarrayprimaryarraypurposestringtop_nintegerpickReturn the single best LLM for a stated purpose. Concise output, no list. Use when the user has settled on the criteria and just wants one answer.1 paramsReturn the single best LLM for a stated purpose. Concise output, no list. Use when the user has settled on the criteria and just wants one answer.
purposestringdiscoverShow which quality dimensions matter for a stated purpose, WITHOUT ranking any models. Returns the inferred weights and the discovery-walk trace. Useful for understanding how XFMS interprets the purpose before committing to a pick.1 paramsShow which quality dimensions matter for a stated purpose, WITHOUT ranking any models. Returns the inferred weights and the discovery-walk trace. Useful for understanding how XFMS interprets the purpose before committing to a pick.
purposestringFind the AI model your job really needs, and prove it on your own tasks.
AI is specialized. There are 450+ models on OpenRouter, and the one every vendor calls "the best" was not measured on your job. XF Model Source works inside the assistant you already use (Claude Code, Cursor, Cline, Continue, any MCP client) and does three things:
Scores and claims can't tell you whether a model will follow your exact format or avoid inventing a detail. So the test, not the leaderboard, makes the final call, and each shortlisted model shows how it has really done in our own comparisons.
The server is hosted. There is nothing to install. The address is:
https://xfms.xpansion.dev/mcp
claude mcp add model-source --transport http https://xfms.xpansion.dev/mcp, then /mcp
inside Claude Code to sign in.~/.cursor/mcp.json):{
"mcpServers": {
"model-source": { "url": "https://xfms.xpansion.dev/mcp" }
}
}
Sign-in is free and needs only your email. Then ask your assistant: "Help me pick an AI model for pulling the invoice number, date, total and vendor out of invoices as JSON, about 2,000 a month. The cheapest one that gets every field right."
X-OpenRouter-Key header. It is
used for that run and never stored.discover (finds the job's real requirements), rank (the full shortlist with the evidence behind it),
pick (the single best proven model), compare (the screening round and test on your tasks), benchmark,
field_results (what has worked for jobs of the same kind), and watch_job (XF Model Watch).
No conversations are kept. We log the one-line description you start with and an anonymous ID to count use. Our own daily comparisons are published at https://xfms.xpansion.dev, every answer and every verdict, so the method can be checked.
docs/methodology.md.A comparison uses a handful of your sample tasks, and a model grades part of the answers. Read a result as strong evidence for your decision, not a guarantee. We can only report on models we have tested, and the ranking before the test is a shortlist, not a verdict.
XFMS doesn't stand alone — it's the model-selection layer of the Xpansion Framework.
Humans communicate with intent compressed by contextual experience. AI simply predicts patterns in language. Xpansion is the execution layer that bridges them.
Every sentence a human types carries lifetimes of context that the speaker assumes the other side will decompress — what counts as "good enough," which constraints are non-negotiable, what failures last month taught them, what their house style demands. AI doesn't share that context. It predicts patterns in language, filling in the gaps with whatever's plausible to its training data. The result reads as plausible but isn't intent-honoring: sessions lose context, security holes ship silently, contracts break without warning, and there's no way to verify that what was built actually matches what was asked for. They don't know what they don't know, and neither does AI.
Xpansion closes the gap. It decompresses finite intent upfront, enforces it through code-driven AI behavior, and delivers binary-verified results against the intent across persistent memory that survives every session boundary.
When you say "the best model for this task", you're compressing a lot: what counts as best depends on whether you care about factual reasoning or coherent prose, whether cost matters more than latency, whether you actually need vision or just text, whether the call has to stream, whether a particular benchmark dominates your real workload. AI on its own predicts the pattern — what model do most people pick for queries that look like this? — and gives you a plausible-sounding answer that's often wrong for you.
XFMS does the decompression. It takes your stated purpose, infers which benchmarks actually map to it, honors your stated primary preferences without silently overriding them, surfaces the latent requirements you didn't know to ask about (streaming for real-time chat, vision for OCR), and probes the top picks against your real query to verify the recommendation — not predict it. Then it tells you, in plain English, why it picked what it picked.
The rest of the Xpansion stack enforces the same decompress- enforce-verify contract for different parts of the work:
Dispatch) — runtime task router. Watches what
kind of work you're doing and routes it to the right tool.XFFI) — turns "build me a feature" into a
finite spec with binary terminals before any code gets written.
Stops scope drift at the source.XFBA) — checks every code edit against
contracts. Stops broken function signatures and mismatched types
from ever reaching production.XSIA) — maps the blast radius of
a proposed change before it lands. Tells you what else might
break.XFTC) — manages how much of the
conversation has to stay in the assistant's working memory.
Prevents context loss in long sessions.XFXA) — verifies every promise from the
spec was actually met before declaring a task done. The final
binary check.XFMT) — session snapshots that stay
searchable across conversations. Your assistant remembers what
you decided last week.XFSA) — static + AI security scanning on
every code edit. Catches secrets, injection paths, and unsafe
patterns before they ship.The full picture, with the rest of the modules, lives at xpansion.dev.
Xpansion is in pre-signup right now. Early access and founding licenses are open at xpansion.dev. XFMS is the first piece to ship public + free — the rest follow.
git clone https://github.com/VisionAIrySE/XFMS.git
cd XFMS
python3 -m venv .venv
.venv/bin/pip install -e .[dev]
.venv/bin/python -m pytest tests/ -v
The tests mock the HTTP layer so they run offline — no API keys needed to develop.
This client library is MIT-licensed. The recommender engine, the
catalog, and the ingestion pipeline are not open source. See
NOTICE for the patent reservation language and the
relationship to the broader Xpansion Framework IP.
SECURITY.md