@fuyouai/email-mcp
OfficialClick on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@@fuyouai/email-mcplist my recent emails in the inbox"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@fuyouai/email-mcp
通过 MCP 读写邮箱:收信用 IMAP,发信用 SMTP。默认参数适配腾讯企业邮箱(exmail.qq.com)。
工具
Tool | 说明 |
| 列出文件夹 |
| 列出邮件摘要 |
| 按条件搜索 |
| 读取单封正文与附件信息 |
| 发送邮件(环境变量 |
Related MCP server: Email Server
要求
Node.js 18+
邮箱已开启 IMAP;发信需开启 SMTP
腾讯企业邮开启安全登录时,使用客户端专用密码(IMAP 说明)
在 Cursor 中使用
npx -y @fuyouai/email-mcpmcp.json 示例(把账号与密码换成你自己的;密码不要提交到仓库):
{
"mcpServers": {
"email": {
"command": "npx",
"args": ["-y", "@fuyouai/email-mcp"],
"env": {
"IMAP": "imap.exmail.qq.com:993",
"MAIL_USER": "you@yourcompany.com",
"MAIL_PASSWORD": "客户端专用密码",
"IMAP_SECURE": "true",
"SMTP": "smtp.exmail.qq.com:465",
"SMTP_SECURE": "true",
"SMTP_ENABLED": "true"
}
}
}
}安装到全局后,可执行 CLI:email-mcp。
环境变量
变量 | 说明 | 默认 |
| 收信 |
|
| 登录邮箱(收/发共用) | 必填 |
| 密码或客户端专用密码 | 必填 |
| IMAP 使用 TLS |
|
| 读信正文最大长度 |
|
| 发信 |
|
| SMTP 使用 TLS |
|
| 是否注册发信工具 |
|
| 发信账号与收信不同时填写 | 默认同 |
| 发件人显示地址 | 默认同发信登录账号 |
海外机房可将 IMAP / SMTP 改为 hwimap.exmail.qq.com:993、hwsmtp.exmail.qq.com:465。
send_message 参数示例
{
"to": "colleague@company.com",
"subject": "会议提醒",
"text": "明天下午 3 点开会。"
}多个收件人:"to": "a@x.com, b@x.com" 或 "to": ["a@x.com", "b@x.com"]。text 与 html 至少填一项。
Available Tools
5 toolsget_messageA
获取单封邮件的完整内容(主题、正文、附件元数据)
| Name | Required | Description | Default |
|---|---|---|---|
| uid | Yes | 邮件 UID | |
| folder | No | 文件夹路径,默认 INBOX |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only describes the retrieved data and does not mention side effects, error conditions (e.g., on invalid UID), permissions/authentication, or whether the operation is read-only. This is insufficient for a tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that immediately states the action and scope. It is front-loaded with the verb and resource, and every word contributes to understanding the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with 2 parameters and no output schema. The description covers the return content (subject, body, attachments) but omits details like error handling, folder defaulting behavior beyond what the schema states, or response format. It is minimally complete but lacks depth for a no-annotation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both 'uid' and 'folder' have detailed descriptions including default). The tool description adds no additional parameter semantics beyond what the schema already provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states '获取单封邮件的完整内容' (fetch complete content of a single email) and enumerates the returned data (subject, body, attachment metadata). This verb+resource pairing differentiates it from siblings like list_messages or search_messages, which operate at a different level of detail.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for retrieving full email content via the phrase '完整内容', but it does not explicitly state when to use this tool over alternatives like list_messages or search_messages, nor does it provide exclusions or prerequisites. Usage context is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_foldersA
列出邮箱中的所有文件夹(IMAP LIST)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not mention the read-only nature, performance implications, or any other behavioral traits beyond the basic listing action. The IMAP LIST mention adds implementation detail but not behavioral insight.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the primary purpose. Every word contributes value, and there is no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of an output schema, the description should clarify the return format or any limitations. It only states that all folders are listed, without explaining what the response looks like (e.g., folder names, hierarchy, or truncation). While the tool is simple, this leaves some ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema reflects this. The description correctly implies no inputs are needed, which aligns with the baseline of 4 for parameter-less tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('list') and resource ('all folders in the mailbox'), and explicitly names the protocol (IMAP LIST). This distinguishes it from sibling tools that deal with messages rather than folders.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives, nor are there any exclusions or prerequisites. The description simply states what it does without contextual placement among sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_messagesA
列出指定文件夹中的邮件(默认 INBOX,按 UID 倒序)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | 返回条数,默认 20,最大 100 | |
| folder | No | 文件夹路径,如 INBOX | |
| unseen_only | No | 仅未读邮件 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral details not in annotations: default INBOX and UID descending order. However, it does not disclose the return format (e.g., metadata vs full content), error handling, or whether it is read-only. With no annotations, the description carries the full burden but covers only basic behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the core action and includes key default/sort behavior. No redundant or extraneous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple listing tool, the description covers the essential context: the action, default folder, and sort order. The schema documents all parameters. However, with no output schema, the description does not explain what the response will contain (e.g., message IDs, subjects, pagination), leaving a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds minimal extra meaning beyond the schema, such as the default folder (INBOX) and sort order, but does not elaborate on parameter usage or edge cases.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('列出' = list) and resource ('邮件' = emails) with a scope ('指定文件夹' = specified folder), and it distinguishes this from siblings like search_messages and get_message by focusing on listing all messages in a folder.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies when to use the tool (to list emails in a folder) but does not explicitly mention alternatives or exclusions. It lacks guidance such as 'for searching, use search_messages' which would clarify selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_messagesB
按条件搜索邮件(IMAP SEARCH)
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | 发件人包含的字符串 | |
| limit | No | 返回条数,默认 20 | |
| since | No | 起始日期,ISO 8601,如 2025-01-01 | |
| folder | No | 文件夹路径,默认 INBOX | |
| subject | No | 主题包含的字符串 | |
| unseen_only | No | 仅未读 |
TDQS
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 only states the tool performs an IMAP SEARCH, but does not disclose whether it is read-only, what the return format is, or any limitations. This lack of behavioral context is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise phrase that conveys the core purpose without wasted words. It is appropriately front-loaded, though it could potentially include more detail without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of an output schema and annotations, the description is expected to compensate for missing behavioral details. It fails to explain what the search returns, how results are ordered, or any constraints beyond the parameter schema. This makes it incomplete for a tool that likely has nuanced behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 6 parameters. The description does not add any meaning beyond what the schema provides, which matches the baseline of 3 for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description '按条件搜索邮件(IMAP SEARCH)' clearly states the verb 'search', the resource '邮件' (emails), and the scope '按条件' (by conditions). It distinguishes this tool from siblings like list_messages and get_message by emphasizing conditional search, which is a unique capability.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when a user needs to search emails by specific criteria, but it does not explicitly state when to use this tool versus alternatives. There is no mention of alternatives or exclusions, so the guidance remains implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_messageA
通过 SMTP 发送邮件(环境变量 SMTP,如 smtp.exmail.qq.com:465)。text 与 html 至少填一项。
| Name | Required | Description | Default |
|---|---|---|---|
| cc | No | 抄送 | |
| to | Yes | 收件人,多个用逗号分隔或传数组 | |
| bcc | No | 密送 | |
| html | No | HTML 正文 | |
| text | No | 纯文本正文 | |
| subject | Yes | 邮件主题 | |
| reply_to | No | 回复地址 Reply-To |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses the SMTP environment dependency and the text/html constraint, but does not mention return values, error behavior, or side effects like sending delays or recipient validation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the primary action ('通过 SMTP 发送邮件') and then provides necessary constraints. It is concise with no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's 7 parameters and no output schema, the description provides essential operational context (SMTP env var, body condition) that complements the schema. It lacks explicit return/error information, but for a send tool this is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of parameters, so baseline is 3. The description adds the crucial constraint 'text 与 html 至少填一项' (at least one of text/html required), which is not captured in the schema and clarifies parameter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description '通过 SMTP 发送邮件' (send email via SMTP) clearly identifies the action (send) and resource (email), with a specific mechanism (SMTP). This distinguishes it from sibling tools focused on listing or searching messages.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context such as using the SMTP environment variable and the requirement that at least one of text/html must be filled. It doesn't explicitly name alternatives, but the purpose is distinct enough from siblings to imply when to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
5 tool updates
v1.0.0- First observed
get_message - First observed
list_folders - First observed
list_messages - First observed
search_messages - First observed
send_message
TDQS
Each tool has a distinct purpose: listing folders, listing messages, searching messages, fetching a single message, and sending. Even though list_messages and search_messages both return messages, their usage is clearly differentiated by the description (folder browsing vs. condition-based search).
All tool names follow the consistent verb_noun pattern: list_folders, list_messages, search_messages, get_message, send_message. There are no mixed conventions or vague verbs, making the API predictable.
With exactly 5 tools, the server is well-scoped for basic email operations. It covers the core actions (list, search, read, send) without unnecessary bloat or an overly thin surface.
The toolset covers reading and sending email, but lacks common email management operations such as deleting, moving, or marking messages as read/unread. This is a notable gap for a full email workflow, though an agent can still accomplish basic tasks.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Read, search, send, organize, draft and schedule email across your inboxes from any MCP client.
Manage Gmail end-to-end: search, read, send, draft, label, and organize threads. Automate workflow…
Read, send, file and search email in any Gmail, Microsoft 365 or IMAP mailbox, plus its calendar.
Email infrastructure for AI agents — send, receive, search, and reply to email over MCP.
Related MCP Servers
- AlicenseAqualityAmaintenanceProvides IMAP and SMTP capabilities, enabling developers to manage email services with seamless integration and automated workflows.18321BSD 3-Clause
- AlicenseNot gradedqualityDmaintenanceEnables email management through IMAP and SMTP protocols, supporting reading, sending, replying to emails with proper threading, and downloading attachments. Supports multiple email accounts with flexible configuration options.1BSD 3-Clause
- FlicenseBqualityDmaintenanceEnables comprehensive interaction with IMAP email accounts through 38 tools for reading, searching, and organizing messages. It supports advanced features like real-time mailbox monitoring via IDLE watch and automated email archiving.41-
- AlicenseBqualityDmaintenanceEnables AI to send and receive emails via SMTP/IMAP, supporting auto-configuration for major email providers like QQ, 163, Gmail, Outlook, and enterprise mail.75773MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/fuyouai/email-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server