ExitProof

Reversibility intelligence and durable exit evidence for AI agents before real-world commitments.

Rate this Server

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "exitproof": {
      "url": "https://exitproof.davisvillelabs.com/mcp"
    }
  }
}

Remote endpoints

https://exitproof.davisvillelabs.com/mcpstreamable-http

Tool inventory

Tools (5)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢check_reversibility(merchant, commitment_type, event_type, amount, currency, ...)

Free. Evaluate transaction-specific checkout terms plus maintained policy evidence before a real-world commitment. Never charges.

Input Schema

{
  "type": "object",
  "properties": {
    "merchant": {
      "type": "string",
      "minLength": 1,
      "maxLength": 160
    },
    "commitment_type": {
      "type": "string",
      "enum": [
        "subscription",
        "reservation",
        "ticket",
        "service",
        "software",
        "digital_purchase",
        "rental",
        "deposit",
        "other"
      ]
    },
    "event_type": {
      "type": "string",
      "enum": [
        "initial",
        "renewal",
        "purchase",
        "reservation",
        "deposit",
        "other"
      ],
      "default": "initial"
    },
    "amount": {
      "type": "number",
      "minimum": 0
    },
    "currency": {
      "type": "string",
      "pattern": "^[A-Za-z]{3}$",
      "minLength": 3,
      "maxLength": 3,
      "default": "USD"
    },
    "country": {
      "type": "string",
      "minLength": 2,
      "maxLength": 2
    },
    "region": {
      "type": "string",
      "maxLength": 80
    },
    "purchase_channel": {
      "type": "string",
      "enum": [
        "direct",
        "apple",
        "google_play",
        "marketplace",
        "travel_agency",
        "other",
        "unknown"
      ],
      "default": "unknown"
    },
    "expected_commitment_at": {
      "type": "string",
      "format": "date-time",
      "description": "RFC 3339 timestamp with explicit timezone."
    },
    "client_reference": {
      "type": "string",
      "maxLength": 200,
      "description": "Optional caller-owned reference. ExitProof stores only a SHA-256 hash."
    },
    "checkout_terms": {
      "type": "object",
      "properties": {
        "refundable": {
          "type": "boolean"
        },
        "cancellable": {
          "type": "boolean"
        },
        "free_cancellation_until": {
          "type": "string",
          "format": "date-time",
          "description": "RFC 3339 timestamp with explicit timezone."
        },
        "cancellation_deadline": {
          "type": "string",
          "format": "date-time",
          "description": "RFC 3339 timestamp with explicit timezone."
        },
        "cancellation_penalty_amount": {
          "type": "number",
          "minimum": 0
        },
        "cancellation_penalty_percent": {
          "type": "number",
          "minimum": 0,
          "maximum": 100
        },
        "nonrefundable_amount": {
          "type": "number",
          "minimum": 0
        },
        "auto_renews": {
          "type": "boolean"
        },
        "renewal_interval": {
          "type": "string",
          "maxLength": 80
        },
        "cancellation_method": {
          "type": "string",
          "maxLength": 240
        },
        "charge_timing": {
          "type": "string",
          "maxLength": 160
        },
        "source_url": {
          "type": "string",
          "maxLength": 500
        },
        "observed_at": {
          "type": "string",
          "format": "date-time",
          "description": "RFC 3339 timestamp with explicit timezone."
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "merchant",
    "commitment_type",
    "amount"
  ],
  "additionalProperties": false
}
🟡create_exit_manifest(merchant, commitment_type, event_type, amount, currency, ...)

Paid $0.25 only after reversibility evidence passes preflight. Stores a privacy-minimized durable record of the exit terms and returns a one-time access token.

Input Schema

{
  "type": "object",
  "properties": {
    "merchant": {
      "type": "string",
      "minLength": 1,
      "maxLength": 160
    },
    "commitment_type": {
      "type": "string",
      "enum": [
        "subscription",
        "reservation",
        "ticket",
        "service",
        "software",
        "digital_purchase",
        "rental",
        "deposit",
        "other"
      ]
    },
    "event_type": {
      "type": "string",
      "enum": [
        "initial",
        "renewal",
        "purchase",
        "reservation",
        "deposit",
        "other"
      ],
      "default": "initial"
    },
    "amount": {
      "type": "number",
      "minimum": 0
    },
    "currency": {
      "type": "string",
      "pattern": "^[A-Za-z]{3}$",
      "minLength": 3,
      "maxLength": 3,
      "default": "USD"
    },
    "country": {
      "type": "string",
      "minLength": 2,
      "maxLength": 2
    },
    "region": {
      "type": "string",
      "maxLength": 80
    },
    "purchase_channel": {
      "type": "string",
      "enum": [
        "direct",
        "apple",
        "google_play",
        "marketplace",
        "travel_agency",
        "other",
        "unknown"
      ],
      "default": "unknown"
    },
    "expected_commitment_at": {
      "type": "string",
      "format": "date-time",
      "description": "RFC 3339 timestamp with explicit timezone."
    },
    "client_reference": {
      "type": "string",
      "maxLength": 200,
      "description": "Optional caller-owned reference. ExitProof stores only a SHA-256 hash."
    },
    "checkout_terms": {
      "type": "object",
      "properties": {
        "refundable": {
          "type": "boolean"
        },
        "cancellable": {
          "type": "boolean"
        },
        "free_cancellation_until": {
          "type": "string",
          "format": "date-time",
          "description": "RFC 3339 timestamp with explicit timezone."
        },
        "cancellation_deadline": {
          "type": "string",
          "format": "date-time",
          "description": "RFC 3339 timestamp with explicit timezone."
        },
        "cancellation_penalty_amount": {
          "type": "number",
          "minimum": 0
        },
        "cancellation_penalty_percent": {
          "type": "number",
          "minimum": 0,
          "maximum": 100
        },
        "nonrefundable_amount": {
          "type": "number",
          "minimum": 0
        },
        "auto_renews": {
          "type": "boolean"
        },
        "renewal_interval": {
          "type": "string",
          "maxLength": 80
        },
        "cancellation_method": {
          "type": "string",
          "maxLength": 240
        },
        "charge_timing": {
          "type": "string",
          "maxLength": 160
        },
        "source_url": {
          "type": "string",
          "maxLength": 500
        },
        "observed_at": {
          "type": "string",
          "format": "date-time",
          "description": "RFC 3339 timestamp with explicit timezone."
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "merchant",
    "commitment_type",
    "amount"
  ],
  "additionalProperties": false
}
🟢get_exit_manifest(manifest_id, access_token)

Free. Retrieve a previously created Exit Manifest using its unguessable manifest ID and access token.

Input Schema

{
  "type": "object",
  "properties": {
    "manifest_id": {
      "type": "string",
      "pattern": "^xm_[a-f0-9]{32}$"
    },
    "access_token": {
      "type": "string",
      "pattern": "^xp_[A-Za-z0-9_-]{20,}$"
    }
  },
  "required": [
    "manifest_id",
    "access_token"
  ],
  "additionalProperties": false
}
build_exit_pack(manifest_id, access_token)

Paid $1.00 only after manifest access and actionability preflight succeed. Returns a bounded cancellation/refund action plan, evidence checklist, suggested request, sources, and limitations.

Input Schema

{
  "type": "object",
  "properties": {
    "manifest_id": {
      "type": "string",
      "pattern": "^xm_[a-f0-9]{32}$"
    },
    "access_token": {
      "type": "string",
      "pattern": "^xp_[A-Za-z0-9_-]{20,}$"
    }
  },
  "required": [
    "manifest_id",
    "access_token"
  ],
  "additionalProperties": false
}
🟢list_supported_policies

Free. List maintained merchant policy overlays. Any merchant can still be checked when transaction-specific checkout terms are supplied.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Recent observations

verifiedversion not recorded5 tools