Skip to main content
Glama
arbengine

mailbox-mcp

report_agent_inbox_outcome

Idempotent

Deprecated: no successor; retired when the alias window closes. Still served unchanged until then. Report actual external-worker processing through /v1/agent-inbox/:id/acknowledgments.

Instructions

Deprecated: no successor; retired when the alias window closes. Still served unchanged until then. Report actual external-worker processing through /v1/agent-inbox/:id/acknowledgments. Send the exact fetched context_version, outcome and non-sensitive run_id in request. Needs agent.inbox.report plus both read scopes. Retry only the same idempotency_key and request. Never report processed before doing the work; reports cannot approve or complete facility handling. Required scopes: agent.inbox.read, agent.read, agent.inbox.report. Agent-scoped bearer key required; member/facility keys cannot impersonate an agent. Rollout switches, current member approval, assignment, credential environment and SQL authorization are shared with REST. Never substitute another key or mail API after denial.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
item_idYesInbound item id (UUID) from a list or search result.
requestYesOutcome report: context_version from get_agent_inbox_context, outcome (processed, needs_review or failed) and your run_id.
idempotency_keyYesCaller-generated replay key (8–200 visible ASCII characters) for this one intent. The same key with the same input replays the stored result; the same key with different input is refused.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.0.3

TDQS

A4.2/5.0
Behavior5/5

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

Goes well beyond annotations (readOnlyHint=false, idempotentHint=true, destructiveHint=false) by disclosing deprecation/no-successor status, required scopes (agent.inbox.read, agent.read, agent.inbox.report), the agent-scoped bearer key requirement, the member/facility impersonation restriction, idempotency replay semantics, and shared rollout/authorization dependencies. This is exactly the extra behavioral context annotations cannot carry.

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

Conciseness3/5

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

Information is dense and mostly front-loaded with the deprecation warning, but it is a run-on series of sentences with redundancy: the scope set is stated twice ('agent.inbox.report plus both read scopes' then 'Required scopes: agent.inbox.read, agent.read, agent.inbox.report'), and retry/denial warnings are repeated. It could be tightened without losing content.

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

Completeness5/5

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

For a deprecated mutation tool with an output schema present, the description supplies everything an agent needs: lifetime status, endpoint, auth/scope requirements, idempotency and retry behavior, and clear constraints on what the report can and cannot do. Nothing essential is left implicit.

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?

Schema coverage is 100%, so the baseline is 3, but the description adds meaning: context_version must be the 'exact fetched' value and run_id should be 'non-sensitive', which clarifies correct usage beyond the field patterns. The nested request object is adequately explained via the description and schema together.

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+resource: 'Report actual external-worker processing through /v1/agent-inbox/:id/acknowledgments.' An agent can distinguish this outcome-reporting tool from siblings like get_agent_inbox_context or propose_agent_inbox_handling. The purpose is somewhat buried behind the leading deprecation sentence but is unambiguous once reached.

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?

Gives clear conditions: 'Retry only the same idempotency_key and request', 'Never report processed before doing the work', 'reports cannot approve or complete facility handling', and 'Never substitute another key or mail API after denial.' These are explicit when/when-not rules, though it never names an alternative sibling for reporting, so it stops short of full routing guidance.

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