read_email

Use this when the user wants the full content of an email that lives in the Mac's Apple Mail (message ID from list_emails/search_emails). For a Microsoft 365 message ID from m365_list_emails, use m365_read_email. Pass account= (and mailbox= if known, both from list_emails/search_emails) so the lo...

SERVERLocal SOURCElocal-mcp
Low RISK CLASS
Category Read
Parameters 51 required
Recommended Allowedsee the rule below
Registry record Grade F, identity unverified Pull the record →

This record as markdown: /tools/com-local-mcp-local-mcp/read-email.md

What read_email does on Local

AI agents call read_email to retrieve information from Local without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.

ParameterTypeRequiredDescription
account string
mailbox string
message_id string Yes
include_body boolean
max_body_chars integer

Parameters from the server's own tool schema.

Why read_email is rated Low

This tool retrieves email data with no side effects. It reads from Apple Mail using a message ID and account/mailbox parameters. The only potential concern is privacy (accessing email content), but the action itself is a Read operation that queries and returns data without modifying it.

From the tool's definition Tool name is 'read_email' and description states 'Use this when the user wants the full content of an email' — retrieves email content from Apple Mail. No modification, deletion, execution, or financial operations are performed.

Questions about read_email

What does the read_email tool do? +

Use this when the user wants the full content of an email that lives in the Mac's Apple Mail (message ID from list_emails/search_emails). For a Microsoft 365 message ID from m365_list_emails, use m365_read_email. Pass account= (and mailbox= if known, both from list_emails/search_emails) so the lookup targets one account instead of scanning all of them. Call sequentially, not in parallel — concurrent calls serialize behind Mail.app's JXA lock and later calls will time out. Performance: body fetch is the primary latency source (avg 20s on slow IMAP). Pass include_body=false to skip it and get metadata-only (fast). Pass max_body_chars=N to cap the body at N chars after HTML stripping (default 30000; 0=unlimited). Response includes body_fetch_ms when fetch took >2s, body_omitted=true when skipped, body_truncated_at=N when cut. It is categorised as a Read tool in the Local MCP Server, which means it retrieves data without modifying state.

What parameters does read_email accept? +

read_email accepts 5 parameters: account, mailbox, message_id, include_body, max_body_chars. Required: message_id. The full parameter table on this page comes from the server's own tool schema.

How do I enforce a policy on read_email? +

Register the Local MCP server in PolicyLayer and add a rule for read_email: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Local. Nothing to install.

What risk level is read_email? +

read_email is a Read tool with low risk. Read-only tools are generally safe to allow by default.

Can I rate-limit read_email? +

Yes. Add a rate_limit block to the read_email rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.

How do I block read_email completely? +

Set action: deny in the PolicyLayer policy for read_email. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.

What MCP server provides read_email? +

read_email is provided by the Local MCP server (local-mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.

More on Local, and thousands of servers like it.

// THE MCP REGISTRY

PolicyLayer tracks 44,603 MCP servers and 515,000+ tools.

Every server has a live record: who publishes it, whether it answers without auth, its risk grade, every tool classified, the recommended policy. This page is one line of Local's. Pull the full record:

Teams ship this data inside their own products. See what a licence covers →

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.