Search / io.github.bryantrudy24/saax-protocol
SAAX Protocol
R0· no sign-inGoverned commitment lifecycle and rail-agnostic settlement layer for agent-to-agent commerce.
v1.0.3 · active · repository · descriptor JSON · versions
Search / io.github.bryantrudy24/saax-protocol
R0· no sign-inGoverned commitment lifecycle and rail-agnostic settlement layer for agent-to-agent commerce.
v1.0.3 · active · repository · descriptor JSON · versions
{
"mcpServers": {
"saax-protocol": {
"type": "http",
"url": "https://www.saax-protocol.com/mcp"
}
}
}claude mcp add --transport http saax-protocol https://www.saax-protocol.com/mcp[mcp_servers.saax-protocol]
url = "https://www.saax-protocol.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"saax-protocol": {
"type": "remote",
"url": "https://www.saax-protocol.com/mcp",
"enabled": true
}
}
}{
"mcpServers": {
"saax-protocol": {
"type": "http",
"url": "https://www.saax-protocol.com/mcp"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=saax-protocol&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vd3d3LnNhYXgtcHJvdG9jb2wuY29tL21jcCJ9"
}{
"servers": {
"saax-protocol": {
"type": "http",
"url": "https://www.saax-protocol.com/mcp"
}
}
}{
"mcpServers": {
"saax-protocol": {
"httpUrl": "https://www.saax-protocol.com/mcp"
}
}
}extensions:
"saax-protocol":
enabled: true
name: "saax-protocol"
type: streamable_http
uri: "https://www.saax-protocol.com/mcp"
timeout: 300
protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28protocol.statelessonly applies to 2026-07-28 serversprotocol.transportstreamable HTTPprotocol.list_ttlonly applies to 2026-07-28 serversauth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_lengthdescriptions are concisetools.schemasevery tool has an object input schematools.annotationsno tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky onestools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: get_evidence_verification (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_protocol_info (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_routing_fee (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …tools.token_costabout 1,865 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changes16 tool changes in 30 daysstability.rug_pull11 tools kept their name but changed most of their description in 30 days; review before trusting themdeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packagecreate_commitmentaddedCreates 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.
get_commitment_statuschangeddescriptionmeaning changedReturns only the current lifecycle state for a given commitment ID. Call this for lightweight polling when the full commitment object is not needed. For the full commitment record, use get_commitment.
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_authority_validationchangeddescriptionmeaning changedPREMIUM. Validates an external authority proof (ap2-mandate, verifiable-intent, oauth-token, custom) against a commitment request: structure, signature, scope, and time validity. Requires an active SAAX Premium subscription.
Validates an authority proof against a commitment. Requires an active SAAX Premium subscription. For evidence verification, use get_evidence_verification.
get_evidence_verificationchangeddescriptionmeaning changedPREMIUM. Validates externally-produced evidence against a commitment's acceptance criteria using the evidence abstraction (evaluateCriterion). Requires an active SAAX Premium subscription. Provide evidence, commitment, and criterion; returns satisfied | not_satisfied | insufficient_evidence with the evaluation reason.
Verifies external evidence against a commitment's acceptance criteria. Requires an active SAAX Premium subscription. For authority proof validation, use get_authority_validation.
get_commitment_statuschangeddescriptionmeaning changedTakes { commitmentId } and returns ONLY the current lifecycle state for lightweight polling: { commitmentId, state }. Distinct from get_commitment (which returns the full manifest). Read-only and UNGATED — the commitment id is the access token. Returns not_found when the commitment does not exist, and invalid when the id fails format validation. state is one of: issued, authority_validated, accepted, executing, evidence_pending, evidence_submitted, verifying, fulfilled, failed, recovering, disputed, settled, finalized, cancelled, expired.
Returns only the current lifecycle state for a given commitment ID. Call this for lightweight polling when the full commitment object is not needed. For the full commitment record, use get_commitment.
list_commitmentschangeddescriptionmeaning changedPREMIUM. Takes { subscriptionEmail }. Requires an active SAAX Premium subscription tied to that email (same gating as get_evidence_verification / get_authority_validation). Returns an array of commitment summaries (commitmentId, createdAt, state, capability, terms) recorded in this instance's commitment store — the SAME store get_commitment reads. Returns an empty array (not an error) when the subscriber has no commitments, and payment_required when the email has no active subscription. Read-only; never triggers settlement.
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.
list_capabilitieschangeddescriptionmeaning changedReturns the distinct capabilities among active suppliers with the supplier count per capability. Read-only; requires no payment. Used by agents to discover what SAAX currently routes.
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.
get_commitmentchangeddescriptionmeaning changedTakes a commitmentId. Validates the id format, looks up the Trade Manifest in the commitment store, and returns it. Returns a not-found response if the commitment does not exist. Read-only: never triggers settlement. Note: the MCP instance keeps its own in-process commitment store (issued commitments from this instance).
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.
route_requestchangeddescriptionmeaning changedTakes { capability, budget, deadline }. Sanitizes the input, ranks active suppliers against the capability using the gateway's ranking engine (scripts/rank-suppliers.js), and returns the ranked supplier list with scores, agent IDs, and payTo addresses. If no supplier clears the capability floor, returns a no_match response. This tool NEVER initiates payment — the buyer settles via the HTTP /route endpoint with the x402 challenge.
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.
pingchangeddescriptionmeaning changedLiveness check. Returns ok.
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.
Showing the latest 10. Full history: list_changes · trend: quality JSON.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +namespace-matches-repo +reachable +uptime-100% +updated-13d-ago
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://www.saax-protocol.com/mcp streamable-http | none | yes | 100% | 339 ms | 2025-11-25 | 2026-10-19 |
create_commitment | 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. |
get_authority_validation | Validates an authority proof against a commitment. Requires an active SAAX Premium subscription. For evidence verification, use get_evidence_verification. |
get_commitment | 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_status | 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_verification | 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_info | 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_fee | 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_capabilities | 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_commitments | 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. |
ping | 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. |
route_request | 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. |
Schemas: list_tools.
{
"name": "io.github.bryantrudy24/saax-protocol",
"title": "SAAX Protocol",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://www.saax-protocol.com/mcp",
"type": "streamable-http"
}
],
"version": "1.0.3",
"repository": {
"url": "https://github.com/bryantrudy24/saax-protocol",
"source": "github"
},
"description": "Governed commitment lifecycle and rail-agnostic settlement layer for agent-to-agent commerce."
}