{"ok":true,"site":{"host":"webmcp-qcg.vercel.app","url":"https://webmcp-qcg.vercel.app/","type":"live","desc":"WebMCP-QCG is a browser-native quantum preflight workbench with bounded local Bell simulation and explicit human authority.","tools":[{"name":"inspect_quantum_experiment","kind":"answer","impl":"imperative","description":"Return metadata for the quantum file the person loaded in this browser. The result includes manifest_id for evaluate_quantum_call and never includes the file contents.","title":"Inspect quantum experiment","annotations":{"readOnlyHint":true,"untrustedContentHint":true,"destructiveHint":false},"inputSchema":{"type":"object","additionalProperties":false,"required":[],"properties":{"artifact_id":{"type":"string","pattern":"^[a-z0-9][a-z0-9_-]{2,63}$","description":"Optional identifier shown by the current QCG session. Omit it to inspect the quantum file the person already loaded in this browser."}}},"outputSchema":{"anyOf":[{"type":"object","properties":{"schema_version":{"type":"string","const":"webmcp-qcg.artifact-manifest.v2"},"manifest_id":{"type":"string","pattern":"^[a-z0-9][a-z0-9_-]{2,63}$","description":"Pass this identifier to evaluate_quantum_call."},"artifact_id":{"type":"string","pattern":"^[a-z0-9][a-z0-9_-]{2,63}$","description":"Identifies the human-loaded file inside the current browser session."},"file_name":{"type":"string","maxLength":128},"artifact_digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"byte_size":{"type":"integer","minimum":1,"maximum":131072},"format":{"type":"string","enum":["qsharp","openqasm3","qiskit-python","cirq-tfq-python","torchquantum-python","pennylane-python","cudaq-python","cudaq-cpp","braket-python","qir-text"]},"artifact_profile":{"type":"string","enum":["qsharp-qdk","openqasm3-qdk","qiskit-python","cirq-tfq-python","torchquantum-python","pennylane-python","cudaq-python","cudaq-cpp","braket-python","qir-text"]},"capabilities":{"type":"object","properties":{"inspect":{"type":"boolean","const":true},"compile":{"type":"boolean"},"simulate":{"type":"boolean"},"static_only":{"type":"boolean"}},"required":["inspect","compile","simulate","static_only"],"additionalProperties":false},"provenance":{"type":"string","enum":["human_import","demo_fixture"]},"compiler":{"oneOf":[{"type":"object","properties":{"name":{"type":"string","const":"qsharp-lang"},"version":{"type":"string","const":"1.31.0"},"status":{"type":"string","enum":["compiled","invalid","unverified"]},"diagnostic_count":{"type":"integer","minimum":0,"maximum":1000},"diagnostics":{"maxItems":4,"type":"array","items":{"type":"string","maxLength":160}},"profile_digest":{"type":"string","maxLength":80},"bounded_entrypoint":{"type":"boolean"},"estimated_qubits":{"anyOf":[{"type":"integer","minimum":0,"maximum":9},{"type":"null"}]}},"required":["name","version","status","diagnostic_count","diagnostics","profile_digest","bounded_entrypoint","estimated_qubits"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","const":"qcg-static-inspector"},"version":{"type":"string","const":"1.0.0"},"status":{"type":"string","enum":["compiled","invalid","unverified"]},"diagnostic_count":{"type":"integer","minimum":0,"maximum":1000},"diagnostics":{"maxItems":4,"type":"array","items":{"type":"string","maxLength":160}},"profile_digest":{"type":"string","maxLength":80},"bounded_entrypoint":{"type":"boolean"},"estimated_qubits":{"anyOf":[{"type":"integer","minimum":0,"maximum":9},{"type":"null"}]}},"required":["name","version","status","diagnostic_count","diagnostics","profile_digest","bounded_entrypoint","estimated_qubits"],"additionalProperties":false}]},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["schema_version","manifest_id","artifact_id","file_name","artifact_digest","byte_size","format","artifact_profile","capabilities","provenance","compiler","created_at"],"additionalProperties":false},{"type":"object","additionalProperties":false,"required":["truncated","summary","budget_bytes"],"properties":{"truncated":{"const":true},"summary":{"type":"string"},"budget_bytes":{"const":5000}}},{"type":"object","additionalProperties":false,"required":["ok","error"],"properties":{"ok":{"const":false},"error":{"type":"object","additionalProperties":false,"required":["code","message","retryable","next_step"],"properties":{"code":{"type":"string","enum":["execution_cancelled","invalid_arguments","human_input_required","human_consent_required","stale_context","unsupported_request","internal_failure"]},"message":{"type":"string","maxLength":260},"retryable":{"type":"boolean","description":"True only when retrying after the stated next step can succeed."},"next_step":{"type":"string","maxLength":220,"description":"The exact recovery action for the agent or person."}}}}}]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"evaluate_quantum_call","kind":"act","impl":"imperative","description":"Review the inspected file against a selected target and return one recommended next step. Use manifest_id from inspect_quantum_experiment. The result includes recommendation_id for an approved local simulation.","title":"Evaluate quantum call","annotations":{"readOnlyHint":true,"destructiveHint":false},"inputSchema":{"type":"object","additionalProperties":false,"required":["manifest_id","target_profile_id","scientific_intent","observable","parameters","requested_limits"],"properties":{"manifest_id":{"type":"string","pattern":"^[a-z0-9][a-z0-9_-]{2,63}$","description":"Use manifest_id returned by inspect_quantum_experiment."},"target_profile_id":{"type":"string","pattern":"^[a-z0-9][a-z0-9_-]{2,63}$","description":"Use the target profile selected in the visible QCG decision card."},"scientific_intent":{"type":"string","minLength":12,"maxLength":320,"description":"Plain-language purpose of the proposed quantum call."},"observable":{"type":"string","minLength":3,"maxLength":80,"description":"Measurement or result the proposed call is expected to produce."},"parameters":{"type":"object","description":"Optional bounded experiment metadata. Use lower_snake_case keys; values must be short strings, finite bounded numbers, or booleans. Source code, credentials, paths and URLs are not accepted here.","propertyNames":{"pattern":"^[a-z][a-z0-9_]{0,47}$"},"additionalProperties":{"anyOf":[{"type":"string","maxLength":120,"description":"Short non-sensitive metadata value."},{"type":"number","minimum":-1000000000000,"maximum":1000000000000,"description":"Finite bounded numeric metadata value."},{"type":"boolean","description":"Boolean experiment metadata value."}]},"maxProperties":12},"requested_limits":{"type":"object","additionalProperties":false,"required":["shots","timeout_ms","max_qubits","target"],"properties":{"shots":{"type":"integer","minimum":1,"maximum":256},"timeout_ms":{"type":"integer","minimum":500,"maximum":15000},"max_qubits":{"type":"integer","minimum":1,"maximum":8},"target":{"type":"string","enum":["local_simulator","external_reference"]}}}}},"outputSchema":{"anyOf":[{"type":"object","properties":{"schema_version":{"type":"string","const":"webmcp-qcg.recommendation.v2"},"recommendation_id":{"type":"string","pattern":"^[a-z0-9][a-z0-9_-]{2,63}$","description":"Pass this identifier to run_bounded_local_simulation when local simulation is recommended."},"manifest_id":{"type":"string","pattern":"^[a-z0-9][a-z0-9_-]{2,63}$","description":"The manifest identifier received from inspect_quantum_experiment."},"target_profile_id":{"type":"string","pattern":"^[a-z0-9][a-z0-9_-]{2,63}$"},"decision":{"type":"string","enum":["reuse_result","reject","recompile","simulate_first","ready_for_external_execution"]},"reason_codes":{"maxItems":8,"type":"array","items":{"type":"string","maxLength":64}},"unknowns":{"maxItems":6,"type":"array","items":{"type":"string","maxLength":160}},"confidence":{"type":"string","enum":["high","medium","low"]},"safer_alternative":{"type":"string","maxLength":220},"scientific_intent":{"type":"string","maxLength":320},"observable":{"type":"string","maxLength":80},"parameters_digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"requested_limits":{"type":"object","properties":{"shots":{"type":"integer","minimum":1,"maximum":256},"timeout_ms":{"type":"integer","minimum":500,"maximum":15000},"max_qubits":{"type":"integer","minimum":1,"maximum":8},"target":{"type":"string","enum":["local_simulator","external_reference"]}},"required":["shots","timeout_ms","max_qubits","target"],"additionalProperties":false},"reuse_key":{"type":"string","pattern":"^[a-f0-9]{64}$"},"expires_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"valid":{"type":"boolean"},"receipt_id":{"type":"string","pattern":"^[a-z0-9][a-z0-9_-]{2,63}$","description":"Pass this identifier to export_quantum_evidence_report."}},"required":["schema_version","recommendation_id","manifest_id","target_profile_id","decision","reason_codes","unknowns","confidence","safer_alternative","scientific_intent","observable","parameters_digest","requested_limits","reuse_key","expires_at","valid","receipt_id"],"additionalProperties":false},{"type":"object","additionalProperties":false,"required":["truncated","summary","budget_bytes"],"properties":{"truncated":{"const":true},"summary":{"type":"string"},"budget_bytes":{"const":5000}}},{"type":"object","additionalProperties":false,"required":["ok","error"],"properties":{"ok":{"const":false},"error":{"type":"object","additionalProperties":false,"required":["code","message","retryable","next_step"],"properties":{"code":{"type":"string","enum":["execution_cancelled","invalid_arguments","human_input_required","human_consent_required","stale_context","unsupported_request","internal_failure"]},"message":{"type":"string","maxLength":260},"retryable":{"type":"boolean","description":"True only when retrying after the stated next step can succeed."},"next_step":{"type":"string","maxLength":220,"description":"The exact recovery action for the agent or person."}}}}}]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"run_bounded_local_simulation","kind":"act","impl":"imperative","description":"Run the approved two-qubit Bell example in this browser after the person accepts the recommendation. Use recommendation_id from evaluate_quantum_call. Requires one-time human consent and makes no hardware or provider call.","title":"Run bounded local simulation","annotations":{"readOnlyHint":false,"destructiveHint":false},"inputSchema":{"type":"object","additionalProperties":false,"required":["recommendation_id"],"properties":{"recommendation_id":{"type":"string","pattern":"^[a-z0-9][a-z0-9_-]{2,63}$","description":"Use recommendation_id returned by evaluate_quantum_call. The page separately verifies one-time human consent."}}},"outputSchema":{"anyOf":[{"type":"object","properties":{"receipt_id":{"type":"string","pattern":"^[a-z0-9][a-z0-9_-]{2,63}$","description":"Pass this updated evidence receipt identifier to export_quantum_evidence_report."},"run_id":{"type":"string","pattern":"^[a-z0-9][a-z0-9_-]{2,63}$","description":"Identifies this bounded local simulation run."},"bell_invariant":{"type":"boolean"},"shots_requested":{"type":"integer","minimum":1,"maximum":256},"shots_returned":{"type":"integer","minimum":0,"maximum":256},"outcome_counts":{"type":"object","propertyNames":{"type":"string","maxLength":80},"additionalProperties":{"type":"integer","minimum":0,"maximum":9007199254740991}},"effects":{"type":"object","properties":{"inspections":{"type":"integer","minimum":0,"maximum":9007199254740991},"evaluations":{"type":"integer","minimum":0,"maximum":9007199254740991},"local_simulations":{"type":"integer","minimum":0,"maximum":9007199254740991},"metadata_validations":{"type":"integer","minimum":0,"maximum":9007199254740991},"qpu_submissions":{"type":"number","const":0},"evidence_exports":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["inspections","evaluations","local_simulations","metadata_validations","qpu_submissions","evidence_exports"],"additionalProperties":false},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"summary":{"type":"string","maxLength":300}},"required":["receipt_id","run_id","bell_invariant","shots_requested","shots_returned","outcome_counts","effects","digest","summary"],"additionalProperties":false},{"type":"object","additionalProperties":false,"required":["truncated","summary","budget_bytes"],"properties":{"truncated":{"const":true},"summary":{"type":"string"},"budget_bytes":{"const":5000}}},{"type":"object","additionalProperties":false,"required":["ok","error"],"properties":{"ok":{"const":false},"error":{"type":"object","additionalProperties":false,"required":["code","message","retryable","next_step"],"properties":{"code":{"type":"string","enum":["execution_cancelled","invalid_arguments","human_input_required","human_consent_required","stale_context","unsupported_request","internal_failure"]},"message":{"type":"string","maxLength":260},"retryable":{"type":"boolean","description":"True only when retrying after the stated next step can succeed."},"next_step":{"type":"string","maxLength":220,"description":"The exact recovery action for the agent or person."}}}}}]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"export_quantum_evidence_report","kind":"act","impl":"imperative","description":"Export an existing evidence receipt as JSON or Markdown. Use receipt_id returned by evaluate_quantum_call or run_bounded_local_simulation. This does not evaluate or run the experiment again.","title":"Export quantum evidence report","annotations":{"readOnlyHint":true,"destructiveHint":false},"inputSchema":{"type":"object","additionalProperties":false,"required":["receipt_id","format"],"properties":{"receipt_id":{"type":"string","pattern":"^[a-z0-9][a-z0-9_-]{2,63}$","description":"Use receipt_id returned by evaluate_quantum_call or run_bounded_local_simulation."},"format":{"type":"string","enum":["json","markdown"],"description":"Choose machine-readable JSON or human-readable Markdown."}}},"outputSchema":{"anyOf":[{"type":"object","properties":{"export_id":{"type":"string","pattern":"^[a-z0-9][a-z0-9_-]{2,63}$","description":"Identifies this export operation."},"receipt_id":{"type":"string","pattern":"^[a-z0-9][a-z0-9_-]{2,63}$","description":"The evidence receipt that was exported."},"format":{"type":"string","enum":["json","markdown"]},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"summary":{"type":"string","maxLength":220},"content":{"type":"string","maxLength":12000}},"required":["export_id","receipt_id","format","digest","summary","content"],"additionalProperties":false},{"type":"object","additionalProperties":false,"required":["truncated","summary","budget_bytes"],"properties":{"truncated":{"const":true},"summary":{"type":"string"},"budget_bytes":{"const":5000}}},{"type":"object","additionalProperties":false,"required":["ok","error"],"properties":{"ok":{"const":false},"error":{"type":"object","additionalProperties":false,"required":["code","message","retryable","next_step"],"properties":{"code":{"type":"string","enum":["execution_cancelled","invalid_arguments","human_input_required","human_consent_required","stale_context","unsupported_request","internal_failure"]},"message":{"type":"string","maxLength":260},"retryable":{"type":"boolean","description":"True only when retrying after the stated next step can succeed."},"next_step":{"type":"string","maxLength":220,"description":"The exact recovery action for the agent or person."}}}}}]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Developer Tools","favicon":"/favicons/webmcp-qcg.vercel.app.png","apiSurface":"spec","toolCount":4}}