Skip to main content
Glama

Synthex Forge — x402 Paid Agent Services

Create Prepaid Capacity

create_prepaid_capacity
Destructive

Pass Purchase. use it rather than verify_prepaid_capacity for prepaid capacity specifically; an object with 29 fields including callsTotal, calls_remaining. $25 USDC.

Input Schema

NameRequiredDescriptionDefault
ttl_daysNoHow many days the pass is valid for. Default 30.
calls_totalNoHow many calls the pass buys. Default 1,000.
route_scopeNoWhich routes the pass covers. 'micro_le_0.25' = any live paid route priced at or below $0.25.micro_le_0.25

Output Schema

NameRequiredDescriptionDefault
kindNoThe `kind` field of the response.
errorNoThe machine-readable error code, when the operation failed.
usageNoThe `usage` field of the response.
key_idNoThe `key_id` field of the response.
passIdNoThe `passId` field of the response.
recordNoThe `record` field of the response.
sha256NoThe `sha256` field of the response.
pass_idNoThe `pass_id` field of the response.
issuedAtNoThe `issuedAt` field of the response.
expiresAtNoThe `expiresAt` field of the response.
issued_atNoThe `issued_at` field of the response.
signatureYesThe Ed25519 signature over the evidence core, base64-encoded.
callsTotalNoThe `callsTotal` field of the response.
expires_atNoThe `expires_at` field of the response.
passHeaderNoThe `passHeader` field of the response.
pass_tokenNoThe `pass_token` field of the response.
routeScopeNoThe `routeScope` field of the response.
calls_totalNoThe `calls_total` field of the response.
priceAtomicNoThe `priceAtomic` field of the response.
route_scopeNoThe `route_scope` field of the response.
x402VersionNoThe `x402Version` field of the response.
error_reasonNoThe human-readable error explanation.
price_atomicNoThe `price_atomic` field of the response.
publicKeyHexNoThe `publicKeyHex` field of the response.
error_messageNoThe `error_message` field of the response.
calls_remainingNoThe `calls_remaining` field of the response.
supportedScopesNoThe `supportedScopes` field of the response.
effectivePricePerCallNoThe `effectivePricePerCall` field of the response.
effective_price_per_callNoThe `effective_price_per_call` field of the response.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed31 schema fields changed
    • addedOutput schema / properties / callsTotal
      Added value: +{
      +  "description": "The `callsTotal` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / calls_remaining
      Added value: +{
      +  "description": "The `calls_remaining` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / calls_total
      Added value: +{
      +  "description": "The `calls_total` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / effectivePricePerCall
      Added value: +{
      +  "description": "The `effectivePricePerCall` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / effective_price_per_call
      Added value: +{
      +  "description": "The `effective_price_per_call` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / error
      Added value: +{
      +  "description": "The machine-readable error code, when the operation failed.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / error_message
      Added value: +{
      +  "description": "The `error_message` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / error_reason
      Added value: +{
      +  "description": "The human-readable error explanation.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / expiresAt
      Added value: +{
      +  "description": "The `expiresAt` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / expires_at
      Added value: +{
      +  "description": "The `expires_at` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / issuedAt
      Added value: +{
      +  "description": "The `issuedAt` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / issued_at
      Added value: +{
      +  "description": "The `issued_at` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / key_id
      Added value: +{
      +  "description": "The `key_id` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / kind
      Added value: +{
      +  "description": "The `kind` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / passHeader
      Added value: +{
      +  "description": "The `passHeader` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / passId
      Added value: +{
      +  "description": "The `passId` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / pass_id
      Added value: +{
      +  "description": "The `pass_id` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / pass_token
      Added value: +{
      +  "description": "The `pass_token` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / priceAtomic
      Added value: +{
      +  "description": "The `priceAtomic` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / price_atomic
      Added value: +{
      +  "description": "The `price_atomic` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / publicKeyHex
      Added value: +{
      +  "description": "The `publicKeyHex` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / record
      Added value: +{
      +  "description": "The `record` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / routeScope
      Added value: +{
      +  "description": "The `routeScope` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / route_scope
      Added value: +{
      +  "description": "The `route_scope` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / sha256
      Added value: +{
      +  "description": "The `sha256` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / signature
      Added value: +{
      +  "description": "The Ed25519 signature over the evidence core, base64-encoded.",
      +  "type": "string"
      +}
    • removedOutput schema / properties / status
      Removed value: -{
      -  "type": "string"
      -}
    • addedOutput schema / properties / supportedScopes
      Added value: +{
      +  "description": "The `supportedScopes` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / usage
      Added value: +{
      +  "description": "The `usage` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / x402Version
      Added value: +{
      +  "description": "The `x402Version` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / required
      Added value: +[
      +  "signature"
      +]
  2. Added

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare destructiveHint=true and non-readonly, so the safety profile is partly covered, and the description adds the concrete cost ('$25 USDC') which is real behavioral context. It does not explain what 'destructive' means here (spending funds vs. consuming passes) or what happens to existing capacity, but the price disclosure is a genuine add.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is short, but it is a run-on of semicolon-joined fragments ('Pass Purchase.' ... '$25 USDC.') that is not front-loaded around the action. The information is present but assembled in a way that reads like notes rather than a definition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so describing the 29-field return shape is redundant, and the $25 USDC cost is the most useful addition. Still, a spend-incurring mutation should clarify what purchasing commits (funds debited, capacity expiry behavior), which is left implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so ttl_days, calls_total, and route_scope are fully documented in the schema with defaults. The description adds nothing about parameters (the $25 USDC figure is pricing, not a parameter), so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The fragment 'Pass Purchase.' plus the name imply buying a prepaid capacity pass, and the description does distinguish it from verify_prepaid_capacity. However, there is no clean verb+resource statement of what the tool does — the reader has to assemble the purpose from the name, title, and a terse phrase.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly names the sibling to use instead ('use it rather than verify_prepaid_capacity') and scopes it ('for prepaid capacity specifically'), which is a clear routing rule. It stops short of stating when NOT to use this tool beyond that one alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.