Skip to main content
Glama
jopmiddelkamp

outlook-mcp-limited

create_draft

Create a draft email in the Outlook Drafts folder without sending. Supports new messages or threaded replies; user must review and send manually.

Instructions

Create a draft email in the user's Drafts folder — NEVER sends. If replyToMessageId is set, the draft is created as a threaded reply; if body is provided it replaces Graph's quoted original so the caller fully controls the outgoing text. Otherwise a new standalone draft is created. The user must review and send manually in Outlook; this server has no ability to send.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
ccNoCC recipients.
toYesRecipient email addresses (To:).
bccNoBCC recipients.
bodyYesEmail body. Plain text by default.
subjectYesEmail subject.
bodyFormatNoBody format. Default 'text'.
replyToMessageIdNoIf set, create the draft as a reply to this message (preserves thread, quotes original).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.2

TDQS

A4.3/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 does well: it discloses that the tool never sends, that sending is manual in Outlook, that body replaces Graph's quoted original, and that the draft lands in Drafts. It omits failure/permission behavior and what happens to existing settings, but the safety profile is unusually well disclosed.

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?

Front-loaded with the core action and the critical 'NEVER sends' constraint before the conditional detail. Three sentences, each earning its place, though 'Otherwise a new standalone draft is created' is mildly redundant given the opening.

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 create tool with no output schema and no annotations, the description covers the important behavioral and branching facts. It stops short of indicating what the call returns (e.g., a draft identifier), which no structured field supplies, but otherwise an agent has enough to invoke it correctly.

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. The description goes beyond the schema by explaining the semantics of replyToMessageId (threaded reply, quotes original) and the interaction where a provided body overrides that quoted original — meaning that is genuinely additive, not a restatement.

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?

States a specific verb and resource ('Create a draft email in the user's Drafts folder') and immediately constrains scope with 'NEVER sends', making it unmistakably distinct from the read-only siblings (read_email, list_emails, search_emails). An agent can differentiate it from every sibling without opening a schema.

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?

The description sets a clear context (composing a draft the user will send manually) and spells out two conditional branches: reply-to threading when replyToMessageId is set, standalone otherwise. It does not name an alternative tool, but no sibling performs a comparable write, so there is little to exclude against.

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