Skip to content

feat: let agents look up model params over MCP - #172

Open
brunobuddy wants to merge 1 commit into
feat/validate-endpointfrom
feat/mcp-server
Open

feat: let agents look up model params over MCP#172
brunobuddy wants to merge 1 commit into
feat/validate-endpointfrom
feat/mcp-server

Conversation

@brunobuddy

Copy link
Copy Markdown
Member

Third of four. Stacked on #171. The diff here is only the MCP server and its release wiring.

💭 Why

An agent writing LLM code from training data gets parameters wrong constantly, because providers keep dropping knobs. There's no MCP server for this anywhere, so the agent guesses. This gives it something to look up.

✨ What changed

  • New modelparams-mcp package. Four read-only tools: validate_model_params, get_model_params, list_models, find_models_supporting.
  • Both packages now publish from the one release workflow, in lockstep at the same version.
  • CI job builds the package, runs its tests, and smoke-tests the binary over real stdio.
  • Listed in /api/v1/index.json, llms.txt, and the /api docs page.

👤 For users

npx -y modelparams-mcp

No network, no API key. validate_model_params returns both the diagnosis and a corrected safeParams payload, so an agent that doesn't want to reason about the rules can take it and proceed. find_models_supporting returns near-miss suggestions when nothing matches, since callers usually have the provider's spelling rather than the catalog's.

🔧 For operators

modelparams-mcp needs its own npm trusted publisher before the first release, pointing at release-modelparams.yml (org mnfst, repo modelparams.dev). Without it that publish step fails. Renaming the workflow file breaks trusted publishing for both packages.

modelparams publishes first so the exact dependency the server pins already resolves. Publishing both from one workflow rather than two triggered by the same push keeps that order deterministic.

Submitting the server to the MCP registry is still manual.

📝 Notes

  • Fixes a latent caret trap. The package declared "modelparams": "^0.0.1", and for 0.0.x that resolves to >=0.0.1 <0.0.2, so the server would have frozen on the first catalog and never received a model update. Now an exact pin the release workflow rewrites, which also makes "which catalog does version x.y.z carry?" have one answer.
  • There's a step that forces a patch when only MCP source changed, since the catalog classifier wouldn't otherwise see a reason to publish.
  • 18 tests driven over the real MCP protocol via InMemoryTransport, not just the tool functions.

@vercel

vercel Bot commented Jul 30, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
modelparams.dev Ready Ready Preview Jul 30, 2026 1:17pm

Request Review

Third of four, on top of the validate endpoint.

Adds modelparams-mcp: an MCP server over the catalog with four read-only
tools. validate_model_params is the one that earns its keep, returning
both the diagnosis and a corrected safeParams payload. The others cover
get_model_params, list_models and find_models_supporting.

An agent writing LLM code from training data gets parameters wrong
constantly, because the data goes stale as providers drop knobs. This
gives it something to look up instead. The catalog is compiled in, so the
server needs no network access and no API key.

Both packages now publish from the one release workflow, in lockstep at
the same version, modelparams first so the exact dependency the server
pins already resolves on the registry. Publishing from a single workflow
rather than two triggered by the same push keeps that order deterministic.

The lockstep pin also fixes a caret trap: the server declared
"modelparams": "^0.0.1", and for 0.0.x versions that resolves to
>=0.0.1 <0.0.2, which would have frozen it on the first catalog forever.

Note for whoever cuts the first release: modelparams-mcp needs its own npm
trusted publisher pointing at release-modelparams.yml, or the publish step
fails.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

meta Repo docs, CI, and config site Website code or tooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant