Relaystation
Server Details
Pay-per-call agent infrastructure: file storage & handoff, compute tools, messaging, e-sign, KYC.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Tool Definition Quality
Average 4.5/5 across 14 of 14 tools scored.
Each tool targets a distinct action and resource, such as baton operations, agent messaging, contracts, and account management. There is no overlap in functionality, making it clear which tool to use for each task.
All tool names follow a consistent verb_noun pattern using snake_case (e.g., append_to_baton, create_baton, message_agent). The verbs are descriptive and uniform, aiding predictability.
With 14 tools, the server covers its domain (agent coordination, batons, contracts, tool discovery) without being overbearing. The count is well-scoped for a platform offering a variety of operations.
The tool set covers core operations like creating, reading, and appending to batons, as well as messaging and contracts. However, it lacks list or delete operations for batons and contracts, which are notable gaps for a complete lifecycle.
Available Tools
14 toolsappend_to_batonAInspect
Write to a baton — append (for append / append-chained presets) or overwrite (for single-object / checkpoint presets). FREE (consumes the prepaid writes budget; no per-call charge). Owner or editor/write-token only. Set overwrite=true to replace in full on overwrite-shaped batons. Example: append_to_baton {id:"bat_", content:""}
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Baton id, or a write-capable token id (tok_…). | |
| content | Yes | ||
| overwrite | No | ||
| version_id | No | Optimistic-lock guard for overwrite. | |
| contentType | No | ||
| contentEncoding | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses behavioral details: FREE cost, owner/editor access, and the overwrite toggle for full replacement. However, it lacks details on error conditions, concurrency behavior (beyond version_id hint), or what happens if overwrite is false on overwrite-shaped batons.
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?
The description is three succinct sentences plus an example, all front-loaded with key information. Every sentence serves a purpose: function, cost/access, and usage example.
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?
Given 6 parameters and no output schema, the description covers core behavior, access, cost, and example. It omits explanations for contentEncoding and contentType, but the overall operation is clear. Completeness is adequate for a straightforward write tool.
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 low (33%). The description adds value by explaining the overwrite parameter's effect and providing an example. However, it does not explain contentEncoding, contentType, or version_id, leaving gaps that the schema only partially fills.
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?
Clearly states the tool writes to a baton, distinguishing between append and overwrite modes. The description explicitly mentions the two presets (append/append-chained and single-object/checkpoint), which differentiates it from sibling tools like read_baton and create_baton.
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?
Provides access requirements ('Owner or editor/write-token only'), cost information ('FREE'), and an example usage. It implies when to use (writing to an existing baton) but does not explicitly state when not to use or compare to alternatives like create_baton.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ask_operatorAInspect
Send a question to the human operator via their Telegram and wait for their reply. Use when you need a decision, approval, or clarification you can't infer from the conversation. The operator gets a Telegram notification on their phone; their reply comes back to you here. Typical reply latency: 1-15 minutes when operator is away from desk; ~10 seconds when at-desk. Cost: $0.005 above the daily free tier (5 free/day). If the operator has disabled the bridge ("at desk"), this returns immediately with a 'use in-IDE interaction' hint — fall through to the host IDE's chat surface. For long messages (>4KB), use ask_operator_email (needs an OAuth-linked email address — wallet-only customers should attach a Baton instead) or attach a Baton via attached_baton_id (saves the long content as a re-readable workspace; $0.01). ASK = blocks until the operator replies (vs notify_operator = one-way, no reply). Example: ask_operator {message:'Deploy to prod now?'}
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | ||
| max_wait_seconds | No | ||
| attached_baton_id | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses latency (1-15 min, ~10 sec), cost ($0.005, 5 free/day), blocking nature, and behavior when operator is away or disabled.
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?
Description is well-structured and front-loaded, but contains several pieces of information (cost, latency, alternatives) that could be slightly more concise. Still efficient.
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?
Given no annotations or output schema, description covers purpose, usage, behavior, cost, latency, error handling. Lacks explicit return value description, but it's implied. Good overall completeness.
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?
With 0% schema description coverage, description compensates well for message and attached_baton_id (explains cost and use case). However, max_wait_seconds is not explicitly tied to the parameter, relying on implicit understanding. Still adds significant value.
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?
Description clearly states the tool sends a question to a human operator via Telegram and waits for a reply. It distinguishes from sibling notify_operator and fallback options.
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?
Explicitly says when to use (need decision/approval/clarification) and when not (if operator disabled, use in-IDE; for long messages, use ask_operator_email or attach Baton). Also contrasts with notify_operator.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
balanceAInspect
Your current Relaystation balance and available (post-hold) credit, plus account profile. Read-only, FREE. Requires your rs_live_* key (or wallet-JWT / MCP token); scoped to YOUR account only. Example: balance {}
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses read-only nature, free usage, and authentication requirement. Could mention error behavior, but current details are adequate.
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 an example; every sentence adds value. Front-loaded with purpose, concise and efficient.
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, but description mentions balance, credit, and profile. Could be more specific about profile fields, but adequate for a simple read-only tool.
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 has 0 parameters, baseline is 4. Description adds value by explaining the empty input via example 'balance {}' and clarifying no arguments needed.
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 clearly states it returns balance, available credit, and account profile. It uses specific nouns and distinguishes from sibling tools like create_contract or mint_token.
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?
Provides clear context: read-only, free, requires specific key, and scoped to own account. Includes an example. No explicit when-not-to-use or alternatives, but context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
call_toolAInspect
Run a tool found via search_tools by name, passing its arguments. Dispatches the safe/billable utility tools (the cputools catalog + free reads/quotes) through the identical auth + billing + validation as a direct call. Consequential tools (account, money, credential, messaging — e.g. create_topup_link, create_baton, mint_token, ask_operator) are NOT dispatchable here: call them directly by name so your client can gate them with per-tool consent. FREE to invoke (the wrapped tool bills itself). Example: call_tool {name:"pdf_merge", arguments:{files:[{inputKey:""},{inputKey:""}]}}
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| arguments | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses that the tool dispatches through identical auth, billing, and validation as a direct call, and lists non-dispatchable tools. However, it does not mention error handling, rate limits, or response format, which would improve transparency.
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?
Description is two sentences plus an example, very concise. Front-loaded with the main purpose, no wasted words. Every sentence adds value.
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?
Given no output schema, the description does not explain the return value (presumably the result of the called tool). Also missing error handling notes. However, the tool is simple and the essential information is present.
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 description must compensate. It explains that 'name' should be a tool from search_tools, and 'arguments' are the wrapped tool's arguments. An example is provided. This adds meaning beyond the schema's type definitions, though the exact structure of arguments is left to the wrapped tool.
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?
Description clearly states the tool runs a tool found via search_tools by name and passes its arguments. It distinguishes itself by specifying which tools are dispatchable (safe/billable utility) and which are not (consequential), with examples. This provides a specific verb+resource and sibling differentiation.
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?
Explicitly tells when to use this tool (for utility tools from search_tools) and when not to (consequential tools like create_topup_link, etc., should be called directly). Also states that invocation is free (the wrapped tool bills itself). Provides clear usage context and alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_agent_addressAInspect
Mint a new ephemeral Relaystation address for this agent to receive messages from other agents. Returns a unique @courier.relaystation.ai address tied to this agent's customer. Free up to the daily mint cap (default 10/day per customer); above-cap mints debit bridge.agent_address.over_cap_price_micros (default $0.001) via Pattern A. purpose_label is informational. ttl_seconds defaults to 24h; addresses past TTL bounce inbound messages. Example: create_agent_address {purpose_label:"inbox-for-task-42"}
| Name | Required | Description | Default |
|---|---|---|---|
| ttl_seconds | No | ||
| purpose_label | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses key behaviors: ephemeral nature, free tier up to daily cap, over-cap pricing via Pattern A, TTL defaults to 24h, and that past-TTL addresses bounce inbound messages. This is comprehensive.
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?
Description is concise, front-loaded with the main action, and includes a relevant example. No superfluous sentences.
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?
Complete for a tool with no output schema: describes return format (unique address), usage limits, pricing, and TTL. All necessary information for an AI agent to invoke correctly.
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 has 0% description coverage, but the description explains both parameters: purpose_label as informational, ttl_seconds default and behavior. It also provides an example usage, adding significant value beyond the schema.
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?
Description clearly states the tool mints an ephemeral Relaystation address for receiving messages, with specific verb and resource. It distinguishes from sibling tools like create_baton or create_contract by focusing on address creation for messaging.
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?
Description explicitly states the use case: to receive messages from other agents. It does not provide when-not-to-use or compare with alternatives, but the context is clear enough for an AI agent to decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_batonAInspect
Create a baton — a prepaid storage object. Pick a preset (drop=store a file, pass=share a file, scratchpad=collaborate via append log, checkpoint=a single current document that each write REPLACES, ledger=hash-chained tamper-evident log) and optional tier, or supply a customShape. To collaborate on a document — human↔human, human↔agent or agent↔agent — use checkpoint: it holds one current state, so every reader sees the same document and a write replaces it rather than piling up entries. scratchpad is an append log: good for a running buffer two agents both add to, but readers of a scratchpad see the newest entry only. BILLABLE: charged once at create (the engine quote of the shape; quote it first with quote_baton). Funded from your balance via your rs_live_* key. Pass inline content (≤3MB; base64 for binary) or omit and write later with append_to_baton. flags.hashChaining=true makes an append log tamper-evident (auto-includes a prepaid witness). NOTE: hash-chained batons (ledger preset, or flags.hashChaining=true) MUST be created empty — do NOT pass content (returns 422 CHAINED_BATON_REQUIRES_EMPTY_CREATE); create empty, then append_to_baton for entry 1. Example (store): create_baton {preset:"drop", tier:"femto", content:""}. Example (hash-chained): create_baton {preset:"ledger", tier:"femto", flags:{hashChaining:true}} then append_to_baton.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| tags | No | ||
| tier | No | Bundle tier — valid tiers depend on preset (drop: femto/pico/nano/micro/standard/big · pass: femto/pico/nano · scratchpad: pico/nano/micro/standard/big · checkpoint: nano/micro/standard/big · ledger: femto/pico/nano/micro/standard/big). Plus 'custom' (with customShape) for any preset. | |
| flags | No | ||
| preset | Yes | ||
| content | No | ||
| contentType | No | ||
| customShape | No | ||
| description | No | ||
| contentEncoding | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility. It discloses billing (BILLABLE, charged once), funding via rs_live_* key, the 3MB content limit, base64 for binary, the hashChaining flag auto-including a prepaid witness, and the 422 CHAINED_BATON_REQUIRES_EMPTY_CREATE error condition.
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?
The description is lengthy but justifiably so for a multi-preset tool. It front-loads purpose and preset guidance and includes concrete examples. Some redundancy exists (checkpoint behavior described twice), and the prose is dense, but it remains organized and useful.
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?
It covers billing, content size, preset behavior, flags, and error cases, which is strong for 10 parameters with nested objects. However, with no output schema, it does not mention what the create response contains (e.g., baton ID), which would aid downstream tool chaining.
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 very low (10%, only tier has a description). The description compensates by explaining preset meanings, per-preset tier validity, content encoding, and flags.hashChaining semantics. It does not detail name/tags/customShape fields, but those are relatively self-explanatory, so the addition is substantial.
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 opens with 'Create a baton — a prepaid storage object', giving a clear verb and resource. It then enumerates five presets with distinct behaviors, which differentiates it from sibling tools like read_baton and append_to_baton.
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?
Provides explicit when-to-use guidance: recommends checkpoint for collaboration, distinguishes scratchpad as an append log, tells to quote first with quote_baton, and says to write later with append_to_baton. It also gives a critical exclusion: hash-chained batons must be created empty.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_contractAInspect
Create a binding-by-goodwill agreement between agents/parties and get back a contractId + termsHash + per-signer read tokens. The contract IS a hash-chained, auto-witnessed record (terms = entry 1, consents append after); it is tamper-evident and permanently verifiable, but it is NOT legally binding, NOT court-enforceable, and involves NO escrow or money movement — enforcement rests on the good faith of the parties. BILLABLE (contracts.create, charge-on-attempt). The system appends a canonical signature block (and, if arbitration:true, an arbitration block) to your terms — your terms body must NOT itself contain those blocks. Each required signer is identified by EXACTLY one method: a "wallet" (0x-address, satisfied only by an EIP-712 ContractConsent signature) or an "account" (a Relaystation customerId, satisfied only by that authenticated account). Input: { terms (required), requiredSigners: [{ identity, kind: "wallet"|"account" }] (required, ≥1), arbitration?: boolean, signingWindowSeconds?: int (default 72h) }. Requires an Idempotency-Key. Returns { id, batonId, termsHash, status, signingDeadline, requiredSigners, tokens: [{ identity, tokenId }] }. Hand each signer their read token + the contractId + termsHash so they can review and sign. Example: create_contract {terms:"Both parties agree…", requiredSigners:[{identity:"0xABC…", kind:"wallet"}, {identity:"", kind:"account"}]}.
| Name | Required | Description | Default |
|---|---|---|---|
| terms | Yes | ||
| arbitration | No | ||
| requiredSigners | Yes | ||
| signingWindowSeconds | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses all behavioral traits: hash-chained, tamper-evident, billable, appends blocks, signer methods, and that it's not legally binding. With no annotations, this fully informs the agent of side effects and constraints.
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?
The description is long but well-structured: starts with purpose, then lays out key characteristics, input, output, and an example. Every sentence adds value, though some redundancy exists (e.g., repeating 'not legally binding').
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?
Given no output schema, the description clearly states return fields and usage hints. Covers all parameters, behavior, and post-invocation actions (handing tokens). No significant 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?
Adds rich meaning beyond the schema: explains 'terms' must not contain blocks, 'requiredSigners' format with identity/kind semantics (wallet vs account), 'arbitration' boolean effect, and 'signingWindowSeconds' default. Schema coverage was 0%, so description fully compensates.
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 clearly states the tool creates a 'binding-by-goodwill agreement' and returns contract details. It distinguishes from siblings like 'sign_contract' by emphasizing creation, and specifies limitations (not legally binding, no escrow).
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?
Explicitly describes when to use (creating agreements), what it does not do (no legal enforcement, no money movement), prerequisites (Idempotency-Key), and provides a usage example. Clearly contrasts with alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_topup_linkAInspect
Create a one-tap Stripe Checkout link to add credit to YOUR balance — hand it to a human to open and pay. NO money moves here (it returns a URL; the balance is credited when the human pays). Use when you hit insufficient balance. amountUsd is dollars (whole cents). FREE to call. Requires your rs_live_* key (or wallet-JWT / MCP token); not for x402 callers. Example: create_topup_link {amountUsd:10}
| Name | Required | Description | Default |
|---|---|---|---|
| amountUsd | Yes | ||
| cancelUrl | No | ||
| successUrl | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It clearly states that no money moves immediately—only a URL is returned, and balance credits occur upon payment. It also notes that the call is free and requires specific auth keys, providing good behavioral disclosure.
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?
The description is a single, well-structured paragraph of about 4 sentences. It front-loads the main purpose, then clarifies behavioral nuances, usage context, auth, and an example. No redundant 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 tool with 3 parameters and no output schema, the description explains the core purpose and outcome (returns a URL), auth, and an example. However, it omits documentation for the two optional parameters (cancelUrl, successUrl), which are important for the agent to use the tool effectively.
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?
The input schema has 3 parameters but only 'amountUsd' is described in the description ('dollars (whole cents)'). The optional 'cancelUrl' and 'successUrl' are not mentioned. With 0% schema description coverage, the description should compensate, but it leaves two 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 clearly states the tool creates a one-tap Stripe Checkout link to add credit to the user's balance. It uses a specific verb 'create' and resource 'topup link', distinguishing it from sibling tools like 'create_baton' or 'create_contract' which serve different purposes.
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 description provides explicit context: use when balance is insufficient, and notes that the link is handed to a human for payment. It mentions auth requirements (rs_live_* key) and that it's not for x402 callers. However, it does not explicitly state when not to use the tool or mention alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
describe_toolAInspect
Get one tool's full description and input schema by exact name (as returned by search_tools). FREE. Example: describe_tool {name:'pdf_merge'}
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries burden. Mentions 'FREE', which hints at cost behavior, but does not disclose read-only or side-effect-free nature. Example adds some transparency but not comprehensive.
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 with no filler. Front-loaded with purpose and method, includes a concrete example. Every word earns its place.
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?
Simple tool with one parameter and no output schema. Description covers purpose, parameter usage, and example. Could mention return format but not critical given the simplicity. Adequately complete.
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 coverage is 0%, so description must compensate. It adds semantics by specifying the parameter is the exact tool name from search_tools and provides an example ('pdf_merge'), adding meaning beyond the plain string type.
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?
Clear verb 'Get' combined with specific resource 'tool's full description and input schema'. Differentiates from sibling 'search_tools' by specifying exact name requirement and referencing search_tools output.
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?
Explicitly states 'by exact name (as returned by search_tools)', providing clear context for when to use. Includes an example usage. Lacks explicit 'when not to use' but the context with sibling tools implies it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
message_agentAInspect
Send a message to another Relaystation agent's ephemeral address (format @courier.relaystation.ai). Same-Relaystation routing only (v2 launch); external domains return EXTERNAL_DOMAIN_NOT_SUPPORTED_V2. Free — agent-to-agent traffic has no per-message cost (subject to the recipient's per-address inbox quota; default 100 messages within the 30-day retention window). Use for multi-agent coordination: delegating subtasks, sharing context, building chains. For ongoing coordination involving 30+ messages, prefer a shared LEDGER or SCRATCHPAD Baton (better search/audit/verification at $0.01 setup). Example: message_agent {to_address:'agent-7@courier.relaystation.ai', body:'Status update: task ready'}
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| subject | No | ||
| to_address | Yes | ||
| attached_baton_id | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description fully covers behavioral traits: ephemeral address format, same-Relaystation routing, free but subject to inbox quota, 30-day retention window, and error for external domains. Could mention if delivery is guaranteed or async, but still strong.
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?
Single paragraph with multiple sentences, front-loaded with purpose. Information dense but not overly verbose. Could be structured with bullets, but current format is clear and each sentence adds value.
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?
Given 4 parameters, no output schema, and no annotations, description explains purpose, usage, constraints, alternatives, cost, and quota. Lacks details on output or success/error indicators, but comprehensive overall.
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 description must compensate. It explains 'to_address' format and 'body' with example, but does not describe 'subject' or 'attached_baton_id'. Partially adds meaning but misses two parameters.
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?
Description clearly states 'Send a message to another Relaystation agent's ephemeral address' with specific verb and resource. It distinguishes from sibling tools by contrasting with Baton tools for ongoing coordination, and mentions the address format.
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?
Explicitly states when to use: 'Use for multi-agent coordination: delegating subtasks, sharing context, building chains.' Provides alternative: 'For ongoing coordination involving 30+ messages, prefer a shared LEDGER or SCRATCHPAD Baton.' Also notes routing constraint and error for external domains.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mint_tokenAInspect
Mint a collaborator token for a baton so another agent — or a human — can read and/or write without your key. FREE. type is read / write / read_write; optionally cap reads_allowed / writes_allowed, set an expiry, or restrict by IP. Up to 100 tokens per baton. Owner only. Returns the token id (tok_…) to share as the baton credential, plus an editUrl a human can open in a browser to read and edit the content directly. Works on any baton; best on a checkpoint — that is the document shape, where a save replaces the current state so every reader (human or agent) sees the same thing. On append-shaped batons (scratchpad, ledger) a save adds an entry and the editor shows the newest entry only. Example: mint_token {id:"bat_", type:"read_write"}
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| type | Yes | ||
| expires_at | No | ||
| ip_allow_list | No | ||
| reads_allowed | No | ||
| writes_allowed | No | ||
| require_fingerprint | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full transparency burden. It discloses the free cost, the 100-token per baton limit, the returned token id and editUrl, and the different behavior on checkpoint vs. append-shaped batons. This goes beyond the basic 'mint a token' explanation and gives users a concrete understanding of what happens.
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?
The description is appropriately sized and well-structured. It opens with the core purpose, then covers optional parameters, limits, return values, shape-specific behavior, and ends with a concrete example. Each sentence adds value without unnecessary fluff, making it dense but readable.
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?
Given the tool's complexity (7 parameters, no output schema or annotations), the description covers the essential context: ownership restrictions, token limits, return values, and how different baton shapes affect behavior. It is sufficiently complete for an agent to decide whether and how to invoke this tool correctly.
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?
The schema has 0% description coverage, so the description must compensate. It explains 'type' as read/write/read_write, mentions optional reads_allowed/writes_allowed caps, expiry, and IP restrictions, and provides an example. However, it omits the require_fingerprint parameter, leaving that meaning insufficiently clarified.
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 clearly states the tool's function: minting a collaborator token for a baton so another agent or human can read/write without the owner's key. This is a specific verb+resource+outcome and distinguishes it from sibling tools like create_baton or read_baton, which operate on the baton itself rather than issuing access tokens.
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 description provides strong usage context: it notes 'Owner only' as a prerequisite and recommends using it on checkpoint batons, explaining the behavioral difference on append-shaped batons. It also gives an example invocation. However, it does not explicitly compare this tool with alternatives or state when not to use it, though the intended scenario is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_batonAInspect
Read a baton's content + metadata. FREE (reads draw down the prepaid egress budget, no per-call charge). Address by owner id (requires your key) or by a collaborator token id (tok_…, the token IS the credential). Large multi-entry batons return a presigned download URL or a hint to page via list-entries; small content returns inline. Example: read_baton {id:"bat_"}
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Baton id, or a collaborator token id (tok_…). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses key behaviors: free usage, two addressing modes, and handling of large vs. small content (presigned URL or inline). Missing error cases, but core behavior is well-covered.
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?
The description is relatively long but each sentence adds value. It is front-loaded with the main action and structured logically. A minor reduction in redundancy could improve it, but it remains efficient.
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?
Despite no output schema, the description adequately covers return behavior (inline vs. presigned URL) and addressing options. Context about siblings is implicitly clear given the tool's distinct purpose.
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 coverage is 100%, but the description adds meaningful context: it explains that 'id' can be a baton id or a collaborator token (tok_…), and that the token itself serves as the credential. This goes beyond the schema's description.
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 clearly states 'Read a baton's content + metadata.' It uses a specific verb ('Read') and resource ('baton'), and distinguishes from siblings like create_baton and append_to_baton by focusing on reading.
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 description provides explicit guidance on when to use each addressing method (owner id requires your key, collaborator token is the credential). It also explains billing ('FREE') and gives a concrete example.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_toolsAInspect
Search the full Relaystation tool catalog by keyword and get back the best matches. Use this first to find a tool, then describe_tool for its schema and call_tool to run it (or call a named hot tool directly). query is free text (e.g. "merge pdf", "csv to json", "send telegram"). detail controls how much is returned per match: "name" | "summary" (default) | "full" (with inputSchema). limit defaults to 5. FREE. Example: search_tools {query:"merge pdf", limit:5}
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | ||
| detail | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but description mentions it's FREE, read-only search behavior, and outlines output control via detail parameter. Lack of explicit read-only flag is minor given context.
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?
Three sentences front-loaded with purpose, followed by usage flow and parameter details. Every sentence adds value, no redundancy.
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?
Covers key aspects: purpose, usage, parameters, and costing. Lacks explicit return structure details, but for a search tool the description is sufficient given no output schema.
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?
Despite 0% schema coverage, the description explains all three parameters: query is free text, detail controls output verbosity with enum values listed, limit defaults to 5 with range implied. Completely compensates for schema gaps.
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?
Description clearly states it searches the tool catalog by keyword and returns best matches. It distinguishes itself from sibling tools like describe_tool and call_tool by positioning as the first step.
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?
Explicitly instructs to use this first, then describe_tool for schema and call_tool to run. Provides query examples and explains parameter defaults, giving clear when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sign_contractAInspect
Append your consent to a contract (one entry on its hash chain). FREE. Two forms, no cross-method satisfaction: a "wallet" signer supplies an EIP-712 ContractConsent signature over the contract's termsHash (the signature IS the authentication — no account needed); an "account" signer must be authenticated as the matching Relaystation customerId. When the LAST required signer signs, the contract becomes "executed" and is witnessed. The EIP-712 typed data is domain { name:"Relaystation Contracts", version:"1", chainId } / ContractConsent(string contractId, bytes32 termsHash). Input: { id (contractId), method:"wallet", walletAddress, signature } OR { id, method:"account" }. Returns the updated contract view. Example: sign_contract {id:"", method:"account"}
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| method | Yes | ||
| signature | No | ||
| walletAddress | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses that signing appends consent, contract becomes executed when last required signer signs, and returns updated view. The EIP-712 specifics and domain info are included.
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?
The description is a single dense paragraph that packs essential details without fluff. It covers all key aspects efficiently, though slightly front-loaded with technical EIP-712 info.
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?
Given no output schema, the description states 'returns the updated contract view,' which is sufficient. It covers two methods, authentication, and execution condition. Missing details like error cases but generally complete.
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?
With 0% schema coverage, the description adds full meaning: explains id, method enum, walletAddress and signature for wallet method, and account method requirements. Examples and typed data details compensate for schema gaps.
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 clearly states the tool appends consent to a contract, distinguishing between two signing methods (wallet/account). It specifies the action on a specific resource and differentiates from siblings like create_contract.
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 description explains when to use wallet vs account method, including authentication requirements. It notes 'no cross-method satisfaction' and that the last signer triggers execution. However, it does not explicitly state when not to use the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user or an account that owns the GitHub organization, then choose Claim with GitHub.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Pay-per-call agent superpowers: media/video gen, product demos, research, GTM, scraping, compute.
Pay-per-call APIs and MCP services for agents, no accounts or keys, with verifiable receipts.
Agent bookkeeping, sanctions, KYB, VAT and e-invoice checks - pay per call in USDC
Agent payments, API key vaulting, and governed mandates. Agents spend within user-defined limits.
Related MCP Servers
- FlicenseAqualityCmaintenancePay-per-call tools for AI agents including trust checks, due diligence, market data, and human-verified approvals, settled in USDC on Base via the x402 protocol.16
- FlicenseNot gradedqualityAmaintenanceProvides a trust and governance layer for AI agents, enabling secure API access, credential vaulting, paid execution with human approval, and automatic call resume.152
- AlicenseAqualityCmaintenanceVerifiable document intelligence for AI agents. Extract text, tables, and structured data from PDFs and URLs. Summarize, answer questions, check claims, and translate — all with cited evidence. Store tamper-evident evidence bundles with cryptographic signatures and on-chain attestation via Base L2. Cross-document semantic search and Q&A across named collections. Pay per call with USDC22191MIT
- MIT