Skip to content

SAAX Protocol

by bryantrudy24 · remote · no sign-in to list tools · v1.0.3 · published by GitHub user bryantrudy24

Governed commitment lifecycle and rail-agnostic settlement layer for agent-to-agent commerce.

Final · 1Changes · 1

11 tools: 1 do something that can't be undone, 1 change things and 9 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http saax-protocol https://www.saax-protocol.com/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

11 tools

Can't be undone 1Claude Code: ask
  • create_commitmentCreates a governed commitment between a buyer and a seller and persists it to the SAAX commitment store.No findings

    Why it is in this group

    • The name "create_commitment" says "create": a word for a change.
    • The input carries an amount (input.terms.price.amount) and a currency, so it moves money.
    Description, as the server wrote it
    Creates a governed commitment between a buyer and a seller and persists it to the SAAX commitment store. The commitment is settlement-rail-neutral: settlementRail is metadata only (x402, mpp, ap2, acp, or unspecified) and is NEVER a prerequisite. Returns the new commitment id (saax_<hash>), createdAt, status, and the settlementRail. Call this BEFORE any payment flow to establish the governed commitment record. Once created, use get_commitment to read the manifest.
Changes things 1Claude Code: ask
  • route_requestSubmits a capability request and returns ranked supplier matches.No findings

    Why it is in this group

    • The name "route_request" says "request": a word for a change.
    Description, as the server wrote it
    Submits a capability request and returns ranked supplier matches. Commitment creation with payment runs through the HTTP POST /route endpoint, not this tool. Use list_capabilities first to discover available capabilities. For commitment lookup after routing, use get_commitment.
Only reads 9Claude Code: allow
  • get_authority_validationValidates an authority proof against a commitment.No findings

    Why it is in this group

    • The name "get_authority_validation" says "get": a word for reading.
    Description, as the server wrote it
    Validates an authority proof against a commitment. Requires an active SAAX Premium subscription. For evidence verification, use get_evidence_verification.
  • get_commitmentReturns the full commitment object for a given commitment ID — including terms, state, manifest hash, and evidence references.No findings

    Why it is in this group

    • The name "get_commitment" says "get": a word for reading.
    Description, as the server wrote it
    Returns the full commitment object for a given commitment ID — including terms, state, manifest hash, and evidence references. Call this when an agent needs the complete commitment record. For status-only polling, use get_commitment_status. For listing all commitments for a subscriber, use list_commitments.
  • get_commitment_statusReturns only the current lifecycle state for a given commitment ID, plus the recommended next action for the calling agent.No findings

    Why it is in this group

    • The name "get_commitment_status" says "get": a word for reading.
    Description, as the server wrote it
    Returns only the current lifecycle state for a given commitment ID, plus the recommended next action for the calling agent. Call this before retrying any commitment that timed out — an unknown outcome is a status check, not another POST. The next_action field tells the agent whether to retry, poll, or stop. For the full commitment record, use get_commitment.
  • get_evidence_verificationVerifies external evidence against a commitment's acceptance criteria.No findings

    Why it is in this group

    • The name "get_evidence_verification" says "get": a word for reading.
    Description, as the server wrote it
    Verifies external evidence against a commitment's acceptance criteria. Requires an active SAAX Premium subscription. For authority proof validation, use get_authority_validation.
  • get_protocol_infoReturns the SAAX Protocol version, available capability count, and the URL to the specification.No findings

    Why it is in this group

    • The name "get_protocol_info" says "get": a word for reading.
    Description, as the server wrote it
    Returns the SAAX Protocol version, available capability count, and the URL to the specification. Call this when an agent needs a one-time overview of the protocol. For pricing, use get_routing_fee. For the full capability list, use list_capabilities. For a liveness check, use ping.
  • get_routing_feeReturns the current routing fee schedule.No findings

    Why it is in this group

    • The name "get_routing_fee" says "get": a word for reading.
    Description, as the server wrote it
    Returns the current routing fee schedule. Call this before initiating a routing request to determine the expected cost. For capability discovery, use list_capabilities. For protocol overview, use get_protocol_info.
  • list_capabilitiesReturns the capabilities currently indexed by the SAAX Router, with supplier counts per capability.No findings

    Why it is in this group

    • The name "list_capabilities" says "list": a word for reading.
    Description, as the server wrote it
    Returns the capabilities currently indexed by the SAAX Router, with supplier counts per capability. Call this to discover what can be routed. For pricing of a specific capability, use get_routing_fee. For protocol overview, use get_protocol_info.
  • list_commitmentsReturns all commitments associated with a subscription email.No findings

    Why it is in this group

    • The name "list_commitments" says "list": a word for reading.
    Description, as the server wrote it
    Returns all commitments associated with a subscription email. Requires an active SAAX Premium subscription. Call this to retrieve commitment history for a subscriber. For a single commitment by ID, use get_commitment. For status-only checks, use get_commitment_status.
  • pingReturns a lightweight liveness response.No findings

    Why it is in this group

    • The name "ping" says "ping": a word for reading.
    Description, as the server wrote it
    Returns a lightweight liveness response. Call this to verify the endpoint is reachable. Do not use for discovery, capability listing, or pricing — use get_protocol_info, list_capabilities, or get_routing_fee instead.

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.3. Values in angle brackets are yours to fill in.

claude mcp add --transport http saax-protocol https://www.saax-protocol.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__saax-protocol__get_protocol_info",
      "mcp__saax-protocol__get_routing_fee",
      "mcp__saax-protocol__ping",
      "mcp__saax-protocol__get_commitment",
      "mcp__saax-protocol__list_capabilities",
      "mcp__saax-protocol__list_commitments",
      "mcp__saax-protocol__get_commitment_status",
      "mcp__saax-protocol__get_evidence_verification",
      "mcp__saax-protocol__get_authority_validation"
    ],
    "ask": [
      "mcp__saax-protocol__route_request",
      "mcp__saax-protocol__create_commitment"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as saax-protocol. Review it before you use it.