ci / checks (push) Failing after 14s
The crate maps MCP tool catalogs to clap commands and back, and has no rhema dependencies — it was in-tree only because the workspace glob reached it. Its own repository gives it its own release cadence and its own crates.io token, scoped to this crate alone.
Fixtures
Trimmed inputSchema objects from real MCP servers, plus two
hand-written stand-ins, so the mapping matrix runs against real shapes.
All upstream work is MIT-licensed.
Vendored from github/github-mcp-server
Source: https://github.com/github/github-mcp-server, MIT license,
main @ 4bcdcdf8d7be, fetched 2026-11-03. The files carry the
inputSchema object of the named tool, verbatim:
create_pull_request.json— flat scalars, optional booleans, an array of strings.search_repositories.json— a boolean withdefault: true(minimal_output), stringenums (sort,order), constraint keywords (minimum,maximum) the mapping ignores.update_pull_request.json— thestate: ["open", "closed"]enum.create_issue.json— flat required scalars, withx-mcp-headerextension keys the mapping ignores.projects_write_excerpt.json— hand-trimmed from the 26-propertyprojects_writetool:iterations(array of objects with per-itemrequired) andupdated_field(aoneOfof object variants) kept verbatim, every other property dropped,requiredemptied because both listed names (method,owner) were among the dropped.
Hand-written stand-ins
Documented stand-ins for the other two servers named in the spec; the shapes are trimmed from their actual tool definitions, not invented.
additional_fields.json— the pydantic shapesooperset/mcp-atlassianemits: required scalars, apatternthe mapping ignores, andadditional_fieldsas a three-variantanyOf(object | string | null), which is the JSON-flag case, not the nullable case.get_scene_info.json— the FastMCP shapeahujasid/blender-mcpemits for every optional parameter:anyOf: [<T>, null]nullable forms (user_promptwithdefault: "",query,fieldsas a nullable array of strings,limitinteger withdefault: 20) and a requiredcodestring.