{"serverId":"mcp-registry/com.materialscodegraph/mcg","tools":[{"name":"mcg_run","fixed":{"name":"mcg_run","description":"Launch the quoted simulation. SPENDS TOKENS: provisions hardware and bills the account. Requires the quote_id and quote_hash from mcg_quote (a stale hash or an expired quote REJECTS: re-quote and retry) and a client-generated idempotency_key (replaying it returns the existing run instead of launching twice). Optional max_tokens is a hard ceiling: a quote above it REJECTS the launch, never clamps. Returns run_id.","inputSchema":{"type":"object","required":["quote_id","quote_hash","idempotency_key"],"properties":{"quote_id":{"type":"string","description":"The quote_id returned by mcg_quote."},"max_tokens":{"type":"integer","minimum":1,"description":"Hard token ceiling: the launch is REJECTED if the quote exceeds it."},"quote_hash":{"type":"string","description":"The quote_hash mcg_quote returned: proves the launch prices the exact quote the client saw."},"idempotency_key":{"type":"string","description":"Client-generated key; retrying a launch with the same key must not double-charge."}}},"annotations":{"idempotentHint":false,"readOnlyHint":false,"destructiveHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":288,"tokensAfter":288}],"toolsChanged":1,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}