Problem
The live MCP tools/list metadata currently publishes a machine-readable inputSchema only for submit_work_proof. Other MCP tools advertise argument-taking behavior in descriptions, but do not expose schemas for agent callers to validate against before calling.
This affects read-only tools such as list_bounties, get_bounty, list_bounty_attempts, get_ledger_entry, get_proof, get_wallet, and get_balance, and write-capable tools such as register_wallet and submit_wallet_transfer. Agents have to infer arguments from prose docs or trial-and-error, even though the handlers already validate these arguments internally.
Evidence
- Live
tools/list from https://mcp.mrwk.online/mcp shows inputSchema only on submit_work_proof; the other tools have name and description only.
- Current source has the same shape in
app/mcp.py: only submit_work_proof includes inputSchema.
- Current
app/mcp_tools.py already enforces argument types and bounds for the other tools, including positive integer ids, bounded limit, enum-like status, boolean flags, wallet addresses, proof hashes, ledger sequence, and signed transfer fields.
- Public docs describe MCP usage and arguments manually, but MCP metadata is not yet the complete contract for agent callers.
Proposed work
Add conservative inputSchema metadata for every MCP tool that accepts arguments, aligned with existing handler validation.
Examples:
list_bounties: status, q, sort, limit
get_bounty: id, include_awards
list_bounty_attempts: bounty_id, include_expired, limit
get_balance: account
register_wallet: public_key_hex, optional label
get_wallet: address
submit_wallet_transfer: signed transfer fields already required by the handler
get_ledger_entry: sequence
get_proof: hash
Add focused tests that tools/list includes schemas for all argument-taking tools and preserves the existing submit_work_proof schema. A short docs note can point agent callers to MCP metadata as the argument contract.
Expected value
- Agents can validate tool arguments from MCP metadata instead of scraping docs or probing invalid calls.
- Existing server-side validation stays the source of truth; schemas mirror behavior rather than changing behavior.
- Future MCP clients get a more complete contract for generated forms, typed wrappers, and preflight checks.
- Maintainers get tests that prevent new argument-taking tools from being added without a schema.
Relationship to related proposals
Possible acceptance criteria
- Every MCP tool with required or optional arguments has an
inputSchema in tools/list.
- Schema constraints match current handler validation where practical.
submit_work_proof keeps its existing schema behavior.
- Tests fail if an argument-taking MCP tool is missing schema metadata.
- No ledger, payout, treasury, wallet-signature, proof, bounty acceptance, or private-data behavior changes.
Evidence or tests required
- Call
tools/list locally or in tests and assert schemas are present for all argument-taking tools.
- Run focused MCP route/tool tests that cover the schema list.
- Run existing tests for
call_mcp_tool behavior to confirm runtime validation did not change.
- Optionally run docs smoke if a documentation note is added.
Duplicate search
I searched for existing issues using phrases including:
MCP tools input schemas
inputSchema MCP
tools/list schema
MCP tool schema
I did not find an existing proposed-work item for full MCP argument schema coverage. Related but distinct work is #688, #698, #676, #697, #681, #682, and #683 as described above.
Out of scope
- No new MCP tools.
- No change to runtime validation semantics unless needed to make schemas accurately match current behavior.
- No changes to ledger entries, bounty payouts, proof creation, treasury proposals, wallet signatures, balances, exchange, bridge, cash-out, private security handling, or fabricated paid-work status.
- No private contact or private payment-channel behavior.
Problem
The live MCP
tools/listmetadata currently publishes a machine-readableinputSchemaonly forsubmit_work_proof. Other MCP tools advertise argument-taking behavior in descriptions, but do not expose schemas for agent callers to validate against before calling.This affects read-only tools such as
list_bounties,get_bounty,list_bounty_attempts,get_ledger_entry,get_proof,get_wallet, andget_balance, and write-capable tools such asregister_walletandsubmit_wallet_transfer. Agents have to infer arguments from prose docs or trial-and-error, even though the handlers already validate these arguments internally.Evidence
tools/listfromhttps://mcp.mrwk.online/mcpshowsinputSchemaonly onsubmit_work_proof; the other tools havenameanddescriptiononly.app/mcp.py: onlysubmit_work_proofincludesinputSchema.app/mcp_tools.pyalready enforces argument types and bounds for the other tools, including positive integer ids, boundedlimit, enum-likestatus, boolean flags, wallet addresses, proof hashes, ledger sequence, and signed transfer fields.Proposed work
Add conservative
inputSchemametadata for every MCP tool that accepts arguments, aligned with existing handler validation.Examples:
list_bounties:status,q,sort,limitget_bounty:id,include_awardslist_bounty_attempts:bounty_id,include_expired,limitget_balance:accountregister_wallet:public_key_hex, optionallabelget_wallet:addresssubmit_wallet_transfer: signed transfer fields already required by the handlerget_ledger_entry:sequenceget_proof:hashAdd focused tests that
tools/listincludes schemas for all argument-taking tools and preserves the existingsubmit_work_proofschema. A short docs note can point agent callers to MCP metadata as the argument contract.Expected value
Relationship to related proposals
tools/listargument metadata.submit_work_proofJSON output shape. This issue covers input schemas across MCP tools.Possible acceptance criteria
inputSchemaintools/list.submit_work_proofkeeps its existing schema behavior.Evidence or tests required
tools/listlocally or in tests and assert schemas are present for all argument-taking tools.call_mcp_toolbehavior to confirm runtime validation did not change.Duplicate search
I searched for existing issues using phrases including:
MCP tools input schemasinputSchema MCPtools/list schemaMCP tool schemaI did not find an existing proposed-work item for full MCP argument schema coverage. Related but distinct work is #688, #698, #676, #697, #681, #682, and #683 as described above.
Out of scope