Skip to main content
Glama
marlonluo2018

Microsoft Graph MCP Server

send_email

Send emails immediately without creating drafts. Supports new, reply, and forward actions with HTML content and batch BCC from CSV files.

Instructions

Send emails directly without creating drafts. Supports three actions: 'send_new' to send a new email, 'reply' to reply to an existing email, and 'forward' to forward an existing email. All actions send emails immediately - no drafts are created. Supports multiple recipients, CC, and BCC. The htmlbody parameter accepts HTML format for rich email content. RECOMMENDED FOR BCC: Use bcc_csv_file parameter to provide BCC recipients from a CSV file - this is the preferred method for handling large BCC lists with automatic batching support (up to 500 recipients per batch by default). NOTE: For forward action, 'to' is optional when using 'bcc_csv_file' or 'bcc' - you can forward emails using only BCC recipients. Returns: {success: boolean, message: string, sent_count: integer, failed_count: integer, recipients: array}.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
ccNoList of CC recipient email addresses (optional). For reply: if not provided, defaults to original CC recipients; if provided (even if empty), replaces original CC recipients.
toNoList of recipient email addresses (required for send_new, optional for reply and forward). For reply: if not provided, defaults to original sender and recipients; if provided (even if empty), replaces original recipients. For forward: optional when bcc_csv_file is provided.
bccNoList of BCC recipient email addresses (optional)
actionYesAction to perform: 'send_new' to send a new email immediately (no draft), 'reply' to reply to existing email, 'forward' to forward existing email
subjectNoEmail subject (required for send_new, optional for reply/forward)
htmlbodyYesEmail body content in HTML format. IMPORTANT HTML FORMATTING RULES: (1) Do NOT use <br> between <p> tags - use </p><p> directly for paragraph separation. Using both creates excessive spacing in email clients. (2) Do NOT add newlines or whitespace between HTML block elements (<p>, <div>, <ul>, etc.) - keep HTML compact. (3) Use <p> for paragraphs, <strong>/<em> for emphasis, <ul>/<li> for lists. (4) Only use <br> for line breaks WITHIN a paragraph, not between paragraphs. Correct example: '<p>Hello,</p><p>This is <strong>important</strong>.</p><p>Best regards</p>'
importanceNoEmail importance level: 'normal' (default), 'high', or 'low' (optional)
bcc_csv_fileNo**PREFERRED METHOD FOR BCC**: Path to CSV file containing BCC recipients. This is the recommended approach for handling BCC recipients, especially for large lists. CSV must have a single column with header 'Email' or 'email'. The system automatically batches large BCC lists (up to 500 recipients per batch by default) and sends multiple emails as needed. Only available for 'forward' action. When both 'bcc' and 'bcc_csv_file' are provided, they are combined.
cache_numberNoCache number from browse_email_cache (required for reply/forward, e.g., 1, 2, 3)
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states that emails are sent immediately without drafts, explains batching for BCC CSV (up to 500 per batch), and describes the return object. It does not cover rate limits, authentication needs, or error handling, but the disclosed behaviors are clear and useful.

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?

The description is verbose and includes some redundancy (e.g., repeating 'send immediately - no drafts' in multiple places). It uses bold for emphasis and is structured logically, but could be more concise by eliminating repetition and unnecessary phrasing.

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?

Given the absence of an output schema, the description compensates by listing return fields (success, message, sent_count, etc.). It covers all 9 parameters, explains batching, and addresses all three actions. It lacks discussion of error scenarios or prerequisites, but overall it is sufficiently complete for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage, but the description adds substantial extra meaning: it explains how parameters behave differently per action (e.g., 'to' optional for forward with BCC CSV), provides HTML formatting rules, and recommends BCC CSV over the 'bcc' array. This goes significantly beyond the schema to guide correct usage.

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 clearly states it sends emails directly without creating drafts, and lists three specific actions (send_new, reply, forward) with brief explanations. It effectively communicates the core verb-resource pairing but does not explicitly distinguish itself from sibling tools like manage_emails, which may also send emails.

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 description provides some context, such as recommending BCC CSV for large BCC lists and noting optional 'to' for forward actions. However, it lacks explicit when-to-use or when-not-to-use guidance and does not compare this tool to alternative siblings for similar tasks.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/marlonluo2018/microsoft_graph_mcp_server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server