SacrosanctSpace
Server Details
Buy per-use Spaces (small paid tools) on s-space.ai with USDC on Base. No account needed.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 5 tools
Each tool targets a distinct stage or object: discovery (search_services), inspection (get_service_details), payment preparation (prepare_purchase), execution (complete_purchase), and recovery lookup (get_purchase_status). The prepare/complete split is explicitly coupled in the descriptions, so their boundary is clear rather than overlapping.
All five names follow a consistent snake_case verb_noun pattern: search_services, get_service_details, prepare_purchase, complete_purchase, get_purchase_status. The verbs map predictably to their operations with no stylistic mixing.
Five tools is a tight, well-scoped surface for a guest purchase workflow: find a service, inspect it, prepare payment, complete payment, and recover status. Nothing appears redundant or missing for the stated per-call purchase model.
The guest per-call purchase lifecycle is covered end to end, including the critical atomic payment and recovery check. Minor gaps remain around account-bound models (explicitly refused with ACCOUNT_REQUIRED but no corresponding tool path) and refund/cancellation handling.
Available Tools
5 toolscomplete_purchaseComplete purchaseAInspect
After paying with prepare_purchase.payment_plan, submit the mined transaction hash with the payment_id, purchase_ticket, and commerce_scope. Verifies the payment on-chain, then executes the purchased function and returns its result.
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | ||
| buyer | Yes | ||
| job_id | Yes | ||
| tx_hash | Yes | ||
| payment_id | Yes | ||
| function_name | Yes | ||
| commerce_scope | Yes | ||
| purchase_ticket | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses that the tool verifies the payment on-chain, executes the purchased function, and returns the result, but it omits failure behavior, permission requirements, idempotency, and what happens if verification fails.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences front-load the precondition and then describe the verification and execution flow. There is no redundant or filler language.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a complex mutation-style tool with eight parameters, no annotations, no output schema, and 0% schema description coverage. The description explains the workflow but not the roles of several required parameters, failure modes, or the shape of the returned function result, so it is not complete enough for the complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description should compensate. It mentions tx_hash, payment_id, purchase_ticket, and commerce_scope, adding that the transaction hash must be mined, but it omits explanation of job_id, function_name, buyer, and the nested args object, leaving half the parameters undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action: submit a mined transaction hash to complete a purchase, verify payment on-chain, and execute the purchased function. It clearly follows prepare_purchase.payment_plan and is distinguishable from get_purchase_status, which would only check status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear precondition: use this after paying with prepare_purchase.payment_plan. It does not explicitly say when not to use it or point to get_purchase_status for polling, but the sequencing guidance is strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_purchase_statusGet purchase statusAInspect
Recover a purchase after a dropped connection: reports whether a (payment_id, tx_hash) pair was already consumed.
| Name | Required | Description | Default |
|---|---|---|---|
| tx_hash | Yes | ||
| payment_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden. It implies a non-mutating status check and hints that the result is a consumed/not-consumed determination, but stays silent on permissions, behavior for unknown payment_id or malformed tx_hash, rate limits, and the exact response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the recovery scenario, then the exact semantic of the call after the colon. Nothing is redundant and every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter lookup with no output schema, the description covers the essential intent check (was this payment already consumed) and the reason to call it. Remaining gaps are the return-value shape and failure modes for invalid or unknown identifiers, which matter more here because no output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate and largely does not. It correctly conveys that both values are used together as an identifying pair, but never says where the agent obtains payment_id or tx_hash (e.g., from the original prepare_purchase call) or how they are validated beyond the regex and length constraints the schema already encodes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a concrete operation on a concrete resource: it reports whether a specific (payment_id, tx_hash) pair has already been consumed. That distinguishes it from the write-oriented siblings complete_purchase and prepare_purchase, though the opening phrase 'Recover a purchase' overstates the capability, since the tool only reports status rather than performing recovery.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The trigger condition is explicit: use this after a dropped connection to determine whether a purchase already went through. No sibling is named as an alternative and no when-not-to-use case is given, but the recovery scenario is strong enough to route an agent correctly in the ambiguous-retry situation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_service_detailsGet service detailsBInspect
Get a service's functions, inputs, price, purchase model, and the commerce_scope needed to buy. Refuses account-bound models with ACCOUNT_REQUIRED.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| creator | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description carries the full behavior burden. It does earn credit for disclosing a concrete failure mode ("Refuses account-bound models with ACCOUNT_REQUIRED"), which is exactly the kind of error-surface information an agent needs, but says nothing about read-only semantics, auth requirements, or what a not-found slug returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences and roughly twenty words with nothing wasted; the payload enumeration is front-loaded ahead of the refusal condition. Slightly telegraphic phrasing ("the commerce_scope needed to buy") but structurally sound.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter detail fetch with no output schema, the description does the useful work of listing the returned fields and one error code. Missing are the identifier semantics and not-found/multi-tenant behavior, which matter given 0% schema description coverage and no annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%: both parameters are bare strings with only a regex pattern and no prose. The description never explains what creator or slug mean, nor that creator is the owning account identifier, so it fails to compensate for the coverage gap on this two-parameter lookup.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Get a service's") and enumerates the payload returned: functions, inputs, price, purchase model, and commerce_scope. That enumeration implicitly separates it from search_services (discovery) and prepare_purchase (transaction), though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the required creator+slug pair signals a lookup on an already-known service, and the phrase "commerce_scope needed to buy" hints this precedes prepare_purchase. There is no explicit when-to-use, no statement about when to prefer search_services, and no prerequisite guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prepare_purchasePrepare purchaseAInspect
Prepare a guest per-call purchase: returns the authoritative price split, payment_id, purchase_ticket, reissued commerce_scope, and payment_plan. Pay by sending payment_plan.calls (to/value/data verbatim) from the buyer wallet as ONE atomic batch transaction on Base Mainnet — the platform call's data carries the required payment_id stamp; separate or re-encoded transfers are refused and not refunded.
| Name | Required | Description | Default |
|---|---|---|---|
| buyer | Yes | ||
| job_id | Yes | ||
| commerce_scope | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does substantial work: it discloses the required atomic batch execution model, the network (Base Mainnet), the payment_id stamp carried in call data, and the consequence of noncompliance (refused and not refunded). It does not address idempotency, expiry of the prepared ticket/plan, or whether calling it mutates server state via the reissued commerce_scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, purpose and return values front-loaded, then the payment constraint. Dense but every clause is functional — the atomicity rule and no-refund warning are exactly the details an agent must not miss. Slightly heavy punctuation but no wasted prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description compensates by listing returned fields, which is valuable. However, for a three-parameter, annotation-free, state-affecting tool it leaves key gaps: job_id semantics, where commerce_scope comes from, and lifecycle details like plan validity or retry behavior are absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for three required parameters. The description only indirectly touches two of them — 'buyer wallet' hints at buyer and 'reissued commerce_scope' hints at commerce_scope — while job_id is never mentioned at all, and no format, provenance, or expected source for any parameter is given.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — 'prepare a guest per-call purchase' — and enumerates the artifacts it returns (price split, payment_id, purchase_ticket, commerce_scope, payment_plan). This distinguishes it from complete_purchase and get_purchase_status by framing it as the preparatory step, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The second sentence gives a clear operational condition for the downstream action: pay using payment_plan.calls as one atomic batch on Base Mainnet, with explicit prohibitions (no separate or re-encoded transfers). It stops short of stating when to call this versus get_purchase_status or complete_purchase, so the entry condition is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_servicesSearch servicesBInspect
Search the live Sacrosanct Space marketplace. Returns published service cards (creator, slug, title, summary, model, price in USDC per call). Only publicly listed Spaces appear.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full behavioral burden. It usefully discloses the visibility constraint ('Only publicly listed Spaces appear') and the return fields, but says nothing about result limits, pagination, whether results are ranked, or what an empty query returns — significant gaps for a search tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the action and scope, then the return shape. No filler or restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description does cover the return fields and the public-listing filter, which is the minimum. But for a search endpoint it omits result-count behavior, empty-query semantics, and parameter meaning, leaving real gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain the single 'query' parameter, and it does not — no indication of what fields are matched, substring vs. semantic matching, or what the default empty string triggers. The only parameter is effectively undocumented anywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Search the live Sacrosanct Space marketplace') and enumerates the returned fields, so the agent knows this is a discovery/listing operation. It implicitly differs from get_service_details (cards vs. details) and the purchase siblings, but never names them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'Search the live ... marketplace' — an agent can infer this is the entry point before get_service_details or prepare_purchase. However, there is no explicit when-to-use/when-not, no guidance on empty query, and no pointer to which sibling to call next.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
- First observed
complete_purchase - First observed
get_purchase_status - First observed
get_service_details - First observed
prepare_purchase - First observed
search_services
Related MCP Connectors
AI dev tools + image generation, paid per-use with USDC on Base (x402).
Pay-per-call AI and media tools over x402. USDC on Base, no signup, no API key.
Pay-per-call tools for autonomous agents, settled in USDC on Base via x402.
PayPerByte — per-byte data for AI agents: x402 USDC on Base, EIP-712-attested. No token.
Related MCP Servers
AlicenseNot gradedqualityDmaintenancePay for any x402-gated content or API with USDC micropayments on Base. Discover payment gates, execute payments, and view transaction history.1MIT- AlicenseNot gradedqualityBmaintenanceUSDC payments for AI agents on Base. Direct transfers, pre-funded tabs, x402 paywall handling, and service discovery.155 npmMIT
- AlicenseAqualityFmaintenanceEnables AI agents to access paid tools like crypto prices, weather, translation, and web intelligence via per-request USDC payments on Base, with no API keys or subscriptions.1548 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to make pay-per-call USDC payments on Base via x402 for headless page rendering, temporary file hosting, scheduled callbacks, and pump.fun launch and trend feeds.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.