MCP server for AgentDraft — expose inbox, conflict-free calendar, and audit tools to MCP-aware AI clients
AgentDraft MCP demonstrates solid definition quality with all 6 tools having clear, action-verb names and comprehensive descriptions (avg 180 chars). Input schemas are well-structured with typed parameters and descriptions. However, output schemas are partially documented (some fields inferred from code), and error handling lacks explicit recovery guidance for agents. Tool composition is excellent, each tool has a single responsibility and chains naturally (whoami → get_availability → create_hold → commit_booking). Security is strong: API key injected via environment, no secrets in parameters. Main gaps: output schema documentation incomplete, error payloads could guide LLM recovery more explicitly, and some optional parameters lack constraint documentation.
Cancel a previously-committed booking owned by the calling agent. The slot becomes available to other agents immediately.
Finalize a booking. This is the atomic compare-and-swap at the slot level — exactly one agent succeeds per slot in any race window. Returns an outranked payload on 409. Optional ``title`` and ``invitee`` (``{name, email, notes}``) record who the slot is for; both are echoed back and shown to the owner in the dashboard. Set ``with_conferencing=True`` to attach a video meeting link to the committed booking; the link is returned under ``conferencing``.
Reserve a slot tentatively. Holds expire automatically (30s TTL by default). A subsequent commit_booking on the same slot promotes the hold to a final booking. Optional ``title`` and ``invitee`` (``{name, email, notes}``) record who the slot is for; both carry through to the eventual commit. Returns an outranked payload if a higher-priority agent already holds or has committed the slot inside the bump window.
List slots open to the calling agent within [start, end). Times are ISO 8601 strings (`2026-06-01T14:00:00Z`). The result is filtered through the user's focus blocks, buffer rules, and any currently-active holds across sibling agents.
Output schemas partially undocumented. Code shows return dicts but descriptions lack explicit field documentation. LLMs cannot reliably extract booking_id, status, or conflict details without inferring from code.
Error handling returns structured payloads (e.g., _conflict_payload) but tool descriptions do not document these error cases or guide LLM recovery. 'Returns an outranked payload' is mentioned but not explained in detail.
Optional parameters (metadata, invitee, title) lack constraint documentation. invitee is described as '{name, email, notes}' but no schema validates structure or required fields within the object.
STDIO transport only. Server is not remotely accessible and cannot be used by hosted MCP clients. Limits deployment to local/containerized environments.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 63 | 2026-07-28+ | v2 |
Release a previously-created hold so other agents can claim the slot before the TTL expires.
Confirm the configured AGENTDRAFT_API_KEY is valid and return the calling agent's identity, priority, scopes, and the owner's timezone (so a client can render slots in the owner's zone).
Tool annotations (readOnlyHint, destructiveHint, idempotentHint) not present. Risk levels are documented in the rubric but not exposed via MCP tool metadata, limiting client-side safety guardrails.