{"serverId":"mcp-registry/com.scrubmytext/tools","tools":[{"name":"validate_output","fixed":{"name":"validate_output","description":"Use immediately before a downstream action when model output must be valid JSON or match a schema. Trial, subscription, or x402 pay-per-call.","inputSchema":{"type":"object","required":["output"],"properties":{"output":{"type":"string"},"schema":{"type":"object"}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"title":"ValidateMyOutput — Validate AI Output"},"changes":[{"kind":"schema","detail":"Added \"type\":\"string\" to untyped parameters: output. Change to number/boolean/array where that's what you accept.","verify":true}],"tokensBefore":90,"tokensAfter":94}],"toolsChanged":1,"tokensSaved":0,"todo":[{"tool":"anchor_context_trace","params":["stage","operation","control_id","context_digest","parent_digests"]},{"tool":"cancel_approval","params":["approval_id"]},{"tool":"check_action","params":["key"]},{"tool":"check_agent_readiness","params":["server_card","required_tools","expected_version","require_streamable_http"]},{"tool":"check_approval","params":["approval_id"]},{"tool":"compare_quality_targets","params":["region","targets","task_category","max_latency_ms","max_price_micros","minimum_evidence_class"]},{"tool":"compare_text","params":["modified","original"]},{"tool":"complete_action","params":["key","lock_id"]},{"tool":"create_signal","params":["label","max_events","expires_in_seconds"]},{"tool":"delete_signal","params":["inbox_id"]},{"tool":"detect_secrets","params":["text"]},{"tool":"get_quality_card","params":["region","version","target_type","task_category","max_latency_ms","provider_domain","interface_digest","max_price_micros","canonical_endpoint","minimum_evidence_class"]},{"tool":"get_signal_events","params":["limit","after_ms","inbox_id"]},{"tool":"inspect_text","params":["text"]},{"tool":"list_quality_cards","params":["limit","target_type","task_category"]},{"tool":"lock_action","params":["key","lock_ttl_seconds","completion_ttl_seconds"]},{"tool":"lock_action_intent","params":["lock_ttl_seconds","completion_ttl_seconds"]},{"tool":"manage_action_challenge","params":["operation","control_id","action_fingerprint","veto_window_seconds","execution_window_seconds"]},{"tool":"manage_action_compensation","params":["operation","control_id","action_fingerprint","expires_in_seconds","compensation_fingerprint"]},{"tool":"manage_action_quorum","params":["operation","control_id","member_count","required_votes","action_fingerprint","expires_in_seconds"]},{"tool":"manage_action_reconciliation","params":["operation","control_id","resolution","evidence_digest","expected_digest","observed_digest","action_fingerprint"]},{"tool":"manage_agent_escalation","params":["severity","operation","control_id","incident_fingerprint","response_sla_seconds","resolution_sla_seconds"]},{"tool":"manage_agent_stop","params":["operation","reason_code","subject_key"]},{"tool":"manage_attention_budget","params":["units","priority","operation","control_id","total_units","period_seconds","reservation_key","subject_fingerprint","max_units_per_subject","protected_priority_units"]},{"tool":"manage_authority_delegation","params":["token","max_uses","operation","control_id","action_fingerprint","expires_in_seconds"]},{"tool":"manage_context_rights","params":["rights","operation","control_id","policy_digest","context_digest","requested_right","expires_in_seconds"]},{"tool":"manage_context_status","params":["operation","control_id","reason_code","context_digest","successor_digest","expires_in_seconds"]},{"tool":"manage_disclosure_budget","params":["units","event_key","operation","control_id","total_units","period_seconds","per_category_limit","per_recipient_limit","category_fingerprint","recipient_fingerprint"]},{"tool":"manage_resource_lease","params":["operation","lease_token","ttl_seconds","resource_key"]},{"tool":"manage_task_contract","params":["token","operation","control_id","terms_digest","task_fingerprint","expires_in_seconds"]},{"tool":"manage_task_deadline","params":["operation","control_id","due_in_seconds","task_fingerprint","escalation_grace_seconds"]},{"tool":"manage_task_handoff","params":["token","operation","control_id","task_fingerprint","expires_in_seconds"]},{"tool":"manage_terms_pin","params":["currency","operation","control_id","price_minor","terms_digest","version_label","interface_digest","expires_in_seconds","counterparty_fingerprint"]},{"tool":"match_policy_requirements","params":["consumer_required","consumer_forbidden","provider_capabilities"]},{"tool":"prepare_for_agent","params":["mode","text","redact_sensitive"]},{"tool":"record_action_receipt","params":["operation","receipt_id","outcome_digest","outcome_status","action_fingerprint"]},{"tool":"record_quality_observation","params":["region","version","latency_ms","receipt_id","observed_at","reliability","target_type","task_category","max_latency_ms","observation_key","outcome_success","provider_domain","interface_digest","max_price_micros","canonical_endpoint","final_price_micros","quoted_price_micros","minimum_evidence_class"]},{"tool":"redact_sensitive_text","params":["text"]},{"tool":"release_action","params":["key","lock_id"]},{"tool":"request_approval","params":["title","description","expires_in_seconds"]},{"tool":"request_quality_correction","params":["card_id","reason_code","request_key","request_kind","correction_digest"]},{"tool":"reserve_action_budget","params":["limit","amount","operation","budget_key","period_key","reservation_key","retention_seconds"]},{"tool":"rework_text","params":["mode","text"]},{"tool":"sanitize_agent_context","params":["mode","text","redact_sensitive"]},{"tool":"scan_untrusted_text","params":["text"]},{"tool":"scrub_text","params":["mode","text"]},{"tool":"validate_output","params":["output","schema"]},{"tool":"verify_signed_signal","params":["nonce","message","signature","timestamp","shared_secret","max_age_seconds"]}],"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."}