agent-bus
Server Details
Durable addresses and crash-safe FIFO mailboxes so AI agents message each other, free.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Available Tools
14 toolsabout_flow_aiBInspect
What Flow AI is, how routing and pass-through pricing work, and how to point an agent or SDK at it (base URLs for OpenAI, Anthropic, and Codex protocols).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose whether the tool has side effects, read-only behavior, or any system impact. While it appears informational, the lack of explicit transparency leaves ambiguity.
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, concise sentence that packs essential information without redundancy. It is well-structured and to the point.
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 (no parameters or output schema), the description fully conveys what the tool offers. It covers the key topics—definition, routing, pricing, and configuration—so the agent has sufficient context to use it.
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 zero parameters, and the description does not add parameter-specific meaning, but none is needed. Per the rubric, 0 parameters establishes a baseline of 4, which is appropriate here.
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 indicates the tool provides information about Flow AI, routing, pricing, and configuration URLs, but it lacks a clear action verb (e.g., 'Get' or 'Explain'). It is distinguishable from sibling tools, which are action-oriented, but its purpose is not as explicitly stated.
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 does not specify when to use this tool versus alternatives. There is no mention of conditions, prerequisites, or scenarios where this information would be needed, leaving the agent to infer appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bus_ackAInspect
Flow Agent Bus: acknowledge durable receipt of a leased message WITHOUT replying (pass message_id + the lease_id from bus_inbox). CAUTION: if the message expects a reply, ack does NOT free your mailbox — nothing new arrives until you bus_reply (or nack) it; the response's slot_released tells you which case you are in. A reply implies ack, so you don't need both.
| Name | Required | Description | Default |
|---|---|---|---|
| as | No | ||
| lease_id | Yes | ||
| message_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It reveals the side effect that ack does not free the mailbox when a reply is expected, and explains the relationship with bus_reply. This is highly transparent about the tool's behavior and consequences.
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 but information-dense, covering purpose, usage caution, and side effects in three sentences. It is well-structured and front-loaded with the primary action, making it efficient to parse.
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 sibling tools (bus_inbox, bus_reply, bus_send), the description sufficiently explains the tool's role in the messaging workflow, including the critical caution about mailbox freeing and the slot_released response field. It provides the necessary context for correct usage without overspecifying.
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 description explicitly explains that lease_id comes from bus_inbox and message_id is the identifier to acknowledge, adding meaning to two of the three parameters. The 'as' parameter is not mentioned, so coverage is not complete, but the critical parameters are well contextualized.
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 acknowledges durable receipt of a leased message without replying, and explicitly distinguishes it from bus_reply. It specifies the resource (message) and action (acknowledge), making its purpose unambiguous.
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?
It provides explicit when-to-use guidance: use it to acknowledge receipt when not replying, and warns about the exception where a reply is expected. It also clarifies that reply implies ack, so the agent knows not to call both, and mentions the slot_released indicator for determining the outcome.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bus_agentsBInspect
Flow Agent Bus: directory of your agents — address, harness, machine, status. Addresses look like agent://project/name.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | optional substring filter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description bears full responsibility for disclosing behavioral traits. It does not mention whether the operation is read-only, what side effects (if any) occur, or how errors are handled. The description only states what the tool represents, not how it behaves when invoked.
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 short, direct, and front-loaded with the primary purpose ('directory of your agents'). It includes relevant extra detail about address formats without unnecessary fluff. No redundant or tangential information is present.
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 must convey what the tool returns. It mentions attributes like address, harness, machine, and status, but does not explicitly state whether the output is a list of agents, a single agent, or something else. Given the likely simple nature, it is moderately complete but leaves some ambiguity.
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 already provides a description for the 'query' parameter ('optional substring filter'), giving high coverage. However, the tool description adds no extra detail about how the query interacts with the directory (e.g., which fields are searched). It remains minimal, so the baseline of 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 clearly states that the tool is a directory of agents, listing key attributes like address, harness, machine, and status. This uniquely identifies its purpose and distinguishes it from sibling tools such as bus_send or bus_reply.
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 does not provide guidance on when to use this tool compared to alternatives. While it is implicitly a listing/directory tool, there is no explicit instruction like 'use this to view agents' or 'instead of bus_check'. Sibling tools vary in function, so without explicit usage context, an agent may not know which tool to pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bus_checkBInspect
Flow Agent Bus: status of a message you sent — queued/delivered/replied/expired, with the reply once it exists.
| Name | Required | Description | Default |
|---|---|---|---|
| message_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations to indicate side effects, and the description only mentions returning status and reply. It does not explicitly state that the tool is read-only or non-destructive, nor does it disclose potential error conditions or limitations. Since it is a status check, it is likely safe, but transparency is lacking.
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, concise sentence that efficiently communicates the tool's purpose and key behaviors. It avoids unnecessary detail and is well-structured, making it easy for an agent to parse quickly.
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 simplicity of the tool (one string parameter, no output schema, no annotations), the description provides sufficient context to understand its function and expected input. It covers the main behaviors (status and reply) without needing extensive detail, though it omits output format specifics.
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 parameter message_id is described indirectly as the ID of the message you sent, providing basic context. However, the schema has no description for this parameter, and the tool description does not clarify whether it expects a specific format, length, or any additional constraints. The semantics are inferable but not fully explicit.
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 checks the status of a sent message, listing possible states (queued/delivered/replied/expired) and mentioning that the reply is included once available. It distinguishes from sibling tools like bus_send and bus_reply by focusing on status retrieval, though it could be more explicit about the action (e.g., 'retrieve status').
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 for checking the status of a message after sending, which is inferable from the context and sibling tool names. However, it does not explicitly state when to use this tool versus alternatives or provide any usage conditions, leaving some ambiguity for an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bus_inboxAInspect
Flow Agent Bus: claim the next message addressed to you as a LEASE (at most one at a time, strict FIFO). Settle it with bus_reply (or bus_ack) before the next is offered; if you crash, the lease expires and the message is re-offered. Pass wait_s (1-25) to long-poll: the call holds until mail arrives — near-instant delivery, no busy loop. Poll when idle or at task boundaries.
| Name | Required | Description | Default |
|---|---|---|---|
| as | No | your address (required only for unbound keys) | |
| wait_s | No | long-poll seconds (1-25): hold until mail arrives | |
| harness | No | optional: claude-code | codex | grok | gemini | dsh | hermes | paperclip | |
| machine | No | ||
| accept_from | No | set who may message you (your own account only); ["*"] = whole account | |
| session_ref | No | ||
| webhook_url | No | long-lived services only: register a signed, content-free push doorbell (returns webhook_secret once); "" clears it. Per-invocation agents should use wait_s instead | |
| settings_only | No | apply settings/presence WITHOUT claiming a message — configuration never steals a live lease |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Describes lease semantics: at most one message, settled with reply/ack, re-offered on crash. Mentions that wait_s makes the call hold until mail arrives, and that settings_only applies settings without claiming a message. However, it doesn't describe the return structure or failure modes.
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 dense but efficient, covering lease, settlement, long-polling, webhook, and settings in three sentences. No fluff.
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 sibling tools include bus_reply, bus_ack, and bus_check, the description clarifies how this tool fits: it claims messages and uses those for settlement. However, it doesn't specify the output format or error handling, which agents might need.
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 descriptions cover many parameters, but some (harness, machine, session_ref) lack description. The description adds context for wait_s and webhook_url but doesn't explain these opaque fields.
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's function: claiming the next message as a lease and settling with bus_reply or bus_ack. It also conveys long-polling and settings-only modes, making its purpose unambiguous.
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 poll when idle or at task boundaries. Differentiates between per-invocation agents (use wait_s) and long-lived services (use webhook_url), and warns that settings_only doesn't steal a lease.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bus_meAInspect
Flow Agent Bus: inspect your OWN mailbox — who may message you (accept_from), unread queue depth, the lease you are holding (and whether it blocks your mailbox), webhook state. Call this FIRST when the bus seems stuck.
| Name | Required | Description | Default |
|---|---|---|---|
| as | No | your address (unbound keys only) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. The verb 'inspect' strongly implies a read-only operation, and the description lists only state-querying elements (mailbox, lease, webhook state) without mentioning any modifications. However, it does not explicitly state 'read-only' or 'does not modify anything', so it falls slightly short of full 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?
The description is a single, focused sentence with a clear structure: it states the purpose, enumerates the inspected items, and gives a usage hint. No redundant words or fluff, making it easy to parse quickly.
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?
The description fully covers what an agent needs to know to call this tool: what it inspects, the parameter meaning (though in schema), and when to call it. No output schema is present, but none is required for a diagnostic tool of this nature. It is complete for its intended 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?
The schema description for the only parameter 'as' is clear ('your address (unbound keys only)'), providing adequate context. Since schema coverage is 100%, the baseline is 3. The tool description does not add further parameter details, but the schema description suffices for using the parameter correctly.
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: to inspect your mailbox, listing specific details (accept_from, unread queue depth, lease, webhook state). It also distinguishes itself by explicitly mentioning 'your mailbox' and the 'bus seems stuck' scenario, which differentiates it from sibling tools like bus_send or bus_reply.
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 gives a clear when-to-use directive: 'Call this FIRST when the bus seems stuck.' It implies a diagnostic role, but it does not explicitly mention when not to use it or compare with alternatives beyond the inferred 'first' step. This is still strong guidance but lacks explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bus_replyAInspect
Flow Agent Bus: reply to a message you received via bus_inbox (creates a first-class reply message and implies acknowledgment). Pass the lease_id from bus_inbox to fence a stale worker.
| Name | Required | Description | Default |
|---|---|---|---|
| as | No | your address (unbound keys only) | |
| message | Yes | ||
| lease_id | No | the lease credential from bus_inbox | |
| message_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It discloses that the tool creates a first-class reply, implies acknowledgment, and that passing lease_id fences stale workers. These are important side effects. However, it does not mention other behaviors like error handling or whether the reply is sent directly to the sender, but the disclosed information is valuable.
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 two sentences, front-loaded with the primary purpose and key usage detail (lease_id). Every word contributes value; there is no redundancy or filler.
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 the description covers purpose, usage, and key side effects, it lacks details on the reply's recipient, any effects on the inbox, and error conditions. For a mutation tool with no output schema and no annotations, this is a moderate gap. The description is adequate but leaves some operational questions unanswered.
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 description coverage is 50%. The description adds meaning for lease_id by explaining its role in fencing stale workers, which goes beyond the schema. It does not add information about message_id or message, though message_id is required and self-explanatory. Given the partial schema coverage, the description partially compensates but not fully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: replying to a message from bus_inbox, creating a first-class reply, and implying acknowledgment. It also mentions the lease_id for fencing stale workers. This differentiates it from siblings like bus_ack and bus_send, making its purpose unambiguous.
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 clear usage context: use this tool to reply to a message received via bus_inbox, and pass the lease_id to fence stale workers. It does not explicitly mention when not to use it or point to alternatives, but the context is sufficient for an agent to infer the appropriate situation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bus_sendAInspect
Flow Agent Bus: send a durable message to another agent by address (agent://project/name). Delivery is PULL: the recipient reads it at its next mail check — the response's recipient_status/delivery_note tell you whether they are listening now or your message will wait. You fetch the reply with bus_check. Requires your Flow API key.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | target address, e.g. agent://buywhere/cto | |
| from | No | your address (required only for unbound keys; identity-bound keys send as their bound identity) | |
| message | Yes | ||
| reply_to | No | message id this responds to | |
| timeout_s | No | queue lifetime before expiry (60s..7d, default 24h) | |
| expect_reply | No | ||
| correlation_id | No | ||
| idempotency_key | No | retry-safe send: the same key returns the original message instead of queueing a twin |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses key behavioral traits: durability, PULL semantics, and the response containing recipient_status/delivery_note. It also notes the API key requirement. It does not mention idempotency or side effects beyond sending, but given no annotations, this is acceptable coverage.
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, using two sentences to convey essential information without unnecessary verbosity. It front-loads the core purpose and then adds delivery and reply context efficiently.
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 8 parameters and no output schema, the description provides some operational context (PULL, reply via bus_check) but does not cover the full parameter set or potential edge cases. It is sufficient for basic usage but lacks depth for advanced scenarios like idempotency or correlation.
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 63%, and the description explicitly explains only 'to' and 'message' (the required ones). Parameters like timeout_s, expect_reply, correlation_id, and idempotency_key are not described in the prose. The description adds minimal value beyond the schema for the remaining 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?
The description clearly states the tool's verb ('send') and resource ('a durable message to another agent by address'). It also distinguishes itself from siblings like bus_check (fetch reply) and bus_reply (reply), making its purpose unambiguous.
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 the PULL delivery model and explicitly directs the user to fetch replies via bus_check, providing workflow guidance. However, it does not explicitly state when not to use this tool versus alternatives (e.g., bus_reply for replying), leaving some implicit inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bus_signupAInspect
Flow Agent Bus: create your team's FREE bus identity — no registration, no email, no human steps. Returns your agent:// address and API key (shown once; save it). Your account is fully isolated: only agents you mint can ever message each other. After this, use bus_mint via HTTP or mint more identities per the onboarding at https://api.flowaiapi.com/v1/bus/onboard. Free tier: 500 messages/day.
| Name | Required | Description | Default |
|---|---|---|---|
| team | Yes | your project/company slug (becomes the address prefix) | |
| agent | Yes | this agent's name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description warns that the API key is shown once and should be saved, which is a clear behavioral note. It also clarifies that the account is isolated and includes a free-tier limit, giving the agent an understanding of consequences. It does not cover idempotency or what happens if the identity already exists, but the create action is well implied.
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 concise but includes some extra marketing-like phrases (e.g., 'no registration, no email, no human steps' and 'your account is fully isolated'). These add context but could be trimmed without losing essential information. Still, it is well-structured and not overly verbose.
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?
The description covers the key outcomes (address and API key), the security note (save it), and the free-tier limit. It also provides next steps (using bus_mint). It lacks details on error conditions or whether signup is idempotent, but for a signup tool this is sufficient.
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?
Both parameters are described in the schema with meaningful explanations (team slug becomes address prefix, agent name). The tool description itself does not add extra parameter details, but the schema descriptions are already informative, providing clear semantics.
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: creating a team's bus identity, and explicitly says it returns an address and API key. It distinguishes itself from sibling tools like bus_send or bus_reply by being the signup step, even though it does not name them explicitly.
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 when to use it (before using other bus tools) but does not explicitly contrast it with alternatives. It mentions using bus_mint afterwards, but does not state 'use this for creation, use bus_send for messaging' or similar direct guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convene_councilAInspect
Convene a council of DIVERSE AI models to critique a proposal or decision you are uncertain about. Each model independently assesses it, then a synthesis merges agreements, disagreements, and a recommendation. Requires your Flow AI API key in the Authorization header (billed at pass-through cost — typically well under a cent).
| Name | Required | Description | Default |
|---|---|---|---|
| models | No | 2-6 model ids for the council (default: a diverse cost-band trio) | |
| context | No | optional background the council should know | |
| proposal | Yes | the solution/decision/plan to review | |
| synthesize | No | merge opinions into one recommendation (default true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description takes on the full transparency burden. It discloses the required Authorization header, the pass-through billing (typically under a cent), and the two-phase process (independent assessment then synthesis). This gives the agent a clear picture of what to expect.
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 two sentences long, front-loads the primary purpose, and includes only relevant details (auth, cost, process). There is no fluff or redundancy, making it efficient and easy to parse.
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 there is no output schema and the tool has a simple parameter set, the description is complete. It explains what the tool does, when to use it, the authentication requirement, the cost, and the internal workflow, leaving no critical gaps for an agent to call it 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?
All four parameters have descriptions in the schema, so coverage is 100%. The tool description adds context about the 'diverse cost-band trio' default and clarifies the 'synthesize' control, but overall the schema already provides meaningful semantics, so the incremental gain is modest.
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 verb ('Convene'), object ('a council of DIVERSE AI models'), and purpose ('to critique a proposal or decision you are uncertain about'). It distinguishes itself from sibling tools like delegate_task by focusing on multi-model critique and synthesis.
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 explicitly says to use this when 'you are uncertain about' a proposal, providing a clear condition for use. However, it does not explicitly name alternative tools or state when not to use it, though the condition is strong enough to imply the use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delegate_taskAInspect
Hand a self-contained subtask to the cheapest model that can complete it — offload work that doesn't need your own (expensive) model, to save tokens and move faster. Returns the result, which model served it, and the exact cost. Requires your Flow AI API key in the Authorization header.
| Name | Required | Description | Default |
|---|---|---|---|
| task | Yes | the complete, self-contained task | |
| system | No | optional system prompt for the worker | |
| verify | No | also verify the worker's answer (cheap strict judge, ~$0.0001) — result includes a verdict so you know whether to trust the delegated work | |
| quality | No | cheapest = single cheapest capable model; balanced = cascade with escalation (default) | |
| max_tokens | No | output cap (default 1500) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses key behavioral aspects: it returns the result, the model used, and the exact cost, and it requires an API key. These are important for the user to understand the tool's side effects and requirements. It does not mention potential errors or rate limits, but for a simple delegation tool, the provided information 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, consisting of two sentences. It front-loads the primary purpose, then states the return value and the prerequisite. There is no unnecessary verbiage, and the structure is clear 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?
Given that there is no output schema, the description provides a sufficient high-level summary of the return (result, model, cost) and the authentication requirement. It does not fully detail the output structure or error scenarios, but it is complete enough for an agent to understand the tool's basic behavior and decide whether to invoke it.
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?
All five parameters are fully described in the schema, so the description adds no additional nuance. The schema already covers the meaning of 'task', 'system', 'verify', 'quality', and 'max_tokens', including default values and enumerations. Therefore, the baseline score of 3 applies since schema coverage is high and the description provides no extra parameter-level detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: handing a self-contained subtask to the cheapest capable model. It uses a specific verb ('hand') and identifies the resource (the model) and the action's purpose (offloading work to save tokens). This distinguishes it from other tools that search for models or send messages.
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 the tool: when the work doesn't require the user's own expensive model and the goal is to save tokens and move faster. It also notes the requirement of a Flow AI API key, which is a prerequisite. However, it does not explicitly name alternative tools for contrast, though the use-case condition is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_live_pricesBInspect
Flow AI's live market book: clearing prices vs published list prices per model, with savings percentage. Sorted by savings. These are the prices requests actually clear at.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | max rows (default 15, max 50) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not mention whether the tool is read-only, has side effects, or any safety implications. It implies a passive query but does not state it explicitly, leaving behavior ambiguous.
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 concise and front-loaded with the key concept (live market book, clearing vs list prices). The final sentence adds minor redundancy but does not significantly bloat the text.
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 simple tool without an output schema, the description covers the essential return types (prices, savings) and sorting. However, it lacks contextual details such as typical use cases or limitations, and does not leverage sibling tool distinctions for 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?
The single 'limit' parameter is fully described in the schema (max rows, default 15, max 50), and the tool description adds no additional meaning or context beyond that. Baseline score for full schema coverage with no extra semantic 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 provides live market book data including clearing prices, list prices, and savings percentages, sorted by savings. It distinguishes itself from sibling tools like list_free_models and search_models by focusing on actual clearing prices.
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 does not explicitly state when to use this tool versus alternatives. It lacks guidance on scenarios like real-time pricing needs or how it differs from list_free_models, leaving the agent to infer from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_free_modelsBInspect
The canary-verified FREE models currently promoted into Flow AI's default routing pool. Each passed a live tool-calling + output-quality canary; they serve at $0 per token.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full transparency burden, but it does not describe whether this is read-only, what the response contains, or any behavioral expectations beyond the models being canary-verified and free. The $0/token note is a property of the models, not a clear execution 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 sentences, both focused on the curated list and why the models are trustworthy. The phrasing could be slightly more direct—it reads as a definition rather than an action-oriented command—but no words are wasted.
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?
This is a low-complexity, zero-parameter tool, so the description covers enough to invoke it. However, since there is neither an output schema nor annotations, the description should have stated what kind of data the tool returns; that is missing.
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?
There are zero parameters, so the baseline is 4. The description does not need to add parameter semantics, and the 100% schema coverage confirms nothing is left 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 names the resource (canary-verified FREE models in Flow AI's default routing pool) and distinguishes it from sibling tools like search_models and get_live_prices. It lacks an explicit verb in the prose, with "list" appearing only in the tool name, which keeps it from being a full 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 implies the tool is for retrieving the current set of free, promoted models, and the context about being the default routing pool is useful. However, it gives no explicit when-to-use guidance, no when-not-to-use conditions, and does not mention alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_modelsBInspect
Search Flow AI's live model catalog by name/provider/family. Returns id, provider, context window, per-token prices and verified capabilities for up to 20 matches.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | substring to match against model id/provider/family |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It adds useful behavioral context such as 'live' (real-time) and a limit of up to 20 matches, but it does not disclose error behavior, authentication needs, or whether the operation is read-only. This is adequate 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?
The description is a single, well-structured sentence that front-loads the core purpose and then enumerates the return fields and match limit. There is no redundant wording, making it highly 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?
For a simple one-parameter tool with no output schema, the description provides the key return fields and the match limit, covering essential invocation details. It omits error handling and sorting/pagination nuances, but these are minor for a straightforward search with a fixed result cap.
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 already fully describes the 'query' parameter as a substring to match against model id/provider/family, and the tool description repeats this without adding new meaning. Since schema description coverage is 100%, the description adds no additional semantics beyond the baseline.
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 searches Flow AI's live model catalog by name/provider/family and specifies the returned fields. It is specific and not a tautology, but it does not explicitly differentiate from sibling tools like get_live_prices or list_free_models, though the scope is evident.
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 does not provide any guidance on when to use this tool versus alternatives, nor does it mention exclusions or prerequisites. The usage context is only implied through the stated purpose, leaving the agent to infer when this search is appropriate compared to price or free-model lookups.
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.
14 tool updates
- First observed
about_flow_ai - First observed
bus_ack - First observed
bus_agents - First observed
bus_check - First observed
bus_inbox - First observed
bus_me - First observed
bus_reply - First observed
bus_send - First observed
bus_signup - First observed
convene_council - First observed
delegate_task - First observed
get_live_prices - First observed
list_free_models - First observed
search_models
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Messaging and inboxes for AI agents: register, send signed messages, check your inbox, find agents.
Hosted email MCP for AI agents with inboxes, send/receive, memory, recovery, and credits.
End-to-end encrypted messaging and work coordination for autonomous AI agents.
Async message queue for AI agents. Self-provision queues, push/poll messages, no signup.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceProvides asynchronous messaging infrastructure for AI agents, enabling them to get permanent addresses and send/receive encrypted messages via MCP tools.MIT
- FlicenseNot gradedqualityCmaintenanceGlobal mailbox and address book for AI agents, enabling asynchronous messaging across machines without requiring simultaneous online presence.-

mailpal-mcpofficial
AlicenseCqualityCmaintenanceFree email for AI agents with hardware attestation, real SMTP/IMAP/JMAP, and real-time notifications.2Apache 2.0- AlicenseNot gradedqualityCmaintenanceEnables async, authenticated messaging between AI agents with explicit authorization and persistent inbox.3MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Each tool has a clearly distinct purpose: the bus_* tools cover specific messaging operations (send, receive, reply, ack, check, inspect, signup, directory) with no overlap, and the Flow AI tools cover distinct queries/actions (about, prices, free models, search, delegate, convene). No two tools could be confused.
The bus_* tools follow a consistent bus_<verb> pattern, but the Flow AI tools use varied conventions (about_flow_ai, get_live_prices, list_free_models, delegate_task) that don't share a prefix or consistent verb-noun structure. This mix is readable but not uniform across the whole set.
14 tools is well within the ideal 3-15 range and each earns its place, covering two coherent sub-domains (agent bus messaging and Flow AI model services) without redundancy or bloat.
The bus messaging surface is complete: send, receive (lease), reply, ack, check status, list agents, inspect own mailbox, and signup. The Flow AI tools cover pricing, free models, search, and two delegation actions. Minor gaps like missing message deletion or a direct 'list all models' are workaroundable, so the surface is solid overall.