mu
Server Details
News, web search, mail, markets, weather, places, files, calendar, contacts. 67 tools, one endpoint.
TDQS
Scored across 10 tools
Each tool targets a distinct resource+action: agent_ask/agent_list (agents), inbox_list/read/mark_read/mark_unread (inbox), and work_submit/get/list/retry (work). Pairs like inbox_list vs inbox_read and work_get vs work_list are clearly separated by their descriptions. No two tools appear to do the same thing.
All ten tools follow a strict prefix_action pattern (agent_*, inbox_*, work_*) using snake_case throughout. Verbs are predictable (ask, list, read, get, submit, retry, mark_read/unread). No mixed conventions or vague verbs.
Ten tools is well-scoped for a platform spanning three coherent domains (agents, inbox, work). Each tool earns its place with no redundancy or filler. Nothing feels padded or thin.
The surface covers the core lifecycle: discovering agents, reading/marking inbox conversations, and submitting/checking/retrying work. Minor gaps exist (no work cancel/abort, no inbox reply/send or agent detail lookup), but agents can largely work around these via agent_ask.
Available Tools
10 toolsagent_askCInspect
Ask an agent. Pass the returned thread ID to continue the saved conversation.
| Name | Required | Description | Default |
|---|---|---|---|
| agent | No | Agent name; defaults to Micro. | |
| prompt | Yes | Your instruction, up to 8000 bytes. | |
| thread | No | An owned conversation ID to continue. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the entire behavioral burden. It does disclose one useful trait — that the call returns a thread ID and the conversation is persisted — but says nothing about latency/blocking, cost, permissions, or failure modes. Too much is left unstated for a tool with zero annotation 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?
Two short sentences, front-loaded with the core action and followed by the one piece of follow-up guidance. No filler, no restatement of the name.
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?
There is no output schema, and the description only partially compensates by noting that a thread ID is returned. It says nothing about what the agent's answer looks like, whether the call is synchronous, or error/timeout behavior — gaps that matter for an agent-invocation tool with no annotations backing 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?
Schema description coverage is 100%, so the agent, prompt (defaults to Micro, 8000-byte limit), and thread parameters are already fully documented in the schema. The description adds nothing beyond that (the thread-continuation detail is already in the schema's thread description), so the baseline of 3 applies.
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?
"Ask an agent" names a verb and a resource, but it is thin — it never says what kind of agent, what the agent does with the prompt, or how this differs from sibling agent_list. An agent can guess the general purpose but must infer the rest. Clear enough to be viable, not enough to be confident.
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?
There is no explicit when-to-use guidance and no named alternative among the siblings (agent_list, work_submit, inbox_*). The only usage-adjacent sentence, "Pass the returned thread ID to continue the saved conversation," describes post-call behavior rather than when to select this tool over another.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agent_listAInspect
List the agents you can ask.
| 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 bears the full disclosure burden. 'List' implies a safe read, but it says nothing about whether output is paginated, filtered, or what agent attributes are returned. For a zero-param tool the risk is low, so this is a modest gap rather than a severe one.
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?
A single front-loaded sentence with no redundant clauses. 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 no output schema, the description does not indicate what the list returns (e.g. agent identifiers needed to call agent_ask). For such a simple tool this is borderline adequate, but an agent does not learn the shape of the result.
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 tool takes zero parameters, so there is no parameter semantics to document. Baseline 4 applies; the description neither adds nor detracts.
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 ('List') and resource ('agents'), and the qualifier 'you can ask' links it conceptually to the sibling agent_ask. However, it never explicitly names or contrasts with agent_ask, so the differentiation is implied rather than 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 phrase 'you can ask' hints that this is a discovery step preceding agent_ask, but there is no explicit when/when-not guidance or named alternative. Usage must be inferred from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inbox_listBInspect
List recent conversations across channels. Reading this list does not mark messages read.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum items, 1–100; default 20. |
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. It does disclose one non-obvious side effect (listing does not mark messages read), which is genuinely useful and distinguishes it from inbox_mark_read. However, it says nothing about ordering, time window of 'recent', pagination, or permissions.
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 short sentences with no filler, and the core purpose is front-loaded before the side-effect caveat. Every sentence earns its place, though there is nothing beyond the minimum.
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 list tool with no output schema, the description covers the essentials plus the read-state side effect. It is missing scope details an agent might need, such as what counts as 'recent', result ordering, and whether more than `limit` items can be retrieved.
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 a single optional parameter at 100% schema description coverage, the schema already documents limit (range and default). The description adds no additional meaning beyond that, so the baseline of 3 applies.
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 and resource ('List recent conversations across channels'), which is clearly a read-list operation. It does not explicitly name how it differs from the sibling inbox_read or inbox_mark_read, but the list-vs-read distinction is inferable from the name and phrasing.
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?
There is no explicit when-to-use or when-not-to-use statement and no named alternative among the siblings (inbox_read, inbox_mark_read). The only usage signal is the note that it doesn't mark messages read, which implies a context but doesn't route the agent between tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inbox_mark_readCInspect
Mark a conversation read.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | An owned conversation ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it discloses almost nothing: no statement of idempotency, permission requirements, whether the change is reversible (inbox_mark_unread implies it is), or what happens if the id is already read. 'Mark a conversation read' only restates the mutation.
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 free of waste, but its brevity borders on under-specification rather than genuine conciseness, since key behavioral facts are omitted.
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 one-parameter state-change tool with no annotations and no output schema, the description is minimally viable but incomplete. An agent still lacks idempotency, reversibility, and error behavior needed to call it confidently.
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% and the single 'id' parameter is already documented as 'An owned conversation ID.' The description's use of 'conversation' loosely confirms the id's meaning but adds no format, sourcing, or ownership detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (mark) and resource (conversation) and the resulting state (read), which is unambiguous on its own. However, it offers no differentiation from its near-identical sibling inbox_mark_unread, nor does it clarify scope versus inbox_read or inbox_list.
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?
There is no guidance on when to use this tool rather than inbox_read, inbox_list, or inbox_mark_unread. The inverse sibling exists and the description does not mention it, leaving the agent to infer which direction of the state change to invoke.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inbox_mark_unreadCInspect
Mark a conversation unread.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | An owned conversation ID. |
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. It implies a mutation but says nothing about required permissions, whether the 'id' must reference an owned conversation at call time, idempotency, or what happens on success. The schema's 'An owned conversation ID' hint is the only ownership signal, and it lives in the schema rather than the description.
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?
A single front-loaded sentence with zero filler. It is efficient, though its brevity contributes to the missing behavioral and routing context.
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 tool is structurally simple — one required, fully documented string parameter and no nested objects or output schema — so little is needed. But with zero annotations on a mutation tool, the description should at least note ownership/permission requirements or the mark_read counterpart, and it does neither.
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% for the single required 'id' parameter, so the schema already documents it as an owned conversation ID. The description adds no syntax, format, or constraint details beyond that, which is the expected 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 states a specific verb (mark) and resource (a conversation) with a clear resulting state (unread). It does not, however, distinguish itself from the sibling inbox_mark_read, which is the inverse operation an agent could easily confuse it with.
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?
There is no guidance on when to use this tool versus inbox_mark_read or the other inbox tools, and no stated preconditions such as conversation ownership. The agent must infer that this is the counterpart to mark_read purely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inbox_readAInspect
Read the latest messages of a conversation without changing its unread state. Use agent_ask with its thread ID to ask about it.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | An owned conversation ID. | |
| limit | No | Maximum items, 1–100; default 20. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses that the operation does not change the conversation's unread state, but it omits other behavioral details such as permission requirements, pagination behavior, or what a 'message' contains. The core non-mutation trait is covered, but not enough for a higher score without annotations.
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, front-loaded with the primary action and key behavioral distinction, with no redundant or filler content. Every sentence 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 simple read tool with no output schema and full schema descriptions, the description is nearly complete: it covers the core action, the non-mutation guarantee, and a relevant alternative. It could optionally mention pagination or return format, but given the tool's simplicity, nothing critical 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?
Schema description coverage is 100%, so both parameters ('id' and 'limit') are already documented in the schema. The description adds no additional meaning or constraints beyond what the schema provides, so the baseline score of 3 applies.
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 states a specific verb ('Read') and resource ('latest messages of a conversation'), and it distinguishes the tool from siblings by noting it does not change the unread state (unlike inbox_mark_read/unread) and by pointing to agent_ask as the alternative for asking questions. This gives an agent immediate clarity on what the tool does.
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 clearly states the use case ('read the latest messages without changing unread state') and names an alternative ('use agent_ask... to ask about it'). However, it does not explicitly compare to inbox_list or state when not to use this tool, leaving some inference to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
work_getCInspect
Read work status, result and execution steps.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | An owned work ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses the return contents (status, result, execution steps), which is useful, but says nothing about permissions, ownership enforcement, or behavior when the work is still pending or the ID is unknown.
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?
One short, front-loaded sentence with no padding. It is efficient, though its brevity is partly under-specification rather than deliberate economy.
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 one-parameter read tool with no annotations and no output schema, the description covers what is returned, which compensates for the missing output schema. It remains incomplete on sibling routing and error/ownership behavior.
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% and the single 'id' parameter is documented as 'An owned work ID'. The description adds no syntax, format, or ownership nuance beyond what the schema already states, so the baseline 3 applies.
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 (Read) and resource (work), and names the returned payload: status, result and execution steps. It reads clearly as a single-item fetch, implicitly distinct from work_list, but never explicitly differentiates itself from that sibling.
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 when-to-use guidance is given. With work_list, work_retry and work_submit as siblings, the description should say when to fetch a single work item versus listing work or retrying it; the agent must infer this from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
work_listAInspect
List delegated work: open jobs first, then recent completions. Personal todo items are excluded.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Page size, 1–100; default 20. | |
| offset | No | Number of matching jobs to skip. | |
| status | No | Optional todo, doing, done, failed or blocked filter. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It usefully reveals result ordering and the scope exclusion, but says nothing about permissions, whether this is a safe read, pagination semantics, or what a result entry looks like.
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 short sentences, front-loaded with the core action and scope, with zero filler. Every clause adds information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity, fully documented, no-required-param list tool, the description covers scope and ordering adequately; it lacks only minor context such as pagination behavior and permission expectations.
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% and all three parameters (limit, offset, status) are documented in the schema, so the description adds no parameter detail. Baseline 3 applies when the schema does the heavy lifting.
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 and resource ('List delegated work') and adds scope detail: open jobs ordered before recent completions, personal todo items excluded. It clearly reads as a read-side listing tool, though it does not name the sibling it complements (e.g. work_get) or the inbox tools it defers to.
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?
Usage is only implied: 'Personal todo items are excluded' hints the agent should use inbox_list for personal todos, but no explicit when-to-use or when-to-prefer-work_get guidance is given. The ordering statement describes result shape rather than selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
work_retryAInspect
Explicitly retry reviewed failed or blocked work. Earlier side effects may be repeated.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | An owned work ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and it does disclose the critical behavioral risk: 'Earlier side effects may be repeated.' That non-idempotency warning is exactly what an agent needs before re-invoking. It stops short of stating auth/permission requirements or how the retry is scheduled.
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, no filler. The action is front-loaded and the risk warning follows immediately, which is the right ordering for a mutation tool.
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 tool with no output schema and no annotations, the description covers the action, the eligible target state, and the side-effect hazard. It is nearly complete; only the permission/ownership prerequisites and expected outcome are left implicit.
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% and the 'owned work ID' semantics are documented in the schema itself, so the baseline is 3. The description adds no format, syntax, or ownership detail beyond what the schema already provides.
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 (retry) plus resource (work) and constrains the scope to 'reviewed failed or blocked work', which tells an agent exactly what state the target must be in. It does not explicitly contrast itself with siblings like work_submit or work_get, but the purpose is 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 phrase 'reviewed failed or blocked work' implies the precondition for use, and 'explicitly' hints at a manual invocation path, but no alternatives are named and no when-not-to-use guidance is given. Usage is inferable but not spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
work_submitAInspect
Start background work. Returns a durable ID; use work_get for the result. Do not blindly retry submissions.
| Name | Required | Description | Default |
|---|---|---|---|
| agent | No | Agent name; defaults to Micro. | |
| prompt | Yes | The goal, up to 8000 bytes. | |
| thread | No | Optional owned conversation for context and result delivery. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose meaningful traits: the work is asynchronous/background, the returned ID is durable, and resubmission is discouraged (implying duplicate submissions are costly or non-idempotent). It says nothing about permissions, rate limits, or cost, and the retry warning hints at a deduplication concern without explaining it, which leaves a real gap for an unannotated mutation-ish tool.
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 short sentences, zero filler, with the core purpose front-loaded and the follow-up routing immediately after. Every sentence carries actionable content.
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?
There is no output schema or annotation coverage, so the description must cover the contract itself; it does so by stating the return is a durable ID and that work_get retrieves the result. Parameters and limits live in the schema, so nothing essential is missing, though failure/retry semantics are only gestured at.
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%, so agent, prompt, and thread are already documented in the schema (including the 8000-byte prompt limit and the default agent). The description adds no additional parameter meaning, so the baseline 3 applies.
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?
Names a specific action and resource class: starting background (asynchronous) work, and explicitly signals the result is delivered elsewhere (work_get). This clearly separates it from work_get/work_list/work_retry. It does not, however, distinguish itself from the synchronous sibling agent_ask, which is the main ambiguity an agent faces.
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 routes the caller to work_get for results and includes a usage exclusion ('Do not blindly retry submissions'), which is real when-not-to guidance. It stops short of stating when to prefer this over synchronous alternatives such as agent_ask.
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.
151 tool updates
- Added
agent_ask - Added
agent_list - Removed
apps_build - Removed
apps_create - Removed
apps_edit - Removed
apps_embed - Removed
apps_fork - Removed
apps_read - Removed
apps_search - Removed
apps_test - Removed
archive_list - Removed
archive_search - Removed
blog_create - Removed
blog_delete - Removed
blog_list - Removed
blog_read - Removed
blog_update - Removed
bookmarks_add - Removed
bookmarks_annotate - Removed
bookmarks_delete - Removed
bookmarks_get - Removed
bookmarks_list - Removed
browser_read - Removed
browser_shot - Removed
chat_messages - Removed
chat_rooms - Removed
chat_send - Removed
contacts_add - Removed
contacts_delete - Removed
contacts_find - Removed
contacts_list - Removed
docs_delete - Removed
docs_list - Removed
docs_read - Removed
docs_write - Removed
events_create - Removed
events_delete - Removed
events_free - Removed
events_list - Removed
events_update - Removed
files_delete - Removed
files_get - Removed
files_list - Removed
files_put - Removed
files_share - Removed
flights_airport - Removed
flights_overhead - Removed
flights_status - Removed
flights_track - Removed
food_hygiene - Removed
food_product - Removed
food_search - Removed
hazards_alerts - Removed
hazards_floods - Removed
hazards_quakes - Removed
images_daily - Removed
images_delete - Removed
images_generate - Removed
images_get - Removed
images_list - Removed
images_search - Removed
images_share - Removed
images_update - Removed
images_upload - Added
inbox_list - Added
inbox_mark_read - Added
inbox_mark_unread - Added
inbox_read - Removed
mail_inbox - Removed
mail_info - Removed
mail_markread - Removed
mail_read - Removed
mail_search - Removed
mail_send - Removed
maps_area - Removed
maps_tile - Removed
markets_convert - Removed
markets_history - Removed
markets_list - Removed
markets_quote - Removed
news_headlines - Removed
news_list - Removed
news_read - Removed
news_search - Removed
notes_add - Removed
notes_delete - Removed
notes_get - Removed
notes_list - Removed
notify_devices - Removed
notify_send - Removed
places_address - Removed
places_elevation - Removed
places_geocode - Removed
places_nearby - Removed
places_search - Removed
prayer_qibla - Removed
prayer_reflection - Removed
prayer_saying - Removed
prayer_search - Removed
prayer_times - Removed
prayer_verse - Removed
recall_conversation - Removed
recall_list - Removed
recall_search - Removed
routes_directions - Removed
routes_eta - Removed
routes_nearest - Removed
shell_run - Removed
shell_write - Removed
sms_history - Removed
sms_number - Removed
sms_send - Removed
sms_verify - Removed
social_list - Removed
social_search - Removed
stream_list - Removed
tasks_create - Removed
tasks_delete - Removed
tasks_list - Removed
tasks_next - Removed
tasks_update - Removed
text_classify - Removed
text_extract - Removed
text_summarise - Removed
text_translate - Removed
transit_arrivals - Removed
transit_buses - Removed
transit_feeds - Removed
transit_nearby - Removed
transit_status - Removed
transit_trains - Removed
users_find - Removed
users_get - Removed
users_list - Removed
video_list - Removed
video_read - Removed
video_search - Removed
wallet_address - Removed
wallet_balance - Removed
weather_air - Removed
weather_forecast - Removed
weather_history - Removed
weather_lookup - Removed
weather_marine - Removed
web_fetch - Removed
web_images - Removed
web_search - Added
work_get - Added
work_list - Added
work_retry - Added
work_submit
10 tool updates
- Added
images_daily - Added
images_delete - Added
images_get - Added
images_list - Changed
images_search2 fields changed- added
Input schema / properties / cursorAdded value: +{ + "description": "", + "type": "string" +} - added
Input schema / properties / scopeAdded value: +{ + "description": "public, mine, all, or daily; defaults to public", + "type": "string" +}
- Added
images_share - Added
images_update - Added
images_upload - Removed
images_websearch - Added
web_images
1 tool update
- Added
mail_markread
2 tool updates
- Changed
news_list1 field changed- added
Input schema / properties / dayAdded value: +{ + "description": "today to restrict headlines to the caller’s local calendar day", + "type": "string" +}
- Changed
weather_lookup1 field changed- added
Input schema / properties / dayAdded value: +{ + "description": "today or tomorrow; empty returns the current multi-day forecast", + "type": "string" +}
2 tool updates
- Changed
tasks_list1 field changed- changed
Input schema / properties / status / descriptionPrevious value: -"Optional filter: todo, doing or done"New value: +"Optional filter: todo, doing, done, failed or blocked"
- Changed
tasks_update1 field changed- changed
Input schema / properties / status / descriptionPrevious value: -"todo, doing or done"New value: +"todo, doing, done, failed or blocked"
1 tool update
- Added
weather_lookup
2 tool updates
- Added
flights_status - Added
images_websearch
21 tool updates
- Added
bookmarks_add - Added
bookmarks_annotate - Added
bookmarks_delete - Added
bookmarks_get - Added
bookmarks_list - Changed
events_list2 fields changed- added
Input schema / properties / limitAdded value: +{ + "description": "Maximum events, default 20, max 100", + "type": "number" +} - added
Input schema / properties / offsetAdded value: +{ + "description": "Events to skip", + "type": "number" +}
- Added
events_update - Changed
mail_inbox2 fields changed- added
Input schema / properties / offsetAdded value: +{ + "description": "Matching messages to skip", + "type": "number" +} - added
Input schema / properties / tagAdded value: +{ + "description": "Only messages sent to this plus-address tag", + "type": "string" +}
- Added
mail_read - Changed
mail_search2 fields changed- added
Input schema / properties / offsetAdded value: +{ + "description": "Matching messages to skip", + "type": "number" +} - added
Input schema / properties / tagAdded value: +{ + "description": "Only messages sent to this plus-address tag", + "type": "string" +}
- Added
markets_history - Changed
markets_list2 fields changed- added
Input schema / properties / limitAdded value: +{ + "description": "Maximum instruments, default 20, max 100", + "type": "number" +} - added
Input schema / properties / offsetAdded value: +{ + "description": "Instruments to skip", + "type": "number" +}
- Added
markets_quote - Removed
saved_add - Removed
saved_annotate - Removed
saved_delete - Removed
saved_get - Removed
saved_list - Changed
tasks_list2 fields changed- added
Input schema / properties / limitAdded value: +{ + "description": "Maximum tasks, default 20, max 100", + "type": "number" +} - added
Input schema / properties / offsetAdded value: +{ + "description": "Tasks to skip", + "type": "number" +}
- Changed
video_list3 fields changed- added
Input schema / properties / categoryAdded value: +{ + "description": "Optional curated category", + "type": "string" +} - changed
Input schema / properties / limit / descriptionPrevious value: -"Optional max number of videos (default all recent)"New value: +"Maximum videos per page, default 20, maximum 100" - added
Input schema / properties / offsetAdded value: +{ + "description": "Videos to skip", + "type": "number" +}
- Added
video_read
5 tool updates
- Added
saved_add - Added
saved_annotate - Added
saved_delete - Added
saved_get - Added
saved_list
1 tool update
- Added
news_headlines
2 tool updates
- Changed
archive_list1 field changed- changed
Input schema / properties / kind / descriptionPrevious value: -"One kind: news, video, market, blog, prayer. Omit for a summary of what is here"New value: +"One kind: news, post, video, market, social, reminder. Omit for a summary of what is here"
- Changed
archive_search1 field changed- changed
Input schema / properties / kind / descriptionPrevious value: -"Narrow to one kind: news, video, market, blog, prayer. Omit to search everything"New value: +"Narrow to one kind: news, post, video, market, social, reminder. Omit to search everything"
1 tool update
- Changed
shell_write1 field changed- changed
Input schema / properties / path / descriptionPrevious value: -"Where to put it, under /work. Missing directories are created"New value: +"Where to put it, relative to /work — not to the directory your last command left you in. Missing directories are created"
3 tool updates
- Removed
shell_list - Removed
shell_read - Removed
shell_replace
2 tool updates
- Removed
apps_publish - Added
shell_replace
1 tool update
- Added
apps_publish
1 tool update
- Changed
sms_send3 fields changed- added
Input schema / properties / channelAdded value: +{ + "description": "How to send it: 'sms' (the default) or 'whatsapp'. WhatsApp only works with somebody who messaged this instance in the last 24 hours — reply on the channel they used", + "type": "string" +} - changed
Input schema / properties / text / descriptionPrevious value: -"What to say. Charged per 160-character segment, so brevity is not only good manners"New value: +"What to say. A text is charged per 160-character segment, so brevity is not only good manners" - changed
Input schema / properties / to / descriptionPrevious value: -"The number to text, in international format, e.g. +447700900123. Use contacts_find to turn a name into one"New value: +"The number to message, in international format, e.g. +447700900123. Use contacts_find to turn a name into one"
2 tool updates
- Added
notify_devices - Added
notify_send
2 tool updates
- Removed
wallet_list - Removed
wallet_pay
Related MCP Connectors
Search the web, images, videos, news, and local businesses with robust filters, freshness controls…
Gateway between LLM agents and world data through eight tools and a bundled endpoint catalog.
135 MCP tools: geo, email, phone, company, DNS, FX, equities, weather, tax, econ, intel — one key.
One call instead of crawling 29 news/finance/AI sources mid-task. 100 free queries/day.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceExposes news search and top headlines via GNews API, plus simulated email tools for sending and retrieving emails.-
- FlicenseNot gradedqualityCmaintenanceProvides AI agents and RAG pipelines with production-grade web search, deep research, news, academic, extraction, crawling, and source verification tools. Enables citation-anchored, deduplicated, fresh, and security-hardened evidence gathering from across the web.-

Ready APIsofficial
AlicenseNot gradedqualityDmaintenanceMCP tools for geo, email, phone, company, DNS, FX, equities, weather, tax, economics, and intelligence — streamable HTTP, one API key.MIT- AlicenseNot gradedqualityDmaintenanceProvides web browsing, multi-engine search, and news retrieval tools for local LLMs via the Model Context Protocol, optimized for low-token iterative access with outline-first browsing and selective drill-down.2MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.