Skip to main content
Glama

Taifoon coordination layer

Your account

taifoon_account

Reads your tenant, what your key rents and its usage, and runs your reseller side (child keys with your markup, your earnings). For a new key use taifoon_register; for vault money use taifoon_vault. Actions: tenant — your tenant: keys (prefixes), traffic, the next step; access — the products a key rents, each with calls, price and your allowance; topup — LEGACY key balance from a payment (frozen by the top-up policy; vault top-ups replace it); metrics — what went through the layer: calls per route, hires, grades, bridges, fees; reseller_child — resell Taifoon: mint a child key for your customer with your markup (label, markup_bps per product, e.g. { "*": 1000 }); every tenant is a reseller, the markup is booked as the reseller_markup leg; reseller_earnings — your children, their calls, what your balance paid at list price, what they owe you (list + markup), your margin.

Input Schema

NameRequiredDescriptionDefault
txNothe hash of your transfer on that chain (actions: topup)
dayNoYYYY-MM-DD (UTC) (actions: metrics)
planNoplan (actions: topup)
tileNotile (actions: tenant)
usdcNousdc (actions: topup)
viewNoview (actions: access)
labelNoa label for the child key (your customer) (actions: reseller_child)
rangeNorange (actions: tenant)
actionNowhat to do (default tenant): tenant | access | topup | metrics | reseller_child | reseller_earningstenant
paramsNooperation parameters, e.g. { "vault": "vault:tenant:tenant-3" } (actions: reseller_earnings)
seriesNoseries (actions: metrics)
windowNowindow (actions: access)
api_keyNoapi key (actions: tenant, access, topup, reseller_child, reseller_earnings)
chain_idNothe pay chain; absent = Base (actions: topup)
signatureNopersonal_sign of the quoted message by the wallet that sent the transfer (actions: topup)
markup_bpsNoyour markup in basis points per product id, "*" for all, e.g. { "*": 1000, "taifoon.rpc": 2500 } (actions: reseller_child)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.8/5.0
Behavior4/5

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

Annotations declare readOnlyHint=false and destructiveHint=false, and the description is consistent with a mixed read/write tool. It adds non-obvious context beyond the annotations: topup is LEGACY and 'frozen by the top-up policy' with vault top-ups replacing it, and reseller_child mints a key whose markup is booked as a reseller_markup leg. It does not state auth/permission requirements, which is a minor gap.

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

Conciseness3/5

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

It front-loads the overall purpose, but the action list is a dense em-dash run-on that is hard to scan and mixes several operations into one sentence. Most content earns its place, yet the structure impedes quick parsing.

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

Completeness4/5

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

For a 16-parameter, no-output-schema tool, the description enumerates every action and ties each to its relevant parameters, which is enough for an agent to call it correctly. Auth requirements and return shapes are the only notable omissions, and there is no output schema to defer to.

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

Parameters3/5

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

Schema coverage is 100% and every parameter already documents the actions it applies to, so the schema does the heavy lifting. The description restates the markup and params examples (e.g. { "*": 1000 }, { "vault": ... }) rather than adding syntax beyond the schema, so it sits at the high-coverage baseline.

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

Purpose4/5

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

The description names concrete verbs and resources per action (reads tenant/keys/traffic, access rents, metrics, mints child keys, computes earnings), so the agent knows what the tool does. It is a multi-action aggregator rather than a single verb+resource, but the capability set is explicit and it distinguishes itself from taifoon_register and taifoon_vault.

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

Usage Guidelines4/5

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

It gives explicit routing for two cases: 'For a new key use taifoon_register; for vault money use taifoon_vault.' That is real when-to-use-elsewhere guidance. It stops short of stating exclusions or prerequisites for the read actions, but the alternative-tool routing is clear.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources