Skip to main content
Glama
evamardin

Universal Email MCP Server

by evamardin

Server Quality Checklist

58%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v1.0.0

  • Disambiguation4/5

    Most tools have clearly distinct purposes, but setup_email_account and configure_email_server overlap conceptually since both deal with server configuration. The descriptions help separate auto vs manual setup, so confusion is minor.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun snake_case pattern: send_, get_, setup_, list_, configure_, test_. This makes the toolset predictable and easy to navigate.

    Tool Count5/5

    7 tools is well-scoped for a universal email MCP server. Each tool covers a distinct part of the email workflow—account setup, configuration, testing, sending, and reading—without unnecessary bloat.

    Completeness4/5

    Core email workflows are covered: sending, retrieving recent messages, reading content, and account configuration/testing. Minor gaps exist, such as search, attachments, or folder management, but the current surface supports practical usage.

  • Average 3.1/5 across 7 of 7 tools scored. Lowest: 2.1/5.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 0 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior2/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 disclosing behavioral traits. It only states 'send email' and does not mention side effects (e.g., email is irrevocably sent), required prior configuration, authentication needs, or handling of failures. The mutation-like nature of sending is implied by the name, but no additional behavioral context is provided.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness2/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is extremely short—only four Chinese characters—which is under-specification rather than effective conciseness. It does not earn its place because it adds negligible value over the tool name. A useful description would include at least one sentence on purpose or usage, so the brevity is a deficiency.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness1/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    The tool has 7 parameters, no output schema, and no annotations, yet the description provides no context about prerequisites, expected return values, or when to use it. An agent cannot determine whether an email account must be set up first, what happens on success or failure, or how html relates to text. This is completely inadequate for a tool of this complexity.

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

    Parameters3/5

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

    Schema description coverage is 100%, so all seven parameters have meaningful Chinese descriptions in the input schema. The description itself adds no parameter information, but the schema already documents each field (to, cc, subject, html, text, attachments, etc.). Baseline 3 is appropriate since the schema carries the semantic weight.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose2/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description '发送邮件' is a direct translation of the tool name 'send_email' and adds no new semantic information. It restates the name rather than specifying what the tool actually does, which is a tautology. While it conveys the general action of sending email, it fails to clarify scope or distinguish behavior beyond the name itself.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided about when to use this tool versus alternatives like setup_email_account or configure_email_server. The description does not mention prerequisites, such as having a configured email account, nor does it exclude cases where other tools are more appropriate. There is no context or comparison to siblings.

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

  • Behavior2/5

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

    With no annotations, the description carries the full burden of behavior disclosure, but it only restates the basic retrieve action. It does not disclose whether emails are marked as read, whether an account must already be configured, what the returned list contains, or any error/rate-limit behavior.

    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 description is a single, front-loaded sentence with no wasted words. It is appropriately sized for a simple list-retrieval tool, though it could include one phrase distinguishing it from get_email_content without becoming verbose.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given no output schema, no annotations, and a sibling setup_email_account that hints at prerequisites, the description is incomplete. It does not state what the returned email list looks like, that an account setup may be required, or how the days/limit parameters affect results beyond schema defaults.

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

    Parameters3/5

    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 no real parameter-level meaning beyond the schema; it only implies the default window, which the days parameter already documents with '默认3天'.

    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 the action (get) and resource (email list), which distinguishes it from siblings like send_email (sends) and get_email_content (retrieves one email's content). It loses a point because it hard-codes 'three days' while the days parameter allows customization, making the stated scope slightly narrower than actual behavior.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided about when to use this tool versus alternatives. There is no mention that get_email_content is for reading a specific email's details, or that setup_email_account is a prerequisite. The agent must infer usage from sibling names alone.

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

  • Behavior2/5

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

    没有任何 annotations,描述需承担全部行为披露责任。它只透露了自动识别和配置服务器,但未说明操作是否有副作用、会写入哪些账号配置、密码如何被使用或存储、自动识别失败时会发生什么。对这些关键行为完全沉默。

    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?

    整句仅一句话,信息密度高且先给出主行为再说明自动配置能力,没有冗余内容。但过于简短导致行为细节缺失,所以未给5分。

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    该工具涉及账号配置和凭据处理,且没有 output schema 说明调用结果,也没有 annotations 覆盖安全性。描述缺少返回/结果形式、配置生效范围、与 configure_email_server 的分工等关键上下文,代理难以判断调用后的状态。

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

    Parameters3/5

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

    input schema 对 3 个参数均有 description,覆盖率为 100%,因此基础分为 3。描述中的“自动识别邮箱类型并配置服务器”与 schema 中 provider 的“不填写则自动识别”语义一致,但未额外补充参数格式、约束或交互关系。

    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?

    描述使用明确动词“设置”和宾语“邮箱账号”,并补充了“自动识别邮箱类型并配置服务器”这一核心行为,代理能知道该工具做什么。但与兄弟工具 configure_email_server 存在语义重叠,未做区分,因此不到5分。

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    描述没有说明何时该用本工具而不是 configure_email_server、list_supported_providers 或 test_email_connection。也没有给出前提条件(如是否需要授权码、是否必须先列出支持提供商)。代理只能靠猜测选择工具。

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

  • Behavior2/5

    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 says 'test email server connection' and does not state whether it sends a probe email, checks authentication, modifies any state, or how results/errors are returned.

    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 description is a single concise sentence with no wasted words, and the core purpose is front-loaded. It is somewhat under-specified, but as a concise statement it is clean and scannable.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    The tool is simple, but there is no output schema or annotations, and the description does not explain what a successful test looks like, what happens when testType is omitted, or what underlying behavior is being verified. An agent would need more context to interpret the result correctly.

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

    Parameters3/5

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

    Schema description coverage is 100%, and the testType parameter already has a clear description and enum values, so the baseline is 3. The description itself adds no additional parameter semantics, but the schema adequately covers the meaning of smtp, imap, and both.

    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 a specific verb ('test') and resource ('email server connection'), and the name aligns with that. It is distinguishable from siblings like send_email, get_recent_emails, and configure_email_server, though it does not mention the SMTP/IMAP scope until the schema is read.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    There is no guidance on when to use this tool versus the sibling tools, such as configure_email_server or setup_email_account. It also does not explain prerequisites, such as whether an email account must already be configured before testing.

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

  • Behavior2/5

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

    No annotations are provided, so the description bears the full burden of disclosing behavior. It only says 'configure', which implies mutation, but does not describe side effects, whether existing settings are overwritten, whether credentials are stored, or whether a connection test occurs.

    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 description is a single compact sentence with the core operation front-loaded and the audience note at the end. It has no wasted words, though it is arguably so short that it under-informs.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    This is an 8-parameter mutating tool with no annotations and no output schema. The description is too thin to make clear the tool's effects, prerequisites, required permissions, or relationship to setup_email_account, leaving an agent under-equipped to invoke it confidently.

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

    Parameters3/5

    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 every parameter. The description adds no additional parameter-level meaning beyond labeling the configuration as manual and advanced.

    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 a verb and resource: manually configure email server settings. The word '手动' (manual) hints at a distinction from automated setup such as setup_email_account, but it does not explicitly name the sibling alternative.

    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?

    It implies the tool is for advanced users who need manual control rather than automatic setup, giving some context. However, it does not explicitly state when to use this instead of setup_email_account or when not to use it.

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

  • Behavior2/5

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

    There are no annotations, so the description must communicate behavioral traits. '获取' implies read-only, but the description does not state that it has no side effects, what fields are returned, how errors/not-found are handled, or whether the content is plain text/HTML. This is a significant gap for a tool with no annotation support.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The entire description is one short, front-loaded sentence without filler or redundancy. Every word contributes to conveying the core operation.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a one-parameter getter, the core invocation is clear. However, with no output schema and no annotations, the description should state what '详细内容' includes (e.g., headers, body, attachments) or clarify the return behavior. It is minimally adequate but leaves the agent to assume the result shape.

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

    Parameters3/5

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

    Schema coverage is 100% and the uid parameter is already described as '邮件唯一标识符'. The tool description adds only that the target is '指定邮件', which does not meaningfully change the agent's understanding of the parameter beyond the schema.

    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?

    The description '获取指定邮件的详细内容' clearly identifies a specific action (retrieve) and resource (detailed content of a specified email). The word '指定' distinguishes it from get_recent_emails, and the sibling set makes this the obvious getter for a single pre-identified email.

    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 use case is implied rather than explicit: call this when you have a specific email uid and need its full contents. However, the description does not name alternatives such as get_recent_emails or state conditions when one should be preferred.

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

  • Behavior3/5

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

    There are no annotations, so the description carries the behavioral burden. The verb 'list' signals a read-only operation, but the description does not add context about whether authentication is required, whether the list is static or dynamic, or what the output structure looks like. It is minimally transparent but lacks depth.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, short, front-loaded sentence that names the action and the resource with no wasted words. It is appropriately sized for such a simple tool.

    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 tool's simplicity—zero parameters, no output schema, and a narrow purpose—the description is sufficiently complete for an agent to select and invoke it correctly. It clearly states what will be returned conceptually (the list of supported email providers), though a bit more detail about the result format would have pushed it to a 5.

    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?

    The tool has zero parameters and the schema coverage is effectively complete, so the description does not need to explain parameter behavior. The baseline for no parameters is 4, and the description correctly avoids inventing unnecessary parameter details.

    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?

    The description uses the specific verb 'list' with a clear resource ('supported email providers'), which exactly matches the tool name and distinguishes it from the sibling tools that send, fetch, set up, configure, or test. An agent can immediately understand what this tool does and why it exists.

    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 clearly implies this is the tool to call when an agent needs to know which email providers are available. It does not explicitly mention when not to use it or name alternatives, but none of the sibling tools perform this listing function, so the context is clear enough with no real exclusions needed.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

email-mcp MCP server

Copy to your README.md:

Score Badge

email-mcp MCP server

Copy to your README.md:

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/evamardin/email-mcp'

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