Skip to main content
Glama

Kivel MCP Server

email_draft

DestructiveIdempotent

Create, list, get, send or delete an email draft. Use the inbox ID for create or list, and draft ID otherwise. Create content accepts to, cc, subject, text or html, and optional replyTo (a received message ID). Send accepts approval: true to request human review and optional sendAt (ISO timestamp). Use wait_for_event with the approval ID to wait for a decision. Reviews expire after at most 24 hours or at sendAt or draft expiry if sooner. Only a signed-in owner or admin can resubmit expired or rejected drafts. A decision is separate from delivery status.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "action": "<action>",
      "id": "<id>"
    },
    "name": "email_draft"
  }
}

Input Schema

NameRequiredDescriptionDefault
idYesResource UUID.
actionYes
sendAtNo
contentNo
approvalNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare destructive, idempotent, openWorld and non-readOnly, so the safety profile is covered. The description still adds real value beyond them: review expiry of at most 24 hours or at sendAt/draft expiry, the owner-or-admin restriction for resubmitting expired or rejected drafts, and the note that a decision is separate from delivery status. That is meaningful behavioral context, though delete and send side effects (what is destroyed, whether sent drafts are recoverable) are not spelled out.

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 action list is front-loaded and each subsequent sentence maps to a specific action or parameter, with no filler. Some clauses are packed tightly (expiry, admin resubmission, delivery-vs-decision) in ways that require re-reading.

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 five-action tool with a nested content object and no output schema, the definition covers the operationally critical parts: ID routing, content shape, approval gating, expiry and permissions. Gaps remain around list behavior (pagination/fields returned) and delete semantics, but nothing blocks a correct call.

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 description coverage is only 20% (only id is documented), so the description carries most of the burden and largely succeeds: it defines id semantics per action, expands content into to/cc/subject/text/html plus optional replyTo (a received message ID), and gives sendAt's ISO format and approval:true meaning. The nested content object is still only partially specified, and the action enum values are not described individually.

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 opening sentence names a specific resource (email draft) and enumerates all five supported verbs, so an agent knows exactly what the tool covers. It does not distinguish itself from the sibling send_email, leaving ambiguity about which tool performs a direct send versus a draft-based send.

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 gives an explicit routing rule per action ('inbox ID for create or list, draft ID otherwise') and explains the approval flow, including pointing to wait_for_event with the approval ID. It stops short of stating when not to use this tool or how it relates to the sibling send_email alternative.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources