ScrubMyText MCP
Provides 49 deterministic tools for text integrity, agent control, and contextual quality evidence, including text scrubbing, action locking, signal verification, and quality card management for AI agents.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://api.scrubmytext.com/mcpWhat its tools do
49 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Read-only (19)
scrub_textinspect_textscan_untrusted_textredact_sensitive_textcompare_textdetect_secretsvalidate_outputsanitize_agent_contextprepare_for_agentrework_textfingerprint_actioncheck_actionget_signal_eventscheck_approvalcheck_agent_readinessmatch_policy_requirementslist_quality_cardsget_quality_cardcompare_quality_targets
Can change data (30)
lock_actionlock_action_intentcomplete_actionrelease_actioncreate_signaldelete_signalrequest_approvalcancel_approvalmanage_action_challengereserve_action_budgetrecord_action_receiptverify_signed_signalmanage_resource_leasemanage_authority_delegationmanage_agent_stopmanage_task_handoffmanage_action_reconciliationanchor_context_tracemanage_task_contractmanage_action_quorummanage_task_deadlinemanage_attention_budgetmanage_agent_escalationmanage_terms_pinmanage_action_compensationmanage_context_statusmanage_context_rightsmanage_disclosure_budgetrecord_quality_observationrequest_quality_correction
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Passed Official MCP Registry namespace is tied to scrubmytext.com ·
- Passed Endpoint is on the registry namespace domain ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Scrub and inspect text for integrity
- Lock and verify agent actions
- Manage agent deadlines and attention budgets
- Record and compare quality evidence
Source and maintenance
Protocol and capabilities
- Server
- com.scrubmytext/tools 7.5.0
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 49 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
49 advertised
scrub_text — ScrubMyText — Scrub Text
Normalize hidden/control characters and formatting artifacts without rewriting wording. Free or paid.
{
"type": "object",
"required": [
"text"
],
"properties": {
"mode": {
"enum": [
"standard",
"strict",
"unicode"
],
"type": "string"
},
"text": {
"type": "string",
"maxLength": 1000000
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}inspect_text — InspectMyText — Inspect Text
Inspect exact Unicode, invisible characters, normalization, and mixed-script anomalies. Free or paid.
{
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"maxLength": 1000000
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}scan_untrusted_text — ScanMyText — Scan Untrusted Text
Use before an agent ingests pasted, retrieved, uploaded, or externally supplied text. Returns structural and heuristic risk signals; it does not determine maliciousness or safety. Trial, subscription, or x402 pay-per-call.
{
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"maxLength": 1000000
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}redact_sensitive_text — RedactMyText — Redact Sensitive Text
Use before storing, sharing, logging, or sending text downstream when it may contain credentials or identifiers. Pattern-based redaction; trial, subscription, or x402 pay-per-call.
{
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"maxLength": 1000000
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}compare_text — CompareMyText — Compare Text
Use to verify what changed between two text versions and whether differences are only scrub/format artifacts. Trial, subscription, or x402 pay-per-call.
{
"type": "object",
"required": [
"original",
"modified"
],
"properties": {
"modified": {
"type": "string",
"maxLength": 1000000
},
"original": {
"type": "string",
"maxLength": 1000000
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}detect_secrets — DetectMySecrets — Detect Secrets
Use before an agent logs, stores, or forwards text that may contain credentials. Finds likely API keys, private keys, JWTs, cloud credentials, and secret patterns without echoing values. Trial, subscription, or x402 pay-per-call.
{
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"maxLength": 1000000
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}validate_output — ValidateMyOutput — Validate AI Output
Use immediately before a downstream action when model output must be valid JSON or match a schema. Trial, subscription, or x402 pay-per-call.
{
"type": "object",
"required": [
"output"
],
"properties": {
"output": {},
"schema": {
"type": "object"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}sanitize_agent_context — SanitizeMyContext — Sanitize Agent Context
Use before putting untrusted retrieved or uploaded text into a model context. Normalizes structural artifacts, returns risk signals, and can redact sensitive patterns. Trial, subscription, or x402 pay-per-call.
{
"type": "object",
"required": [
"text"
],
"properties": {
"mode": {
"enum": [
"standard",
"strict",
"unicode"
],
"type": "string"
},
"text": {
"type": "string",
"maxLength": 1000000
},
"redact_sensitive": {
"type": "boolean"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}prepare_for_agent — PrepareMyContext — Prepare for Agent
Use as the default preprocessing step before an AI agent consumes untrusted external text. Returns agent-ready text plus inspection, risk-scan, and secret-detection reports. Trial, subscription, or x402 pay-per-call.
{
"type": "object",
"required": [
"text"
],
"properties": {
"mode": {
"enum": [
"standard",
"strict",
"unicode"
],
"type": "string"
},
"text": {
"type": "string",
"maxLength": 1000000
},
"redact_sensitive": {
"type": "boolean"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}rework_text — ReworkMyText — Rework Text
Use when an agent needs a deterministic, no-LLM rewrite while preserving protected facts such as numbers, URLs, emails, and quotes. Returns change metrics and preservation checks; does not verify authorship or watermark status. Trial, subscription, or x402 pay-per-call.
{
"type": "object",
"required": [
"text"
],
"properties": {
"mode": {
"enum": [
"light",
"standard",
"deep"
],
"type": "string"
},
"text": {
"type": "string",
"maxLength": 1000000
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}fingerprint_action — LockMyAction — Fingerprint Action
Use before retryable work to derive a stable SHA-256 action fingerprint and idempotency key from an action name, optional scope, and JSON arguments. Object key order does not affect the result. Returns no input values and stores nothing. Free or paid.
{
"type": "object",
"required": [
"action",
"arguments"
],
"properties": {
"scope": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "Optional namespace such as production or customer-42. Defaults to default."
},
"action": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "Stable action name, such as send_invoice or create_ticket."
},
"arguments": {
"type": "object",
"description": "JSON object containing every value that should define whether two action attempts are the same. Do not include passwords, API keys, or secret tokens."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"brand",
"action_fingerprint",
"idempotency_key",
"algorithm",
"canonicalization",
"canonical_bytes",
"notice"
],
"properties": {
"brand": {
"type": "string"
},
"notice": {
"type": "string"
},
"algorithm": {
"type": "string"
},
"canonical_bytes": {
"type": "integer"
},
"idempotency_key": {
"type": "string"
},
"canonicalization": {
"type": "string"
},
"action_fingerprint": {
"type": "string"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}lock_action — LockMyAction — Lock Action
Use immediately before a consequential agent action to atomically claim an idempotency key so retries cannot execute it twice. Subscription API key required.
{
"type": "object",
"required": [
"key"
],
"properties": {
"key": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"lock_ttl_seconds": {
"type": "integer",
"maximum": 86400,
"minimum": 30
},
"completion_ttl_seconds": {
"type": "integer",
"maximum": 31536000,
"minimum": 3600
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}lock_action_intent — LockMyAction — Fingerprint and Lock Action
Use immediately before a consequential retryable action when no stable idempotency key exists. Deterministically fingerprints the action and arguments, atomically claims that key, and returns safe_to_execute. Repeat calls with equivalent object-key ordering return the same fingerprint and cannot acquire a second active lock. Subscription API key required.
{
"type": "object",
"required": [
"action",
"arguments"
],
"properties": {
"scope": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "Optional namespace such as production or customer-42. Defaults to default."
},
"action": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "Stable action name, such as send_invoice or create_ticket."
},
"arguments": {
"type": "object",
"description": "JSON object containing every value that should define whether two action attempts are the same. Do not include passwords, API keys, or secret tokens."
},
"lock_ttl_seconds": {
"type": "integer",
"maximum": 86400,
"minimum": 30
},
"completion_ttl_seconds": {
"type": "integer",
"maximum": 31536000,
"minimum": 3600
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"brand",
"status",
"safe_to_execute",
"key",
"action_fingerprint",
"idempotency_key",
"algorithm",
"canonicalization",
"canonical_bytes"
],
"properties": {
"key": {
"type": "string"
},
"brand": {
"type": "string"
},
"notice": {
"type": "string"
},
"status": {
"type": "string"
},
"lock_id": {
"type": "string"
},
"algorithm": {
"type": "string"
},
"locked_at": {
"type": "string"
},
"completed_at": {
"type": [
"string",
"null"
]
},
"canonical_bytes": {
"type": "integer"
},
"idempotency_key": {
"type": "string"
},
"lock_expires_at": {
"type": "string"
},
"protected_until": {
"type": "string"
},
"safe_to_execute": {
"type": "boolean"
},
"canonicalization": {
"type": "string"
},
"action_fingerprint": {
"type": "string"
},
"completion_retention_seconds": {
"type": "integer"
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}check_action — LockMyAction — Check Action
Use to inspect an idempotency key before or after an agent action. Subscription API key required.
{
"type": "object",
"required": [
"key"
],
"properties": {
"key": {
"type": "string",
"maxLength": 200,
"minLength": 1
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}complete_action — LockMyAction — Complete Action
Paid: mark the current lock completed and preserve the idempotency record for its configured retention period.
{
"type": "object",
"required": [
"key",
"lock_id"
],
"properties": {
"key": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"lock_id": {
"type": "string",
"maxLength": 80,
"minLength": 1
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}release_action — LockMyAction — Release Action
Paid: release an uncompleted action lock using its lock_id so another attempt can safely acquire it.
{
"type": "object",
"required": [
"key",
"lock_id"
],
"properties": {
"key": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"lock_id": {
"type": "string",
"maxLength": 80,
"minLength": 1
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}create_signal — CatchMySignal — Create Signal Inbox
Use when an agent must wait for an external callback, webhook, job completion, or asynchronous event. Subscription API key required.
{
"type": "object",
"properties": {
"label": {
"type": "string",
"maxLength": 120
},
"max_events": {
"type": "integer",
"maximum": 100,
"minimum": 1
},
"expires_in_seconds": {
"type": "integer",
"maximum": 604800,
"minimum": 300
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}get_signal_events — CatchMySignal — Get Events
Paid: retrieve events received by a temporary signal inbox in arrival order.
{
"type": "object",
"required": [
"inbox_id"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1
},
"after_ms": {
"type": "integer",
"minimum": 0
},
"inbox_id": {
"type": "string",
"maxLength": 80,
"minLength": 1
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}delete_signal — CatchMySignal — Delete Inbox
Paid: immediately delete a signal inbox and all stored event bodies.
{
"type": "object",
"required": [
"inbox_id"
],
"properties": {
"inbox_id": {
"type": "string",
"maxLength": 80,
"minLength": 1
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}request_approval — ApproveMyAction — Request Approval
Use when an agent needs independent human approval before a consequential action. Creates a secure approval link. Subscription API key required.
{
"type": "object",
"required": [
"title"
],
"properties": {
"title": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"description": {
"type": "string",
"maxLength": 2000
},
"expires_in_seconds": {
"type": "integer",
"maximum": 604800,
"minimum": 300
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}check_approval — ApproveMyAction — Check Approval
Paid: check whether a human approval request is pending, approved, rejected, expired, or cancelled.
{
"type": "object",
"required": [
"approval_id"
],
"properties": {
"approval_id": {
"type": "string",
"maxLength": 80,
"minLength": 1
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}cancel_approval — ApproveMyAction — Cancel Approval
Paid: cancel a pending human approval request so its link can no longer approve the action.
{
"type": "object",
"required": [
"approval_id"
],
"properties": {
"approval_id": {
"type": "string",
"maxLength": 80,
"minLength": 1
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}manage_action_challenge — ChallengeMyAction — Manage Veto Window
Create, inspect, consume, or cancel a digest-bound cooling-off window. A bearer challenger can veto before the deadline; afterward the owner can atomically consume one execution right during a bounded window. This is exception handling, not affirmative consent or legal approval. Subscription API key required.
{
"type": "object",
"required": [
"operation"
],
"properties": {
"operation": {
"enum": [
"create",
"check",
"consume",
"cancel"
],
"type": "string"
},
"control_id": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"action_fingerprint": {
"type": "string",
"pattern": "^(?:sha256:)?[a-f0-9]{64}$"
},
"veto_window_seconds": {
"type": "integer",
"maximum": 604800,
"minimum": 60
},
"execution_window_seconds": {
"type": "integer",
"maximum": 86400,
"minimum": 60
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}reserve_action_budget — BudgetMyAction — Reserve Budget
Atomically reserve integer units under a named, period-scoped ceiling. A reservation_key makes retries idempotent. The service stores hashes and counters, not purchase details. Production; subscription API key required.
{
"type": "object",
"required": [
"operation",
"budget_key",
"period_key"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 1000000000000,
"minimum": 1
},
"amount": {
"type": "integer",
"maximum": 1000000000000,
"minimum": 1
},
"operation": {
"enum": [
"reserve",
"check"
],
"type": "string"
},
"budget_key": {
"type": "string",
"maxLength": 160,
"minLength": 1
},
"period_key": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"reservation_key": {
"type": "string",
"maxLength": 160,
"minLength": 1
},
"retention_seconds": {
"type": "integer",
"maximum": 31536000,
"minimum": 3600
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}record_action_receipt — ReceiptMyAction — Record Receipt
Create or retrieve an immutable receipt digest for an action outcome without storing the action or outcome payload. Production; subscription API key required.
{
"type": "object",
"required": [
"operation"
],
"properties": {
"operation": {
"enum": [
"record",
"check"
],
"type": "string"
},
"receipt_id": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"outcome_digest": {
"type": "string",
"pattern": "^(?:sha256:)?[a-f0-9]{64}$"
},
"outcome_status": {
"enum": [
"succeeded",
"failed",
"partial"
],
"type": "string"
},
"action_fingerprint": {
"type": "string",
"pattern": "^(?:sha256:)?[a-f0-9]{64}$"
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}verify_signed_signal — VerifyMySignal — Verify Signed Signal
Verify an HMAC-SHA256 signal, enforce timestamp freshness, and reject a replayed nonce. The message and shared secret are never stored. Production; subscription API key required.
{
"type": "object",
"required": [
"message",
"shared_secret",
"signature",
"timestamp",
"nonce"
],
"properties": {
"nonce": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"message": {
"type": "string",
"maxLength": 100000
},
"signature": {
"type": "string",
"pattern": "^[a-fA-F0-9]{64}$"
},
"timestamp": {
"type": "integer",
"minimum": 0
},
"shared_secret": {
"type": "string",
"maxLength": 512,
"minLength": 16
},
"max_age_seconds": {
"type": "integer",
"maximum": 86400,
"minimum": 30
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}manage_resource_lease — LeaseMyResource — Manage Lease
Atomically acquire, inspect, or release a short-lived exclusive lease on a hashed resource key. Production; subscription API key required.
{
"type": "object",
"required": [
"operation",
"resource_key"
],
"properties": {
"operation": {
"enum": [
"acquire",
"check",
"release"
],
"type": "string"
},
"lease_token": {
"type": "string",
"maxLength": 256,
"minLength": 16
},
"ttl_seconds": {
"type": "integer",
"maximum": 86400,
"minimum": 30
},
"resource_key": {
"type": "string",
"maxLength": 200,
"minLength": 1
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}manage_authority_delegation — DelegateMyAuthority — Manage Delegation
Issue, consume, inspect, or revoke a narrow bearer capability bound to one action fingerprint and a maximum use count. This is a technical capability, not identity proof or a legal delegation. Production; subscription API key required.
{
"type": "object",
"required": [
"operation"
],
"properties": {
"token": {
"type": "string",
"maxLength": 256,
"minLength": 16
},
"max_uses": {
"type": "integer",
"maximum": 10000,
"minimum": 1
},
"operation": {
"enum": [
"issue",
"use",
"check",
"revoke"
],
"type": "string"
},
"control_id": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"action_fingerprint": {
"type": "string",
"pattern": "^(?:sha256:)?[a-f0-9]{64}$"
},
"expires_in_seconds": {
"type": "integer",
"maximum": 2592000,
"minimum": 60
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}manage_agent_stop — StopMyAgent — Manage Stop Signal
Set, inspect, or clear a durable stop signal for a hashed agent or workflow key. Callers should fail closed whenever stopped is true. Production; subscription API key required.
{
"type": "object",
"required": [
"operation",
"subject_key"
],
"properties": {
"operation": {
"enum": [
"stop",
"check",
"clear"
],
"type": "string"
},
"reason_code": {
"enum": [
"operator",
"policy",
"incident",
"budget",
"maintenance",
"other"
],
"type": "string"
},
"subject_key": {
"type": "string",
"maxLength": 200,
"minLength": 1
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}manage_task_handoff — HandoffMyTask — Manage Handoff
Create a bearer-token task handoff, let another paid API identity claim it exactly once, and inspect, complete, or cancel the transfer. Only task fingerprints are stored. Production.
{
"type": "object",
"required": [
"operation"
],
"properties": {
"token": {
"type": "string",
"maxLength": 256,
"minLength": 16
},
"operation": {
"enum": [
"create",
"claim",
"check",
"complete",
"cancel"
],
"type": "string"
},
"control_id": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"task_fingerprint": {
"type": "string",
"pattern": "^(?:sha256:)?[a-f0-9]{64}$"
},
"expires_in_seconds": {
"type": "integer",
"maximum": 604800,
"minimum": 60
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}manage_action_reconciliation — ReconcileMyAction — Manage Reconciliation
Open, inspect, append digest-only evidence to, or resolve a discrepancy between expected and observed action outcomes. Production; subscription API key required.
{
"type": "object",
"required": [
"operation"
],
"properties": {
"operation": {
"enum": [
"open",
"append",
"check",
"resolve"
],
"type": "string"
},
"control_id": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"resolution": {
"enum": [
"reconciled",
"dismissed"
],
"type": "string"
},
"evidence_digest": {
"type": "string",
"pattern": "^(?:sha256:)?[a-f0-9]{64}$"
},
"expected_digest": {
"type": "string",
"pattern": "^(?:sha256:)?[a-f0-9]{64}$"
},
"observed_digest": {
"type": "string",
"pattern": "^(?:sha256:)?[a-f0-9]{64}$"
},
"action_fingerprint": {
"type": "string",
"pattern": "^(?:sha256:)?[a-f0-9]{64}$"
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}anchor_context_trace — TraceMyContext — Anchor Trace
Create or inspect an immutable provenance anchor from a context digest, parent digests, and processing stage. No context content is stored. Production; subscription API key required.
{
"type": "object",
"required": [
"operation"
],
"properties": {
"stage": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"operation": {
"enum": [
"anchor",
"check"
],
"type": "string"
},
"control_id": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"context_digest": {
"type": "string",
"pattern": "^(?:sha256:)?[a-f0-9]{64}$"
},
"parent_digests": {
"type": "array",
"items": {
"type": "string",
"pattern": "^(?:sha256:)?[a-f0-9]{64}$"
},
"maxItems": 20
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}manage_task_contract — ContractMyTask — Manage Task Contract
Offer, accept, inspect, complete, or cancel a digest-bound technical task commitment. This records service state; it is not a legal contract, escrow, payment, or identity verification. Production.
{
"type": "object",
"required": [
"operation"
],
"properties": {
"token": {
"type": "string",
"maxLength": 256,
"minLength": 16
},
"operation": {
"enum": [
"offer",
"accept",
"check",
"complete",
"cancel"
],
"type": "string"
},
"control_id": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"terms_digest": {
"type": "string",
"pattern": "^(?:sha256:)?[a-f0-9]{64}$"
},
"task_fingerprint": {
"type": "string",
"pattern": "^(?:sha256:)?[a-f0-9]{64}$"
},
"expires_in_seconds": {
"type": "integer",
"maximum": 2592000,
"minimum": 60
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}check_agent_readiness — ReadyMyAgent — Check Integration Readiness
Deterministically check a supplied MCP server card against a narrow, published integration contract. The service does not fetch arbitrary URLs and does not certify security or correctness. Free or paid.
{
"type": "object",
"required": [
"server_card"
],
"properties": {
"server_card": {
"type": "object"
},
"required_tools": {
"type": "array",
"items": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"maxItems": 100
},
"expected_version": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"require_streamable_http": {
"type": "boolean"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}manage_action_quorum — QuorumMyAction — Manage Authorization Quorum
Create, inspect, consume, or cancel an N-of-M bearer authorization quorum. Each unique bearer can decide once; only a successful one-time consume grants an execution right. Subscription API key required.
{
"type": "object",
"required": [
"operation"
],
"properties": {
"operation": {
"enum": [
"create",
"check",
"consume",
"cancel"
],
"type": "string"
},
"control_id": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"member_count": {
"type": "integer",
"maximum": 20,
"minimum": 2
},
"required_votes": {
"type": "integer",
"maximum": 10,
"minimum": 2
},
"action_fingerprint": {
"type": "string",
"pattern": "^(?:sha256:)?[a-f0-9]{64}$"
},
"expires_in_seconds": {
"type": "integer",
"maximum": 604800,
"minimum": 300
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}manage_task_deadline — DeadlineMyTask — Manage Durable Deadline
Create, inspect, complete, or cancel a task deadline whose due and escalation state is derived from an independent server clock even when the agent is offline. Subscription API key required.
{
"type": "object",
"required": [
"operation"
],
"properties": {
"operation": {
"enum": [
"create",
"check",
"complete",
"cancel"
],
"type": "string"
},
"control_id": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"due_in_seconds": {
"type": "integer",
"maximum": 2592000,
"minimum": 60
},
"task_fingerprint": {
"type": "string",
"pattern": "^(?:sha256:)?[a-f0-9]{64}$"
},
"escalation_grace_seconds": {
"type": "integer",
"maximum": 604800,
"minimum": 0
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}manage_attention_budget — BudgetMyAttention — Manage Review Capacity
Create, inspect, reserve, release, or close a finite review-capacity pool with per-subject caps, retry-safe reservations, and protected priority capacity. Subscription API key required.
{
"type": "object",
"required": [
"operation"
],
"properties": {
"units": {
"type": "integer",
"maximum": 1000000,
"minimum": 1
},
"priority": {
"enum": [
"standard",
"priority"
],
"type": "string"
},
"operation": {
"enum": [
"create",
"reserve",
"check",
"release",
"close"
],
"type": "string"
},
"control_id": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"total_units": {
"type": "integer",
"maximum": 1000000,
"minimum": 1
},
"period_seconds": {
"type": "integer",
"maximum": 2592000,
"minimum": 300
},
"reservation_key": {
"type": "string",
"maxLength": 160,
"minLength": 1
},
"subject_fingerprint": {
"type": "string",
"pattern": "^(?:sha256:)?[a-f0-9]{64}$"
},
"max_units_per_subject": {
"type": "integer",
"maximum": 1000000,
"minimum": 1
},
"protected_priority_units": {
"type": "integer",
"maximum": 1000000,
"minimum": 0
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}manage_agent_escalation — EscalateMyAgent — Manage Operator Escalation
Create, inspect, or cancel a digest-only incident with a private bearer operator link and deterministic response and resolution SLA state. Link delivery remains the caller’s responsibility. Subscription API key required.
{
"type": "object",
"required": [
"operation"
],
"properties": {
"severity": {
"enum": [
"low",
"medium",
"high",
"critical"
],
"type": "string"
},
"operation": {
"enum": [
"create",
"check",
"cancel"
],
"type": "string"
},
"control_id": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"incident_fingerprint": {
"type": "string",
"pattern": "^(?:sha256:)?[a-f0-9]{64}$"
},
"response_sla_seconds": {
"type": "integer",
"maximum": 604800,
"minimum": 60
},
"resolution_sla_seconds": {
"type": "integer",
"maximum": 2592000,
"minimum": 300
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}manage_terms_pin — PinMyTerms — Manage Terms Pin
Pin, inspect, or revoke an immutable digest-bound record of observed terms, interface, version, and price. Stores bounded metadata and digests, not the terms body. This is technical evidence, not a legal agreement. Subscription API key required.
{
"type": "object",
"required": [
"operation"
],
"properties": {
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$"
},
"operation": {
"enum": [
"pin",
"check",
"revoke"
],
"type": "string"
},
"control_id": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"price_minor": {
"type": "integer",
"maximum": 1000000000000,
"minimum": 0
},
"terms_digest": {
"type": "string",
"pattern": "^(?:sha256:)?[a-f0-9]{64}$"
},
"version_label": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"interface_digest": {
"type": "string",
"pattern": "^(?:sha256:)?[a-f0-9]{64}$"
},
"expires_in_seconds": {
"type": "integer",
"maximum": 31536000,
"minimum": 300
},
"counterparty_fingerprint": {
"type": "string",
"pattern": "^(?:sha256:)?[a-f0-9]{64}$"
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}match_policy_requirements — MatchMyPolicy — Match Policy Requirements
Deterministically compare bounded provider capabilities with consumer-required and forbidden policy tokens. Processes supplied tokens without storing policy content and does not make legal or compliance conclusions. Subscription API key required.
{
"type": "object",
"required": [
"provider_capabilities",
"consumer_required",
"consumer_forbidden"
],
"properties": {
"consumer_required": {
"type": "array",
"items": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"maxItems": 64
},
"consumer_forbidden": {
"type": "array",
"items": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"maxItems": 64
},
"provider_capabilities": {
"type": "array",
"items": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"maxItems": 64,
"minItems": 1
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}manage_action_compensation — CompensateMyAction — Manage Compensating Action
Bind a compensating-action digest before execution, record that the primary action executed, and atomically mark compensation once. Stores digests only and does not perform either action. Subscription API key required.
{
"type": "object",
"required": [
"operation"
],
"properties": {
"operation": {
"enum": [
"bind",
"check",
"mark_executed",
"compensate",
"cancel"
],
"type": "string"
},
"control_id": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"action_fingerprint": {
"type": "string",
"pattern": "^(?:sha256:)?[a-f0-9]{64}$"
},
"expires_in_seconds": {
"type": "integer",
"maximum": 2592000,
"minimum": 300
},
"compensation_fingerprint": {
"type": "string",
"pattern": "^(?:sha256:)?[a-f0-9]{64}$"
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}manage_context_status — RevokeMyContext — Manage Context Status
Publish, inspect, supersede, dispute, or revoke digest-only context status so downstream agents can stop using stale inputs. Stores no context body and does not invalidate copies outside this service. Subscription API key required.
{
"type": "object",
"required": [
"operation"
],
"properties": {
"operation": {
"enum": [
"publish",
"check",
"supersede",
"dispute",
"revoke"
],
"type": "string"
},
"control_id": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"reason_code": {
"enum": [
"source_update",
"consent_withdrawn",
"error",
"policy",
"expiry",
"dispute",
"other"
],
"type": "string"
},
"context_digest": {
"type": "string",
"pattern": "^(?:sha256:)?[a-f0-9]{64}$"
},
"successor_digest": {
"type": "string",
"pattern": "^(?:sha256:)?[a-f0-9]{64}$"
},
"expires_in_seconds": {
"type": "integer",
"maximum": 31536000,
"minimum": 300
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}manage_context_rights — LicenseMyContext — Manage Context Rights
Issue, inspect, evaluate, or revoke a digest-bound machine-readable context-rights envelope. It is a technical policy signal, not legal advice or proof of ownership. Subscription API key required.
{
"type": "object",
"required": [
"operation"
],
"properties": {
"rights": {
"type": "array",
"items": {
"enum": [
"read",
"summarize",
"derive",
"redistribute",
"train",
"commercial"
],
"type": "string"
},
"maxItems": 8,
"minItems": 1,
"uniqueItems": true
},
"operation": {
"enum": [
"issue",
"check",
"evaluate",
"revoke"
],
"type": "string"
},
"control_id": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"policy_digest": {
"type": "string",
"pattern": "^(?:sha256:)?[a-f0-9]{64}$"
},
"context_digest": {
"type": "string",
"pattern": "^(?:sha256:)?[a-f0-9]{64}$"
},
"requested_right": {
"enum": [
"read",
"summarize",
"derive",
"redistribute",
"train",
"commercial"
],
"type": "string"
},
"expires_in_seconds": {
"type": "integer",
"maximum": 31536000,
"minimum": 300
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}manage_disclosure_budget — MeterMyDisclosure — Manage Disclosure Budget
Create, inspect, record against, or close a cumulative disclosure budget with total, per-recipient, and per-category limits. Stores hashes and counters, not disclosed content or recipient identities. Subscription API key required.
{
"type": "object",
"required": [
"operation"
],
"properties": {
"units": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1
},
"event_key": {
"type": "string",
"maxLength": 160,
"minLength": 1
},
"operation": {
"enum": [
"create",
"record",
"check",
"close"
],
"type": "string"
},
"control_id": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"total_units": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1
},
"period_seconds": {
"type": "integer",
"maximum": 31536000,
"minimum": 300
},
"per_category_limit": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1
},
"per_recipient_limit": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1
},
"category_fingerprint": {
"type": "string",
"pattern": "^(?:sha256:)?[a-f0-9]{64}$"
},
"recipient_fingerprint": {
"type": "string",
"pattern": "^(?:sha256:)?[a-f0-9]{64}$"
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}list_quality_cards — TrustMyChoice — List Public Quality Cards
List exact service-version/task quality cards that have reached the public three-verified-contributor evidence threshold. Results are ordered by recent evidence, not quality, payment, or sponsorship. Free.
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1
},
"target_type": {
"enum": [
"mcp_server",
"rest_api"
],
"type": "string"
},
"task_category": {
"type": "string",
"maxLength": 120,
"minLength": 1
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_quality_card — TrustMyChoice — Get Quality Card
Retrieve a public, contextual quality card for an exact MCP server or REST API version. Scores remain unavailable until at least three independent verified contributors submit structured observations. Free.
{
"type": "object",
"required": [
"target_type",
"provider_domain",
"canonical_endpoint",
"version",
"task_category"
],
"properties": {
"region": {
"type": "string",
"maxLength": 40,
"minLength": 2
},
"version": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"target_type": {
"enum": [
"mcp_server",
"rest_api"
],
"type": "string"
},
"task_category": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"max_latency_ms": {
"type": "integer",
"maximum": 86400000,
"minimum": 0
},
"provider_domain": {
"type": "string",
"maxLength": 253,
"minLength": 1
},
"interface_digest": {
"type": "string",
"pattern": "^(?:sha256:)?[a-f0-9]{64}$"
},
"max_price_micros": {
"type": "integer",
"maximum": 1000000000000,
"minimum": 0
},
"canonical_endpoint": {
"type": "string",
"maxLength": 2048,
"minLength": 8
},
"minimum_evidence_class": {
"enum": [
"E0",
"E1"
],
"type": "string"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}compare_quality_targets — TrustMyChoice — Compare Quality Targets
Return contextual quality cards for two to ten exact targets in caller-provided order. It exposes evidence and uncertainty without producing a paid ranking or universal winner. Free.
{
"type": "object",
"required": [
"targets",
"task_category"
],
"properties": {
"region": {
"type": "string",
"maxLength": 40,
"minLength": 2
},
"targets": {
"type": "array",
"items": {
"type": "object",
"required": [
"target_type",
"provider_domain",
"canonical_endpoint",
"version"
],
"properties": {
"version": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"target_type": {
"enum": [
"mcp_server",
"rest_api"
],
"type": "string"
},
"provider_domain": {
"type": "string",
"maxLength": 253,
"minLength": 1
},
"interface_digest": {
"type": "string",
"pattern": "^(?:sha256:)?[a-f0-9]{64}$"
},
"canonical_endpoint": {
"type": "string",
"maxLength": 2048,
"minLength": 8
}
},
"additionalProperties": false
},
"maxItems": 10,
"minItems": 2
},
"task_category": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"max_latency_ms": {
"type": "integer",
"maximum": 86400000,
"minimum": 0
},
"max_price_micros": {
"type": "integer",
"maximum": 1000000000000,
"minimum": 0
},
"minimum_evidence_class": {
"enum": [
"E0",
"E1"
],
"type": "string"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}record_quality_observation — TrustMyChoice — Record Quality Observation
Submit an opt-in structured observation for an exact target and task. Receipt-linked observations are labeled E1; other observations are E0. Stores no prompt, response, credential, email, or free-form review. Free verified contributor or subscription key required.
{
"type": "object",
"required": [
"target_type",
"provider_domain",
"canonical_endpoint",
"version",
"task_category",
"observation_key",
"outcome_success",
"reliability"
],
"properties": {
"region": {
"type": "string",
"maxLength": 40,
"minLength": 2
},
"version": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"latency_ms": {
"type": "integer",
"maximum": 86400000,
"minimum": 0
},
"receipt_id": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"observed_at": {
"type": "string",
"maxLength": 40,
"minLength": 20
},
"reliability": {
"type": "boolean"
},
"target_type": {
"enum": [
"mcp_server",
"rest_api"
],
"type": "string"
},
"task_category": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"max_latency_ms": {
"type": "integer",
"maximum": 86400000,
"minimum": 0
},
"observation_key": {
"type": "string",
"maxLength": 160,
"minLength": 1
},
"outcome_success": {
"type": "boolean"
},
"provider_domain": {
"type": "string",
"maxLength": 253,
"minLength": 1
},
"interface_digest": {
"type": "string",
"pattern": "^(?:sha256:)?[a-f0-9]{64}$"
},
"max_price_micros": {
"type": "integer",
"maximum": 1000000000000,
"minimum": 0
},
"canonical_endpoint": {
"type": "string",
"maxLength": 2048,
"minLength": 8
},
"final_price_micros": {
"type": "integer",
"maximum": 1000000000000,
"minimum": 0
},
"quoted_price_micros": {
"type": "integer",
"maximum": 1000000000000,
"minimum": 0
},
"minimum_evidence_class": {
"enum": [
"E0",
"E1"
],
"type": "string"
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}request_quality_correction — TrustMyChoice — Request Quality Correction
Attach a digest-only correction or appeal request to a quality card. Requests are visible as unverified pending state and do not erase evidence or prove provider identity. Free verified contributor or subscription key required.
{
"type": "object",
"required": [
"card_id",
"request_key",
"request_kind",
"reason_code",
"correction_digest"
],
"properties": {
"card_id": {
"type": "string",
"pattern": "^tmc_[a-f0-9]{40}$"
},
"reason_code": {
"enum": [
"inaccurate_target",
"outdated_version",
"methodology",
"evidence",
"error",
"other"
],
"type": "string"
},
"request_key": {
"type": "string",
"maxLength": 160,
"minLength": 1
},
"request_kind": {
"enum": [
"correction",
"appeal"
],
"type": "string"
},
"correction_digest": {
"type": "string",
"pattern": "^(?:sha256:)?[a-f0-9]{64}$"
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
Not advertised
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 254 ms
- 95th percentile latency
- 254 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 254 ms · metadata changed · 49 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http scrubmytext-mcp https://api.scrubmytext.com/mcpCodex
codex mcp add scrubmytext-mcp --url https://api.scrubmytext.com/mcpCursor
{
"mcpServers": {
"scrubmytext-mcp": {
"url": "https://api.scrubmytext.com/mcp"
}
}
}Cline
{
"mcpServers": {
"scrubmytext-mcp": {
"type": "streamableHttp",
"url": "https://api.scrubmytext.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"scrubmytext-mcp": {
"type": "http",
"url": "https://api.scrubmytext.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http scrubmytext-mcp https://api.scrubmytext.com/mcpClaude Desktop
https://api.scrubmytext.com/mcpWindsurf
{
"mcpServers": {
"scrubmytext-mcp": {
"serverUrl": "https://api.scrubmytext.com/mcp"
}
}
}Let your agent find its tools
Find servers like ScrubMyText MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other ai and machine learning servers
Do you run ScrubMyText MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.