feat: let agents look up model params over MCP - #172
Open
brunobuddy wants to merge 1 commit into
Open
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
brunobuddy
force-pushed
the
feat/mcp-server
branch
from
July 30, 2026 13:13
70f5d90 to
037dd69
Compare
This was referenced Jul 30, 2026
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.
brunobuddy
force-pushed
the
feat/validate-endpoint
branch
from
July 30, 2026 13:16
a0bc817 to
3d08d2e
Compare
brunobuddy
force-pushed
the
feat/mcp-server
branch
from
July 30, 2026 13:16
037dd69 to
fa43b79
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
modelparams-mcppackage. Four read-only tools:validate_model_params,get_model_params,list_models,find_models_supporting./api/v1/index.json,llms.txt, and the/apidocs page.👤 For users
No network, no API key.
validate_model_paramsreturns both the diagnosis and a correctedsafeParamspayload, so an agent that doesn't want to reason about the rules can take it and proceed.find_models_supportingreturns near-miss suggestions when nothing matches, since callers usually have the provider's spelling rather than the catalog's.🔧 For operators
modelparams-mcpneeds its own npm trusted publisher before the first release, pointing atrelease-modelparams.yml(orgmnfst, repomodelparams.dev). Without it that publish step fails. Renaming the workflow file breaks trusted publishing for both packages.modelparamspublishes 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
"modelparams": "^0.0.1", and for0.0.xthat 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.InMemoryTransport, not just the tool functions.