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
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
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=overwrite snapshot, ledger=hash-chained tamper-evident log) and optional tier, or supply a customShape. 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 provided, the description fully discloses behavioral traits: it is billable, charged at create, funded from balance via rs_live_* key, content limited to ≤3MB with base64 for binary, and the hash-chained restriction leading to a 422 error if violated. It also mentions the auto-inclusion of a prepaid witness for hash-chaining.
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 front-loaded with the purpose and then elaborates in a logical order. It is verbose but every sentence adds value, including examples and caveats. Minor improvement could be more structured (e.g., bullet points) but overall it's effective without being wasteful.
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 has 10 parameters, nested objects, and no output schema, the description covers creation, presets, tiers, content, flags, customShape, billing, error conditions, and references sibling tools. However, it does not describe the return value (e.g., baton ID), which could help the agent understand the full flow. Still, it is quite 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?
The schema has only 10% description coverage (only 'tier' has a description), but the description extensively adds meaning: it explains each preset's purpose, valid tiers per preset, the use of flags, content encoding, and customShape fields. It goes beyond the schema by giving practical usage constraints and examples.
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 purpose in the first sentence: 'Create a baton — a prepaid storage object.' It distinguishes from siblings like append_to_baton and read_baton by focusing on creation and enumerating presets. The mention of hash-chained batons needing empty creation further clarifies its role.
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 this tool, including the requirement to quote before creation via quote_baton, the billing implication, and the crucial caveat that hash-chained batons must be created empty. It also gives examples for both regular and hash-chained creation, effectively telling the agent how to proceed.
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 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_…) — share it as the baton credential. 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?
No annotations provided, so description carries burden. It discloses cost (FREE), ownership restriction, token limit, and return value (token id). It lacks details on failure behavior or idempotency, but for a token minting tool, transparency is 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?
The description is concise (3 sentences + example) and front-loaded with the primary purpose. It could be slightly more structured, but there is minimal 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?
Given 7 parameters, no output schema, and no annotations, the description covers purpose, constraints, and most parameters. It is missing explanation for require_fingerprint and does not describe what happens on failure. Adequate but not fully comprehensive.
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 type, reads_allowed, writes_allowed, expiry, and ip_allow_list in prose and example. However, it omits require_fingerprint entirely and does not detail format for expires_at. Partially adds 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?
The description clearly states the tool's purpose: 'Mint a collaborator token for a baton so another agent can read and/or write without your key.' It specifies the verb (mint) and resource (collaborator token for a baton), and the context distinguishes it from siblings like create_baton and read_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 clear context: 'Owner only', 'FREE', 'Up to 100 tokens per baton', and advises to share the token id. It does not explicitly state when not to use or compare to alternatives, but the guidelines are sufficient for typical usage.
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.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
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
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 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
- Flicense-qualityAmaintenanceProvides a trust and governance layer for AI agents, enabling secure API access, credential vaulting, paid execution with human approval, and automatic call resume.81
- 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 USDC22151MIT
- MIT