Skip to main content
Glama

Server Details

News, web search, mail, markets, weather, places, files, calendar, contacts. 67 tools, one endpoint.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
micro/mu
GitHub Stars
431
Server Listing
mu

TDQS

A3.7/5.0

Scored across 10 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness4/5

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 tools
agent_askCInspect

Ask an agent. Pass the returned thread ID to continue the saved conversation.

ParametersJSON Schema
NameRequiredDescriptionDefault
agentNoAgent name; defaults to Micro.
promptYesYour instruction, up to 8000 bytes.
threadNoAn owned conversation ID to continue.

TDQS

C2.8/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum items, 1–100; default 20.

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesAn owned conversation ID.

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesAn owned conversation ID.

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesAn owned conversation ID.
limitNoMaximum items, 1–100; default 20.

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesAn owned work ID.

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoPage size, 1–100; default 20.
offsetNoNumber of matching jobs to skip.
statusNoOptional todo, doing, done, failed or blocked filter.

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesAn owned work ID.

TDQS

A3.8/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
agentNoAgent name; defaults to Micro.
promptYesThe goal, up to 8000 bytes.
threadNoOptional owned conversation for context and result delivery.

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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.

  1. 151 tool updates
    • Addedagent_ask
    • Addedagent_list
    • Removedapps_build
    • Removedapps_create
    • Removedapps_edit
    • Removedapps_embed
    • Removedapps_fork
    • Removedapps_read
    • Removedapps_search
    • Removedapps_test
    • Removedarchive_list
    • Removedarchive_search
    • Removedblog_create
    • Removedblog_delete
    • Removedblog_list
    • Removedblog_read
    • Removedblog_update
    • Removedbookmarks_add
    • Removedbookmarks_annotate
    • Removedbookmarks_delete
    • Removedbookmarks_get
    • Removedbookmarks_list
    • Removedbrowser_read
    • Removedbrowser_shot
    • Removedchat_messages
    • Removedchat_rooms
    • Removedchat_send
    • Removedcontacts_add
    • Removedcontacts_delete
    • Removedcontacts_find
    • Removedcontacts_list
    • Removeddocs_delete
    • Removeddocs_list
    • Removeddocs_read
    • Removeddocs_write
    • Removedevents_create
    • Removedevents_delete
    • Removedevents_free
    • Removedevents_list
    • Removedevents_update
    • Removedfiles_delete
    • Removedfiles_get
    • Removedfiles_list
    • Removedfiles_put
    • Removedfiles_share
    • Removedflights_airport
    • Removedflights_overhead
    • Removedflights_status
    • Removedflights_track
    • Removedfood_hygiene
    • Removedfood_product
    • Removedfood_search
    • Removedhazards_alerts
    • Removedhazards_floods
    • Removedhazards_quakes
    • Removedimages_daily
    • Removedimages_delete
    • Removedimages_generate
    • Removedimages_get
    • Removedimages_list
    • Removedimages_search
    • Removedimages_share
    • Removedimages_update
    • Removedimages_upload
    • Addedinbox_list
    • Addedinbox_mark_read
    • Addedinbox_mark_unread
    • Addedinbox_read
    • Removedmail_inbox
    • Removedmail_info
    • Removedmail_markread
    • Removedmail_read
    • Removedmail_search
    • Removedmail_send
    • Removedmaps_area
    • Removedmaps_tile
    • Removedmarkets_convert
    • Removedmarkets_history
    • Removedmarkets_list
    • Removedmarkets_quote
    • Removednews_headlines
    • Removednews_list
    • Removednews_read
    • Removednews_search
    • Removednotes_add
    • Removednotes_delete
    • Removednotes_get
    • Removednotes_list
    • Removednotify_devices
    • Removednotify_send
    • Removedplaces_address
    • Removedplaces_elevation
    • Removedplaces_geocode
    • Removedplaces_nearby
    • Removedplaces_search
    • Removedprayer_qibla
    • Removedprayer_reflection
    • Removedprayer_saying
    • Removedprayer_search
    • Removedprayer_times
    • Removedprayer_verse
    • Removedrecall_conversation
    • Removedrecall_list
    • Removedrecall_search
    • Removedroutes_directions
    • Removedroutes_eta
    • Removedroutes_nearest
    • Removedshell_run
    • Removedshell_write
    • Removedsms_history
    • Removedsms_number
    • Removedsms_send
    • Removedsms_verify
    • Removedsocial_list
    • Removedsocial_search
    • Removedstream_list
    • Removedtasks_create
    • Removedtasks_delete
    • Removedtasks_list
    • Removedtasks_next
    • Removedtasks_update
    • Removedtext_classify
    • Removedtext_extract
    • Removedtext_summarise
    • Removedtext_translate
    • Removedtransit_arrivals
    • Removedtransit_buses
    • Removedtransit_feeds
    • Removedtransit_nearby
    • Removedtransit_status
    • Removedtransit_trains
    • Removedusers_find
    • Removedusers_get
    • Removedusers_list
    • Removedvideo_list
    • Removedvideo_read
    • Removedvideo_search
    • Removedwallet_address
    • Removedwallet_balance
    • Removedweather_air
    • Removedweather_forecast
    • Removedweather_history
    • Removedweather_lookup
    • Removedweather_marine
    • Removedweb_fetch
    • Removedweb_images
    • Removedweb_search
    • Addedwork_get
    • Addedwork_list
    • Addedwork_retry
    • Addedwork_submit
  2. 10 tool updates
    • Addedimages_daily
    • Addedimages_delete
    • Addedimages_get
    • Addedimages_list
    • Changedimages_search2 fields changed
      • addedInput schema / properties / cursor
        Added value: +{
        +  "description": "",
        +  "type": "string"
        +}
      • addedInput schema / properties / scope
        Added value: +{
        +  "description": "public, mine, all, or daily; defaults to public",
        +  "type": "string"
        +}
    • Addedimages_share
    • Addedimages_update
    • Addedimages_upload
    • Removedimages_websearch
    • Addedweb_images
  3. 1 tool update
    • Addedmail_markread
  4. 2 tool updates
    • Changednews_list1 field changed
      • addedInput schema / properties / day
        Added value: +{
        +  "description": "today to restrict headlines to the caller’s local calendar day",
        +  "type": "string"
        +}
    • Changedweather_lookup1 field changed
      • addedInput schema / properties / day
        Added value: +{
        +  "description": "today or tomorrow; empty returns the current multi-day forecast",
        +  "type": "string"
        +}
  5. 2 tool updates
    • Changedtasks_list1 field changed
      • changedInput schema / properties / status / description
        Previous value: -"Optional filter: todo, doing or done"New value: +"Optional filter: todo, doing, done, failed or blocked"
    • Changedtasks_update1 field changed
      • changedInput schema / properties / status / description
        Previous value: -"todo, doing or done"New value: +"todo, doing, done, failed or blocked"
  6. 1 tool update
    • Addedweather_lookup
  7. 2 tool updates
    • Addedflights_status
    • Addedimages_websearch
  8. 21 tool updates
    • Addedbookmarks_add
    • Addedbookmarks_annotate
    • Addedbookmarks_delete
    • Addedbookmarks_get
    • Addedbookmarks_list
    • Changedevents_list2 fields changed
      • addedInput schema / properties / limit
        Added value: +{
        +  "description": "Maximum events, default 20, max 100",
        +  "type": "number"
        +}
      • addedInput schema / properties / offset
        Added value: +{
        +  "description": "Events to skip",
        +  "type": "number"
        +}
    • Addedevents_update
    • Changedmail_inbox2 fields changed
      • addedInput schema / properties / offset
        Added value: +{
        +  "description": "Matching messages to skip",
        +  "type": "number"
        +}
      • addedInput schema / properties / tag
        Added value: +{
        +  "description": "Only messages sent to this plus-address tag",
        +  "type": "string"
        +}
    • Addedmail_read
    • Changedmail_search2 fields changed
      • addedInput schema / properties / offset
        Added value: +{
        +  "description": "Matching messages to skip",
        +  "type": "number"
        +}
      • addedInput schema / properties / tag
        Added value: +{
        +  "description": "Only messages sent to this plus-address tag",
        +  "type": "string"
        +}
    • Addedmarkets_history
    • Changedmarkets_list2 fields changed
      • addedInput schema / properties / limit
        Added value: +{
        +  "description": "Maximum instruments, default 20, max 100",
        +  "type": "number"
        +}
      • addedInput schema / properties / offset
        Added value: +{
        +  "description": "Instruments to skip",
        +  "type": "number"
        +}
    • Addedmarkets_quote
    • Removedsaved_add
    • Removedsaved_annotate
    • Removedsaved_delete
    • Removedsaved_get
    • Removedsaved_list
    • Changedtasks_list2 fields changed
      • addedInput schema / properties / limit
        Added value: +{
        +  "description": "Maximum tasks, default 20, max 100",
        +  "type": "number"
        +}
      • addedInput schema / properties / offset
        Added value: +{
        +  "description": "Tasks to skip",
        +  "type": "number"
        +}
    • Changedvideo_list3 fields changed
      • addedInput schema / properties / category
        Added value: +{
        +  "description": "Optional curated category",
        +  "type": "string"
        +}
      • changedInput schema / properties / limit / description
        Previous value: -"Optional max number of videos (default all recent)"New value: +"Maximum videos per page, default 20, maximum 100"
      • addedInput schema / properties / offset
        Added value: +{
        +  "description": "Videos to skip",
        +  "type": "number"
        +}
    • Addedvideo_read
  9. 5 tool updates
    • Addedsaved_add
    • Addedsaved_annotate
    • Addedsaved_delete
    • Addedsaved_get
    • Addedsaved_list
  10. 1 tool update
    • Addednews_headlines
  11. 2 tool updates
    • Changedarchive_list1 field changed
      • changedInput schema / properties / kind / description
        Previous 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"
    • Changedarchive_search1 field changed
      • changedInput schema / properties / kind / description
        Previous 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"
  12. 1 tool update
    • Changedshell_write1 field changed
      • changedInput schema / properties / path / description
        Previous 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"
  13. 3 tool updates
    • Removedshell_list
    • Removedshell_read
    • Removedshell_replace
  14. 2 tool updates
    • Removedapps_publish
    • Addedshell_replace
  15. 1 tool update
    • Addedapps_publish
  16. 1 tool update
    • Changedsms_send3 fields changed
      • addedInput schema / properties / channel
        Added 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"
        +}
      • changedInput schema / properties / text / description
        Previous 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"
      • changedInput schema / properties / to / description
        Previous 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"
  17. 2 tool updates
    • Addednotify_devices
    • Addednotify_send
  18. 2 tool updates
    • Removedwallet_list
    • Removedwallet_pay

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Provides 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.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides 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.
    2
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.