Rhumb
Rhumb
Index ranks. Resolve routes. Rhumb is an agent gateway for external tools: Index scores and compares services; Resolve routes supported capability calls through governed execution rails with receipts.
🌐 rhumb.dev · ⚡ Quickstart · 🧭 Resolve · 💵 Pricing · 📊 Leaderboard · 📖 Methodology · 🔑 Trust
For agents: See
llms.txtfor machine-readable documentation andagent-capabilities.jsonfor structured capability metadata.
Start in 30 seconds
MCP (recommended)
npx rhumb-mcp@latestZero config. Discovery tools work immediately — no signup, no governed API key.
For execution, pass your governed API key:
RHUMB_API_KEY=your_key npx rhumb-mcp@latestAPI (read-only, no auth)
curl "https://api.rhumb.dev/v1/services/stripe/score"
# See supported execution routes before you execute
curl "https://api.rhumb.dev/v1/capabilities/email.send/resolve"All read endpoints are public, including Resolve readiness checks. Estimate and execute require an authenticated payment path.
Related MCP server: agent-validator-mcp-server
What Rhumb does
Use Rhumb Index when an agent needs to discover and evaluate services. Use Rhumb Resolve when the task is on a supported capability path and you want governed execution with an explicit receipt.
Agents need external tools. Choosing the right one is hard — not because of feature lists, but because of:
auth and signup friction
provisioning reality vs. marketing claims
schema instability
failure recovery when no human is watching
hidden costs and rate limits
Rhumb makes those constraints visible before you commit.
Best fit today
Rhumb is strongest today for research, extraction, generation, and narrow enrichment.
Treat broader multi-system business automation as future scope, not the current launch promise. Use Layer 2 capabilities for real work now, and treat Layer 3 as beta with an intentionally sparse public catalog.
Rhumb Index — Discover & Evaluate
999 scored services across 50+ domains. Each gets an AN Score (0–10) measuring execution quality, access readiness, and agent autonomy support.
find_services— Search indexed Services by what you need them to doget_score— Get the full AN Score breakdown for a Service: execution quality, access readiness, autonomy level, tier label, and freshnessget_alternatives— Find alternative Services, ranked by AN Scoreget_failure_modes— Get known failure patterns, impact severity, and workarounds for a servicediscover_capabilities— Browse Capabilities by domain or search textresolve_capability— Given a Capability ID, and optionally a credential mode, returns ranked providers with health status, cost per call, auth methods, endpoint patterns, execute guidance, and machine-readable recovery fields like recovery_hint.resolve_url, recovery_hint.credential_modes_url, and, when applicable, recovery_hint.alternate_execute_hint or recovery_hint.setup_handoff, plus typo recovery when the capability ID is wrong
Discovery breadth is wider than current execution coverage. The index is broader than what Rhumb can execute today.
Rhumb Resolve — Execute
435 capability definitions across 18 callable providers today. Resolve chooses the best-fit supported provider for the call using AN Score, availability / circuit state, estimated cost, latency proxy, credential mode, and explicit policy constraints.
execute_capability— Call a Capability through Rhumb Resolveresolve_capability— Given a Capability ID, and optionally a credential mode, returns ranked providers with health status, cost per call, auth methods, endpoint patterns, execute guidance, and machine-readable recovery fields like recovery_hint.resolve_url, recovery_hint.credential_modes_url, and, when applicable, recovery_hint.alternate_execute_hint or recovery_hint.setup_handoff, plus typo recovery when the capability ID is wrongestimate_capability— Estimate the active execution rail, cost, and health before a Capability call; anonymous direct system-of-record paths also preserve machine-readable execute_readiness handoffsget_receipt— Retrieve an execution receipt by IDBudget enforcement, credential management, and execution telemetry included
Best current fit: research, extraction, generation, and narrow enrichment. Treat general business-agent automation and broad multi-system orchestration as future scope, not the current launch promise.
Repository visibility map
Surface | What it is for | Current honest boundary |
Rhumb Index | Free service discovery, AN Score lookup, alternatives, and failure-mode research | Broad discovery is not the same as execution readiness |
Rhumb Resolve | Governed execution for supported capabilities with estimates, receipts, budgets, and telemetry | 18 runtime-callable providers today; best fit is research, extraction, generation, and narrow enrichment |
MCP package | Agent-native entry point for Claude, Cursor, and other MCP clients | Discovery works without auth; execution needs a governed key, wallet-prefund, or x402 where supported |
API | Public read endpoints plus authenticated execution endpoints | Use current API responses as source of truth for readiness and callable coverage |
Three credential paths
Path | How it works |
Rhumb-managed | Rhumb holds the credential — zero setup for the agent |
BYOK | Bring your own provider API key. Rhumb routes, you authenticate |
Agent Vault | Your key, encrypted and stored — Rhumb injects at call time |
Payment paths
Governed API key — sign up, get a key, prepaid credits
x402 / USDC — no signup, pay per call on-chain
Resolve mental model
Service = vendor Rhumb evaluates and compares
Capability = executable action like
email.sendRecipe = deterministic multi-step workflow on top of capabilities (beta, sparse public catalog)
Layer 2 is the default path — start with governed API key or wallet-prefund on
X-Rhumb-Key, discover a Service, choose a Capability, estimate, then executeStart with managed superpowers first — bring BYOK or Agent Vault only when the workflow touches your own systems
Default auth for repeat traffic = governed API key or wallet-prefund on
X-Rhumb-KeyBring BYOK or Agent Vault only when provider control is the point
Use x402 when zero-signup per-call payment matters more than repeat throughput
Canonical onboarding map: https://rhumb.dev/docs#resolve-mental-model
MCP tools
rhumb-mcp exposes 21 tools:
Discovery
find_services— Search indexed Services by what you need them to doget_score— Get the full AN Score breakdown for a Service: execution quality, access readiness, autonomy level, tier label, and freshnessget_alternatives— Find alternative Services, ranked by AN Scoreget_failure_modes— Get known failure patterns, impact severity, and workarounds for a servicediscover_capabilities— Browse Capabilities by domain or search textresolve_capability— Given a Capability ID, and optionally a credential mode, returns ranked providers with health status, cost per call, auth methods, endpoint patterns, execute guidance, and machine-readable recovery fields like recovery_hint.resolve_url, recovery_hint.credential_modes_url, and, when applicable, recovery_hint.alternate_execute_hint or recovery_hint.setup_handoff, plus typo recovery when the capability ID is wrong
Execution
execute_capability— Call a Capability through Rhumb Resolveestimate_capability— Estimate the active execution rail, cost, and health before a Capability call; anonymous direct system-of-record paths also preserve machine-readable execute_readiness handoffscredential_ceremony— Get step-by-step instructions to obtain API credentials for a Servicecheck_credentials— Inspect live credential-mode readiness, globally or for a specific Capabilityrhumb_list_recipes— List the current published Rhumb Layer 3 recipe catalogrhumb_get_recipe— Get the full published definition for a Rhumb recipe, including input/output schemas and step topologyrhumb_recipe_execute— Execute a published Rhumb Layer 3 recipe once one is live in the public catalogget_receipt— Retrieve an execution receipt by ID
Billing
budget— Check or set your call spending limitspend— Get your spending breakdown for a billing period: total USD spent, call count, average cost per call, broken down by Capability and by providercheck_balance— Check your current Rhumb credit balance in USDget_payment_url— Get a checkout URL to add credits to your Rhumb balanceget_ledger— Get your billing history: charges (debits), top-ups (credits), and auto-reload events
Operations
routing— Get or set how Rhumb auto-selects providers when you don't specify one in execute_capabilityusage_telemetry— Get your execution analytics — calls, latency, errors, costs, and provider health for your Rhumb usage
Discovery spans 999 scored services, but current governed execution spans 18 callable providers.
Note: Layer 3 recipe tooling is live, but the public catalog can still be empty. Use
rhumb_list_recipesor visit/recipesbefore assuming a workflow exists.
Best current fit: research, extraction, generation, and narrow enrichment. Treat general business-agent automation as future scope, not the current launch promise.
API
Base URL: https://api.rhumb.dev/v1
Endpoint | Auth | Purpose |
| No | Score breakdown |
| No | Service profile + metadata |
| No | Known failure modes |
| No | Search services |
| No | Category rankings |
| No | Capability registry |
| No | Ranked providers + explicit |
| Yes | Execute a capability |
| Yes | Cost estimate |
| No | Provider health status |
| Yes | Your usage analytics |
| No | Machine-readable pricing |
Examples
See examples/ for runnable scripts:
Example | What it shows | Auth needed? |
Search → Score → Failure modes | No | |
Resolve → machine-readable recovery handoff → Estimate → Execute | No for resolve, yes for estimate/execute | |
Budget + cost-optimal routing | Yes | |
Repeatable Resolve → telemetry verification loop | Yes | |
MCP setup for Claude, Cursor, etc. | Optional |
# Try discovery right now (no auth needed)
pip install httpx && python examples/discover-and-evaluate.py
# Try the resolve walkthrough right now (no auth needed for resolve)
python examples/resolve-and-execute.pyresolve-and-execute.py will still show the ranked providers plus any machine-readable recovery handoff Rhumb already identified. Set RHUMB_API_KEY only when you want to continue into estimate and execute.
Docs
Agent Accessibility Guidelines — making web interfaces usable by AI agents
AN Score Methodology — scoring dimensions, weights, and rubrics
Architecture — scoring engine design
API Reference — endpoint details
Repo Boundary — what stays public here vs. what lives in the private ops workspace
Security Policy — vulnerability reporting and security architecture
Repo structure
rhumb/
├── packages/
│ ├── api/ # Python API (Railway)
│ ├── astro-web/ # Public website (Vercel)
│ ├── mcp/ # MCP server (npm)
│ ├── cli/ # CLI tooling
│ └── shared/ # Shared types/constants
├── examples/ # Runnable examples
├── docs/ # Public documentation only
├── scripts/ # Product tooling + verification scripts
├── artifacts/ # Curated public datasets only (raw proof outputs stay local/private)
├── llms.txt # Machine-readable docs for agents
└── agent-capabilities.json # Structured capability manifestDevelopment
# API
cd packages/api && pip install -r requirements.txt && uvicorn app:app --reload
# MCP
cd packages/mcp && npm ci && npm run dev
# Web
cd packages/astro-web && npm ci && npm run devNode 24+ recommended (.nvmrc included).
Score disputes
Every score is disputable. If you believe a score is inaccurate:
Read the public provider guide at rhumb.dev/providers
Open the score-dispute GitHub template with evidence
Or email providers@supertrained.ai for a private path
We target an initial response within 5 business days. Negative findings remain visible. Rhumb does not accept payment to change scores.
Links
Website: rhumb.dev
npm: rhumb-mcp
MCP Registry: Rhumb on MCP Registry
X: @pedrorhumb
License
Available Tools
16 toolsbudgetA
Check or set your execution budget. Without action param, returns current status. Use action='set' with budget_usd to create/update. Budget is enforced pre-execution — you get 402 (not a surprise bill) when over limit.
| Name | Required | Description | Default |
|---|---|---|---|
| action | No | Action: 'get' to check budget, 'set' to create/update | |
| budget_usd | No | Budget amount in USD (required for set) | |
| period | No | Budget period: daily, weekly, monthly, total (default: monthly) | |
| hard_limit | No | If true, reject executions over budget (default: true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Outstanding given no annotations. Discloses enforcement timing ('pre-execution'), specific error code ('402'), and user safety guarantee ('not a surprise bill'). Explains default read behavior when action omitted, critical for a tool with zero required parameters.
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?
Four sentences, zero waste. Front-loaded with purpose, progresses through default behavior, mutation syntax, and enforcement guarantees. No repetition of schema details except where necessary for flow.
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 and 100% schema coverage, description adequately compensates by explaining return behavior (current status) and error conditions (402). Absence of output schema is mitigated by explicit behavioral descriptions, though explicit return value structure for 'set' operation is implied rather than stated.
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 100% schema coverage, baseline is 3. Description adds value by explaining default behavior when action is omitted, and clarifying that 'set' action performs 'create/update' operations. Effectively links action and budget_usd parameters conceptually.
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+resource ('Check or set your execution budget') but 'execution budget' terminology implicitly distinguishes from sibling 'check_balance' (likely account funds) without explicit comparison. Dual-mode nature (get/set) is immediately apparent.
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?
Excellent guidance on defaults ('Without action param, returns current status') and required parameter combinations ('Use action='set' with budget_usd'). Missing explicit distinction from 'check_balance' or when to prefer 'get_ledger', but covers the two primary usage patterns clearly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_balanceB
Check the current credit balance for your organization on Rhumb
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It fails to indicate whether this is a read-only operation, what data structure or format is returned (e.g., numeric value, currency object), or whether the balance is real-time versus cached. The term 'Check' implies reading but does not confirm safety characteristics.
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, efficient sentence with the action verb front-loaded. There is no redundant or wasteful text, and every word serves to clarify the tool's function.
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?
While adequate for a zero-parameter tool, the description is incomplete given the presence of multiple financially-related siblings (budget, get_ledger, spend, get_payment_url) and the lack of an output schema. It should clarify how this relates to other financial tools and hint at the return structure.
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 zero parameters, the baseline score applies per the rubric. The schema requires no additional semantic explanation, and the description correctly implies no user input is needed to retrieve the organization's balance.
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 uses a specific verb ('Check') and identifies the resource ('current credit balance') and scope ('organization on Rhumb'). However, it does not explicitly differentiate from siblings like 'get_ledger' or 'budget' that may also return financial information, falling short of a 5.
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 no guidance on when to use this tool versus alternatives such as 'get_ledger' (which may show transaction history), 'budget', or 'spend'. There are no prerequisites, conditions, or exclusion criteria mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_credentialsA
Check your credential status across all three modes. Shows which capabilities are available via Rhumb-managed (zero-config), which services have ceremony guides for self-provisioning, and BYO status. Start here to understand what you can execute.
| Name | Required | Description | Default |
|---|---|---|---|
| capability | No | Optional: check credential status for a specific capability (e.g. 'email.send') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It adequately describes the three credential modes and what information is returned (availability status), but lacks explicit safety disclosure (read-only nature), rate limits, or side effects beyond the implicit non-destructive nature of 'Check' operations.
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 tightly constructed sentences with zero waste: action statement, explanatory detail of the three modes, and usage positioning. Information is front-loaded with the verb, and each sentence earns its place by conveying distinct information (what it does, what it shows, when to use it).
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 and the complexity of the three-mode credential system, the description successfully explains what the tool returns (availability across modes, BYO status). Minor gap: could briefly mention output format or example capability strings beyond the single 'email.send' example in the 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?
Schema coverage is 100% (baseline 3), but description adds valuable context by explaining the 'three modes' framework that the optional capability parameter filters against. This enriches understanding of what the parameter controls within the broader credential ecosystem.
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 uses specific verb 'Check' with clear resource 'credential status across all three modes', distinguishing it from siblings like 'credential_ceremony' (which performs provisioning) and 'execute_capability' (which runs capabilities). It explicitly defines the scope (Rhumb-managed, ceremony guides, BYO) that differentiates this discovery tool from mere capability listing.
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 positions the tool with 'Start here to understand what you can execute', providing clear sequencing guidance for the credential workflow. While it doesn't explicitly name alternatives to avoid, the 'Start here' directive effectively establishes prerequisites for using sibling tools like 'execute_capability' or 'credential_ceremony'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
credential_ceremonyA
Get step-by-step instructions for obtaining API credentials for a service. Without a service param, lists all available ceremonies. With a service param, returns detailed steps, token format info, and documentation links. Use this before agent_vault execute mode.
| Name | Required | Description | Default |
|---|---|---|---|
| service | No | Service slug to get the credential ceremony for (e.g. 'openai', 'stripe', 'resend'). Omit to list all available ceremonies. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses the dual return behaviors (list vs. detailed steps) and specifies what 'detailed steps' includes ('token format info, and documentation links'). Could improve by mentioning if results are cached or if the tool is idempotent, but solid disclosure of output content.
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, perfectly structured: 1) Core purpose, 2) Parameter-dependent behavior and return details, 3) Workflow usage guideline. No redundancy with schema. Every sentence earns its place with high information density.
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 single-parameter discovery tool, coverage is strong. Compensates for missing output schema by describing return values ('detailed steps, token format info, documentation links'). Establishes relationship to 'agent_vault' in the ecosystem. Minor gap: could explicitly contrast with 'check_credentials' sibling, but sufficient given complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by explaining the functional consequence of providing vs omitting the parameter (specific steps vs. list all), reinforcing the conditional logic. It adds semantic context about the examples (OpenAI, Stripe) indicating these are external service credentials.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Get') and resource ('step-by-step instructions for obtaining API credentials'). The name 'credential_ceremony' is jargon, but the description clarifies it means instructions for obtaining API credentials. It implicitly distinguishes from sibling 'check_credentials' (which verifies existing creds) by focusing on the acquisition process.
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 temporal guidance: 'Use this before agent_vault execute mode.' This establishes a clear workflow prerequisite. Also clearly documents the dual behavior: without service param it lists all ceremonies, with it returns specific steps.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
discover_capabilitiesA
Discover what capabilities are available — search by domain or text. Returns capabilities with provider counts and top provider info.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | No | Filter by capability domain (e.g. 'email', 'payment', 'ai') | |
| search | No | Search capabilities by text | |
| limit | No | Max results to return (default 20) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It compensates by disclosing return value structure ('provider counts and top provider info'), but omits other behavioral traits like auth requirements, rate limits, or side effects.
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 efficient sentences with zero waste. Front-loaded purpose ('Discover what capabilities are available') followed immediately by usage pattern and return value description.
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?
Adequate for a discovery tool with well-documented schema. Compensates for missing output_schema by describing return format. Minor gap: could note that all parameters are optional (required=0) to complete the contract.
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 100% ('Filter by capability domain', 'Search capabilities by text', etc.), establishing baseline 3. Description adds minimal semantic context beyond mapping 'domain or text' to the search functionality already documented in 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?
Clear verb 'Discover' and resource 'capabilities' with explicit scope (search by domain or text). However, it does not distinguish from siblings like 'find_tools' or 'resolve_capability' which may overlap in functionality.
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?
Implies usage through 'search by domain or text' and indicates return data structure, but lacks explicit when-to-use guidance or comparison to alternatives like 'find_tools' or 'get_alternatives'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
estimate_capabilityA
Get cost estimate for executing a capability without actually executing it. Use before expensive operations or when building cost-aware workflows.
| Name | Required | Description | Default |
|---|---|---|---|
| capability_id | Yes | Capability to estimate cost for (e.g. 'email.send') | |
| provider | No | Optional: specific provider. If omitted, estimates for the auto-selected provider. | |
| credential_mode | No | Credential mode: byo (default), rhumb_managed, or agent_vault |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Discloses critical safety trait: 'without actually executing it' confirms read-only estimation. However, misses: return value structure (currency format? object?), cache behavior, validation scope (does it verify capability_id exists?), and whether estimates are binding or approximate.
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?
Optimal two-sentence structure: first sentence defines action and safety constraint; second provides usage context. No redundancy, tautology, or structural waste. 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?
With 100% schema coverage and clear purpose, core definition is adequate. However, lacks output semantics (critical for an estimate tool): no description of return format (numeric? object? currency units?), precision guarantees, or error conditions. Since no output_schema exists, description should compensate for these gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (all 3 parameters documented), establishing baseline 3. Description mentions 'capability' generically but doesn't augment parameter semantics beyond schema definitions—no clarifying examples, constraints, or inter-parameter relationships (e.g., when provider affects credential_mode).
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?
Excellent specificity: 'Get cost estimate for executing a capability' clearly defines the verb (get cost estimate), resource (capability), and distinguishes from sibling 'execute_capability' via 'without actually executing it.' Also differentiates from 'check_balance' (funds) and 'budget' (limit management).
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 temporal guidance: 'Use before expensive operations or when building cost-aware workflows.' Clearly signals intent for pre-flight cost checks. Lacks explicit 'when NOT to use' or named alternative comparisons (e.g., vs. 'execute_capability'), but context is clear enough for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
execute_capabilityA
Execute a capability through Rhumb. Three credential modes: (1) byo — bring your own token, requires method+path; (2) rhumb_managed — zero-config, Rhumb provides credentials, method/path optional; (3) agent_vault — pass your own token via agent_token param (get it from credential_ceremony first). Use resolve_capability to see providers and check_credentials to see what modes are available.
| Name | Required | Description | Default |
|---|---|---|---|
| capability_id | Yes | Capability to execute (e.g. 'email.send', 'payment.charge') | |
| provider | No | Optional: specific provider slug. If omitted, Rhumb auto-selects the best healthy provider. | |
| method | No | HTTP method for the upstream API call (GET, POST, PUT, PATCH, DELETE) | |
| path | No | Provider-native API path (e.g. '/v3/mail/send'). Use resolve_capability first to get the endpoint pattern. | |
| body | No | Provider-native request body | |
| params | No | Optional query parameters | |
| credential_mode | No | Credential mode: byo (default), rhumb_managed (zero-config, omit method/path), or agent_vault (pass agent_token) | |
| idempotency_key | No | Optional UUID for safe retry. Required to enable automatic fallback to backup providers. | |
| agent_token | No | For agent_vault mode only: the API token you obtained via the credential ceremony. NEVER stored by Rhumb — used for this single request only. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Discloses critical security behavior ('NEVER stored by Rhumb — used for this single request only'), auto-selection logic ('auto-selects the best healthy provider'), and fallback requirements ('Required to enable automatic fallback'). Missing operational details like rate limits or timeout behavior.
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 dense sentences efficiently pack mode definitions and sibling references. Parenthetical explanations are effective, though the first sentence is information-dense. No wasted words; every clause adds specific parameter or mode requirements.
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 complex 9-parameter execution tool with credential management, covers execution modes, prerequisites, security implications, and provider selection. Adequate without output schema, though brief mention of error handling or response format would strengthen completeness further.
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 100% coverage (baseline 3). Description adds valuable cross-parameter logic: explains how credential_mode affects method/path requirement cardinality, specifies agent_token provenance (credential_ceremony), and adds security context not present in 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?
Clear specific verb ('Execute') + resource ('capability'), domain context ('through Rhumb'), and distinguishes from siblings by referencing resolve_capability (for discovery) and check_credentials (for validation) as prerequisite steps rather than execution.
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?
Excellent explicit guidance: defines three credential modes with specific requirements (byo requires method+path; rhumb_managed is zero-config; agent_vault requires agent_token from credential_ceremony). Directly references sibling tools for prerequisite steps and clearly maps parameter dependencies to modes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_toolsA
Semantic search for agent tools, ranked by AN Score
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Semantic search query for tool discovery | |
| limit | No | Max results to return (default 10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Mentions 'AN Score' ranking (behavioral trait), but lacks disclosure on read-only safety, rate limits, or what AN Score represents. Carries full burden since annotations are absent.
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?
Extremely efficient 7-word description. Front-loaded with action and scope. No wasted words.
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 2-parameter tool, but lacks output description (no output schema provided). Could clarify search scope (all servers? current server?) and relationship to 'get_score' sibling given AN Score reference.
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% documenting both 'query' and 'limit'. Description doesn't add parameter-specific semantics beyond schema (e.g., query syntax tips, max limit rationale). Baseline 3 appropriate given schema completeness.
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 specific verb ('Semantic search'), resource ('agent tools'), and ranking criteria ('ranked by AN Score'). Compact but complete purpose statement.
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?
No guidance on when to use this versus sibling 'discover_capabilities' or other discovery tools. No mention of prerequisites or when results are useful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_alternativesC
Find alternative services ranked by AN Score
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Service slug to find alternatives for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry full behavioral disclosure. It mentions results are 'ranked' (ordering behavior) but fails to explain what 'AN Score' represents, what constitutes an 'alternative service', error handling (e.g., invalid slug), or whether results are paginated.
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 single sentence is front-loaded and efficient with no redundant words. However, the opaque 'AN Score' acronym detracts from clarity—without explanation, it creates ambiguity rather than conciseness.
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 single-parameter lookup tool with comprehensive schema coverage, the description is minimally adequate. However, the unexplained 'AN Score' metric and lack of output format description (textual or schema) leave gaps given the absence of annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the 'slug' parameter adequately described as 'Service slug to find alternatives for'. The description does not add syntax details, format examples, or semantic constraints beyond the schema, meeting the baseline expectation.
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 uses a specific verb (Find) and resource (alternative services), and specifies the ranking criteria (AN Score). However, it does not explicitly differentiate from sibling tools like 'get_score', and 'AN Score' is undefined jargon that may confuse the agent.
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 no guidance on when to use this tool versus alternatives such as 'get_score' or 'find_tools'. There are no stated prerequisites, conditions, or explicit exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_failure_modesC
Get known failure patterns for a service
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Service slug to get failure modes for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, yet the description adds no behavioral context beyond the implied read operation ('Get'). It fails to disclose return format, whether results are cached, authentication requirements, or whether failure patterns include historical or theoretical data.
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?
Extremely concise at 6 words with verb-fronted structure. While efficient and waste-free, this brevity contributes to underspecification. However, the single sentence does earn its place by conveying the core operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should explain what failure patterns are returned and their structure. It also omits operational context needed for a retrieval tool (rate limits, data freshness). Incomplete for production use.
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 100% (slug is fully documented as 'Service slug to get failure modes for'). The description adds minimal semantic value beyond the schema, merely confirming the slug identifies a service rather than adding format constraints or 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?
Clear verb ('Get') and resource ('failure patterns'/'failure modes') with scope ('for a service'). However, it does not explicitly differentiate from sibling tools like 'execute_capability' or 'discover_capabilities' which handle service operations rather than failure analysis.
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 no guidance on when to use this tool versus alternatives (e.g., when to query failure modes vs executing a capability), no prerequisites mentioned, and no exclusions or error conditions described.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ledgerC
Get recent billing ledger entries for your organization
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of entries (default 20, max 100) | |
| event_type | No | Filter: debit, credit_added, auto_reload_triggered |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full disclosure burden. While it mentions 'recent' entries, it fails to define the time window, state whether the operation is read-only, describe return format, or mention pagination behavior.
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 7-word sentence is front-loaded with action verb and contains no wasteful language, though extreme brevity contributes to informational gaps.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description omits return value documentation. However, the 100% schema-covered parameters and clear resource naming provide minimally viable context for this simple read operation.
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 100% description coverage, documenting 'limit' (with default/max) and 'event_type' (with filter values). The description adds no parameter information, warranting the baseline score for high schema coverage.
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?
Uses specific verb 'Get' and identifies resource 'billing ledger entries' with organizational scope ('for your organization'). Lacks explicit differentiation from sibling 'check_balance', which also retrieves billing data.
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 no guidance on when to use this tool versus siblings like 'check_balance' or 'budget', nor does it mention prerequisites for accessing billing data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_payment_urlA
Get a Stripe checkout URL to top up Rhumb credits
| Name | Required | Description | Default |
|---|---|---|---|
| amount_usd | Yes | Amount to add in USD (min $5, max $5000) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full disclosure burden. It identifies 'Stripe' as the payment processor and 'top up' as the transaction type, providing useful context. However, it doesn't clarify whether this creates server-side checkout state, idempotency concerns, or that it returns a redirect URL rather than processing payment immediately.
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 single sentence is perfectly sized with no wasted words. 'Stripe' and 'top up' provide essential context without verbosity. Information is front-loaded and structured for immediate comprehension.
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 simplicity (1 primitive parameter, no nested objects) and clear naming convention, the description provides sufficient context for invocation. However, without an output schema, it could explicitly confirm the return type is a URL string.
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 100%, documenting amount_usd thoroughly. The description mentions 'top up' which aligns semantically with the parameter purpose, but adds no syntax details, validation rationale, or usage examples beyond what the schema already provides. Baseline 3 is appropriate.
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 uses specific verb 'Get' and identifies the resource 'Stripe checkout URL' clearly. It specifies the business purpose 'to top up Rhumb credits', distinguishing it from sibling tools like check_balance or budget which view credits rather than initiate purchases.
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 implies usage through 'top up Rhumb credits', suggesting it's for purchasing/adding funds. However, it lacks explicit when-to-use guidance comparing it to siblings like check_balance or budget, and doesn't state prerequisites (e.g., authentication requirements).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_scoreB
Get detailed AN Score breakdown for a service
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Service slug to look up |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, requiring the description to carry full behavioral disclosure burden. While 'detailed' hints at data granularity, the description lacks information on read-only safety, caching, rate limits, authentication requirements, or error conditions.
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?
Extremely efficient seven-word sentence with strong front-loading (verb-first). No redundancy or filler content; every word serves the definitional purpose.
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?
Adequate for a single-parameter lookup tool with complete schema documentation, though 'AN Score' jargon is unexplained and the lack of output schema means the return structure is only vaguely indicated ('detailed breakdown').
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 provides 100% coverage with 'slug' documented as 'Service slug to look up'. The description adds no parameter-specific guidance, meeting the baseline score for high-coverage schemas.
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' and specific resource 'AN Score breakdown' identifies what the tool retrieves, though it doesn't explicitly differentiate from sibling 'get_' tools (get_alternatives, get_ledger, etc.) beyond implicit resource naming.
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?
No guidance on when to use versus alternatives like get_alternatives or check_balance, no prerequisites mentioned, and no indication of when this lookup is appropriate versus other service-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_capabilityA
Resolve a capability to ranked providers with health-aware recommendations, costs, and fallback chains. The core agent decision: 'I need email.send — what should I use?'
| Name | Required | Description | Default |
|---|---|---|---|
| capability | Yes | Capability ID to resolve (e.g. 'email.send', 'payment.charge') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Discloses behavioral traits: returns ranked providers, health status, costs, and fallback chains. However, omits safety-critical context given financial siblings (budget, spend) exist—does not clarify if this operation is read-only, commits funds, or has side effects.
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, zero waste. First sentence defines function and output characteristics; second sentence front-loads the mental model for usage. 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?
For a complex resolution tool with no output schema, the description adequately conveys what gets returned conceptually (rankings, costs, health, fallbacks). Slight gap: doesn't hint at return structure (object vs array) or integration with 'routing' sibling.
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 100% coverage with example values ('email.send', 'payment.charge'). Description reinforces the parameter through the example question but does not add syntax, format constraints, or enum semantics beyond what the schema provides. Baseline 3 appropriate for high schema coverage.
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?
Specific verb 'Resolve' with clear resource 'capability'. Distinguishes from siblings like 'execute_capability' (which runs the action) by emphasizing 'ranked providers with health-aware recommendations' and the decision frame 'what should I use?'.
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 implied usage context through the agent decision quote 'I need email.send — what should I use?', indicating it's for provider selection. However, lacks explicit guidance on when to use vs siblings like 'get_alternatives' or 'estimate_capability', or when to prefer 'execute_capability'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
routingA
Get or set your provider routing strategy. Strategies: cheapest (lowest cost above quality floor), fastest (healthiest circuits), highest_quality (highest AN score), balanced (weighted mix). Quality floor filters out low-quality providers.
| Name | Required | Description | Default |
|---|---|---|---|
| action | No | Action: 'get' to check strategy, 'set' to update | |
| strategy | No | Strategy: cheapest, fastest, highest_quality, balanced | |
| quality_floor | No | Minimum AN score (0-10, default 6.0) | |
| max_cost_per_call_usd | No | Maximum cost per call in USD |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full disclosure burden. It successfully explains the behavioral logic of strategies (e.g., 'fastest' means healthiest circuits) and that quality_floor 'filters out low-quality providers', but omits safety characteristics, side effects of the 'set' operation, or potential error conditions.
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 dense, information-rich sentences with zero redundancy. The first sentence establishes the get/set dual purpose immediately and lists strategies; the second explains quality_floor. Every clause 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?
Given the lack of output schema, the description should ideally disclose what values are returned on a 'get' operation or confirmation on 'set'. It also doesn't explain parameter interactions (e.g., does max_cost_per_call_usd only apply to 'cheapest'?). Adequate but with clear documentation gaps for a 4-parameter configuration 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 coverage is 100%, establishing a baseline of 3. The description adds significant semantic value by explaining what strategy values mean beyond the schema's simple list, and clarifies the purpose of quality_floor. It does not explicitly mention 'action' or 'max_cost_per_call_usd', preventing a score of 5.
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 specifies the dual get/set operation on 'provider routing strategy' and enumerates specific strategy types (cheapest, fastest, etc.). While it doesn't explicitly contrast with sibling tools like 'budget' or 'check_balance', the specific domain ('routing strategy') distinguishes it sufficiently.
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 what each strategy means (e.g., 'cheapest (lowest cost above quality floor)'), which implicitly guides strategy selection. However, it lacks explicit guidance on when to use this tool versus siblings, prerequisites for calling it, or when to prefer 'get' versus 'set' operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spendA
Get your spend breakdown by capability and provider. Shows total spend, execution count, and cost averages. Defaults to current month.
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | Period (YYYY-MM). Defaults to current month. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Successfully discloses return structure (total spend, execution count, cost averages) and aggregation dimensions (capability, provider) compensating for missing output schema. Implies read-only operation through 'Get'/'Shows' verbs. Could add auth needs or rate limit notes.
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 with zero waste: action statement first, return value disclosure second (compensating for no output schema), default behavior third. Every sentence earns its place with 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?
Given single optional parameter, 100% schema coverage, and no output schema, the description adequately explains the conceptual data returned (metrics and grouping). Missing only minor details like pagination behavior or timezone handling for the period.
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% with the 'period' parameter fully documented. Description repeats the default behavior ('Defaults to current month') but adds no additional semantic context about the date format or validation beyond what the schema provides. Baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States specific verb 'Get' + resource 'spend breakdown' and scope dimensions 'by capability and provider'. The scope specification helps distinguish from siblings like 'budget' (limits), 'check_balance' (current credit), and 'get_ledger' (transaction log), though it does not explicitly name alternatives.
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 implied usage through 'Defaults to current month', signaling when users might need to specify the 'period' parameter. However, lacks explicit guidance on when to use versus siblings like 'budget' or 'check_balance', or when to prefer over 'get_ledger'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
16 tool updates
v0.0.1- First observed
budget - First observed
check_balance - First observed
check_credentials - First observed
credential_ceremony - First observed
discover_capabilities - First observed
estimate_capability - First observed
execute_capability - First observed
find_tools - First observed
get_alternatives - First observed
get_failure_modes - First observed
get_ledger - First observed
get_payment_url - First observed
get_score - First observed
resolve_capability - First observed
routing - First observed
spend
TDQS
Most tools have distinct purposes, but some overlap exists: 'discover_capabilities' and 'find_tools' both involve searching for capabilities/tools, which could cause confusion. However, their descriptions clarify that 'discover_capabilities' is domain-focused while 'find_tools' is semantic search for agent tools, helping to mitigate ambiguity.
Tool names follow a consistent verb_noun pattern throughout, such as 'check_balance', 'discover_capabilities', and 'execute_capability'. All names use snake_case and clear, descriptive verbs, making the set predictable and easy to understand.
With 16 tools, the count is slightly high but reasonable for a comprehensive platform like Rhumb that manages capabilities, credentials, billing, and routing. It covers multiple aspects without feeling overly bloated, though it borders on the upper limit of a well-scoped set.
The tool set provides complete coverage for Rhumb's domain, including capability discovery, execution, credential management, cost estimation, billing, and routing strategies. There are no obvious gaps; agents can perform end-to-end workflows from setup to execution and monitoring without dead ends.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Discover and call 10,000+ production APIs from one MCP server. Pay-per-call billing for AI agents.
Discover, compare, and monitor 1,400+ APIs directly from your AI coding agent.
Pay-per-use tool marketplace for AI agents. Search, price-check, and call APIs via MCP.
AI service marketplace — agents discover, call, and pay for API services automatically.
Related MCP Servers
- AlicenseAqualityBmaintenanceThe API layer for AI agents. World's biggest API index with 22,000+ APIs and growing. Agents discover and call APIs at runtime with semantic search, structured metadata, and 18 Direct Call APIs including AI providers.141,7678MIT
- AlicenseAqualityDmaintenanceEnables testing and validation of APIs for AI agent compatibility, providing scores, grades, and actionable recommendations.3MIT

UCM MCP Serverofficial
FlicenseNot gradedqualityFmaintenanceEnables AI agents to autonomously discover and call a marketplace of 100+ APIs, including web search, image generation, and more, with automatic payments and refunds.-- AlicenseNot gradedqualityCmaintenanceFederates MCP, A2A, and REST/gRPC APIs with centralized governance, discovery, and observability, optimizing agent and tool calling with plugin support.Apache 2.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/supertrained/rhumb'
If you have feedback or need assistance with the MCP directory API, please join our Discord server