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.
11 tools: 1 do something that can't be undone, 1 change things and 9 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone1Claude Code: ask: see these tools
- Changes things1Claude Code: ask: see these tools
- Only reads9Claude Code: allow: see these tools
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/mcpTools
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/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .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.
