Skip to main content
Glama
jdickey1

IMAP Email MCP Server

by jdickey1

Server Quality Checklist

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

  • Disambiguation5/5

    Every tool has a clearly distinct purpose with no ambiguity. For example, list_emails retrieves emails from a folder, while search_emails filters by content, and get_email fetches full content of a specific email. The draft-related tools (create_draft, get_draft, list_drafts, update_draft) are well-separated from email management tools, ensuring agents can easily select the right tool for each task.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern using snake_case, such as list_folders, create_draft, and send_email. This predictability makes the tool set easy to navigate and understand, with no deviations in naming conventions across the ten tools.

    Tool Count5/5

    With 10 tools, the server is well-scoped for email management via IMAP. Each tool earns its place by covering essential operations like listing, creating, retrieving, updating, and deleting emails and drafts, without being overly sparse or bloated for the domain.

    Completeness4/5

    The tool surface provides strong coverage for core email workflows, including CRUD operations for emails and drafts, folder management, and sending. A minor gap is the lack of tools for moving emails between folders or marking them as read/unread, but agents can work around this with the existing tools for basic email handling.

  • Average 3/5 across 10 of 10 tools scored.

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

    • 0 of 2 community issues answered or closed 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 full burden for behavioral disclosure. 'Send an email directly' implies a write operation that transmits an email, but it doesn't disclose critical traits: whether this requires specific permissions, if emails are sent immediately or queued, rate limits, error handling, or what happens on success/failure. The description is too minimal for a mutation tool with zero annotation coverage.

    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 extremely concise with just three words, front-loaded with the core action. There's zero wasted language, making it easy to parse quickly, though this conciseness comes at the cost of completeness.

    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 this is a mutation tool (sending emails) with no annotations and no output schema, the description is incomplete. It doesn't explain what the tool returns, error conditions, or behavioral nuances. For a 6-parameter tool that performs a potentially destructive action, more context is needed to guide safe and effective usage.

    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 fully documents all 6 parameters (to, subject, body, html, cc, bcc) with clear descriptions. The tool description adds no parameter information beyond what's in the schema, so it meets the baseline of 3 where the schema does the heavy lifting.

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

    Purpose3/5

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

    The description 'Send an email directly' clearly states the action (send) and resource (email), but it's vague about scope and lacks differentiation from siblings like 'create_draft' or 'update_draft'. It doesn't specify if this sends immediately versus scheduling, which would help distinguish it from draft-related tools.

    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?

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to choose 'send_email' over 'create_draft' for composing emails, or when to use it in conjunction with 'list_emails' or 'search_emails'. There's no context about prerequisites like authentication or email client setup.

    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 full burden. It states 'create' which implies a write operation, but doesn't disclose behavioral traits like whether this requires authentication, where the draft is stored (e.g., in a drafts folder), if it's immediately visible in email clients, or what happens on failure. For a mutation tool with zero annotation coverage, this is a significant gap in transparency.

    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, efficient sentence with zero waste: 'Create a new draft email'. It's front-loaded with the core action and resource, making it immediately scannable. Every word earns its place, and there's no redundant or verbose phrasing.

    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 the complexity (a mutation tool creating email drafts), lack of annotations, and no output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., a draft ID, success status, or error details), behavioral constraints, or integration context. For a tool with 6 parameters and mutation behavior, this minimal description leaves too much unspecified for reliable agent use.

    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 fully documents all 6 parameters with clear descriptions (e.g., 'to' as 'Recipient email address(es), comma-separated'). The description adds no additional parameter information beyond what's in the schema. According to guidelines, when schema coverage is high (>80%), the baseline is 3 even with no param info in the description.

    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 verb ('create') and resource ('new draft email'), making the purpose immediately understandable. It distinguishes from siblings like 'send_email' (which sends) and 'update_draft' (which modifies existing drafts). However, it doesn't specify that this creates a draft rather than a sent email, which is somewhat implied but could be more explicit.

    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?

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an email account), when to choose 'create_draft' over 'send_email' (for later editing vs. immediate sending), or how it relates to 'update_draft' (for modifying existing drafts). Without this context, the agent must infer usage from tool 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?

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool retrieves a draft but doesn't mention whether this is a read-only operation, what happens with invalid UIDs, or the response format. This is inadequate for a tool with potential error cases.

    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, efficient sentence with zero waste. It's front-loaded and appropriately sized for a simple tool, earning full marks for conciseness.

    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?

    For a retrieval tool with no annotations and no output schema, the description is incomplete. It doesn't explain what data is returned (e.g., email content, metadata) or error handling, leaving gaps in understanding the tool's behavior.

    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 the 'uid' parameter fully. The description adds no additional meaning beyond implying UID identifies a draft, which is minimal value. Baseline 3 is appropriate when schema does the heavy lifting.

    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 ('a specific draft email by UID'), making the purpose understandable. However, it doesn't distinguish this tool from its sibling 'get_email' (which likely retrieves non-draft emails), missing full differentiation.

    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?

    The description provides no guidance on when to use this tool versus alternatives like 'get_email' or 'list_drafts'. It lacks context about prerequisites (e.g., needing a valid UID) or exclusions, leaving usage unclear.

    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 provided, the description carries full burden for behavioral disclosure. It states the action but doesn't cover important aspects like whether this is a read-only operation, potential authentication needs, error handling for invalid UIDs, or rate limits. This leaves significant gaps for an agent.

    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 extremely concise with a single, clear sentence that states the core functionality upfront. There's no wasted verbiage or unnecessary elaboration, making it efficiently structured.

    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?

    For a tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what 'full email content' includes (e.g., headers, body, attachments) or the return format, leaving the agent with critical unknowns about the operation's behavior and results.

    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 fully documents both parameters. The description adds no additional parameter information beyond what's in the schema, meeting the baseline expectation but not providing extra value.

    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 verb ('Get') and resource ('full email content') with a specific mechanism ('by UID'), making the purpose unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'get_draft' or 'list_emails', which prevents a perfect score.

    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?

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to prefer this over 'list_emails' for retrieving a single email, or when 'get_draft' might be more appropriate for draft content, leaving usage context unclear.

    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 provided, the description carries the full burden of behavioral disclosure. It states the action ('List all draft emails') but lacks details on permissions, rate limits, pagination, or return format. This is inadequate for a tool that likely interacts with user data, leaving significant gaps in understanding its behavior.

    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, efficient sentence with zero waste—'List all draft emails' is front-loaded and directly conveys the core function. Every word earns its place, making it highly concise and well-structured.

    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 the lack of annotations and output schema, the description is incomplete. It doesn't address behavioral aspects like safety, data handling, or response format, which are crucial for a list operation. For a tool with minimal structured data, more context is needed to be fully helpful.

    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?

    The input schema has 100% description coverage, with the 'limit' parameter fully documented. The description adds no parameter-specific information beyond what the schema provides, so it meets the baseline of 3 for high schema coverage without compensating value.

    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 'List all draft emails' clearly states the verb ('List') and resource ('draft emails'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'list_emails' or 'get_draft' beyond the resource type, missing explicit scope or functional distinctions.

    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?

    The description provides no guidance on when to use this tool versus alternatives such as 'list_emails' (for non-draft emails) or 'get_draft' (for a specific draft). There's no mention of prerequisites, context, or exclusions, leaving usage entirely implied from the tool name 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?

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the search functionality but fails to describe key behaviors such as whether this is a read-only operation, how results are returned (e.g., pagination, format), error handling, or any rate limits. For a search tool with zero annotation coverage, this 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.

    Conciseness5/5

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

    The description is a single, efficient sentence that front-loads the core functionality ('Search emails') and specifies key parameters without unnecessary details. Every word earns its place, making it highly concise and well-structured for quick comprehension.

    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 the complexity of a search tool with 5 parameters, no annotations, and no output schema, the description is incomplete. It lacks information on behavioral traits (e.g., safety, performance), result format, and usage context, which are crucial for an agent to invoke the tool effectively in a real-world scenario.

    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 all 5 parameters with their types, defaults, and descriptions. The description adds minimal value by listing searchable fields ('subject, from, or body text'), but it doesn't explain parameter interactions (e.g., how multiple fields combine) or semantics beyond what the schema provides, aligning with the baseline score.

    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 tool's purpose with a specific verb ('Search') and resource ('emails'), and specifies searchable fields ('by subject, from, or body text'). However, it doesn't explicitly differentiate from sibling tools like 'list_emails' or 'get_email', which might provide similar functionality without search parameters.

    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?

    The description provides no guidance on when to use this tool versus alternatives like 'list_emails' (for unfiltered listing) or 'get_email' (for retrieving a specific email by ID). There's no mention of prerequisites, context, or exclusions, leaving the agent to infer usage based on the search capability 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?

    With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'deleting old and creating new,' which implies mutation and data replacement, but fails to detail permissions, side effects, error handling, or response format. This is inadequate for a mutation tool with zero annotation coverage.

    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, efficient sentence with zero wasted words, clearly front-loading the core action. It is appropriately sized for the tool's complexity.

    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 the tool's mutation nature, lack of annotations, and no output schema, the description is incomplete. It should explain more about the update process, potential impacts, and what to expect in return, but it only provides a high-level overview.

    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 fully documents all 7 parameters. The description adds no specific parameter information beyond the general update action, meeting the baseline of 3 where the schema handles the heavy lifting without extra value from the description.

    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 ('Update') and resource ('an existing draft'), distinguishing it from siblings like create_draft and get_draft. However, it doesn't specify what fields can be updated beyond the general concept, which keeps it from being a perfect 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?

    The description provides no guidance on when to use this tool versus alternatives like create_draft or send_email, nor does it mention prerequisites such as needing an existing draft UID. It lacks explicit usage context or exclusions.

    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 provided, the description carries the full burden of behavioral disclosure. It states what the tool does but fails to describe key behaviors like whether this is a read-only operation, if it requires specific permissions, how results are formatted, or if there are rate limits. This leaves significant gaps for an agent to understand how to interact with it safely.

    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, clear sentence that directly states the tool's purpose without any unnecessary words. It is front-loaded and wastes no space, making it highly efficient for an agent to parse.

    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 the lack of annotations and output schema, the description is incomplete. It doesn't address behavioral aspects like safety, permissions, or result format, which are crucial for a tool that interacts with an IMAP account. This leaves the agent with insufficient context to use the tool effectively.

    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 input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately doesn't mention parameters, which is efficient and avoids redundancy. A baseline of 4 is applied since the schema fully handles the parameter semantics.

    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 verb ('List') and resource ('all email folders/mailboxes in the IMAP account'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'list_drafts' or 'list_emails', which prevents a perfect score.

    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?

    The description provides no guidance on when to use this tool versus alternatives like 'list_emails' or 'list_drafts'. It lacks context about prerequisites, such as whether authentication is required or if there are any limitations on folder types listed.

    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 provided, the description carries full burden for behavioral disclosure. While 'delete' implies a destructive mutation, it doesn't specify whether the deletion is permanent or reversible, if it requires special permissions, or what happens on success/failure. This is inadequate for a destructive tool with zero annotation coverage.

    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, efficient sentence with zero waste. It's appropriately sized and front-loaded, directly stating the tool's purpose without unnecessary elaboration.

    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?

    For a destructive mutation tool with no annotations and no output schema, the description is incomplete. It lacks critical behavioral details (permanence, permissions, error handling) and doesn't explain the relationship with sibling tools, leaving significant gaps for agent understanding.

    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 both parameters (uid and folder) thoroughly. The description adds no additional meaning beyond what the schema provides, such as explaining UID format or folder hierarchy. Baseline 3 is appropriate when schema does the heavy lifting.

    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 'Delete an email by UID' clearly states the specific action (delete) and target resource (email), using the verb+resource pattern. It distinguishes from siblings like get_email, list_emails, or search_emails by specifying the destructive operation.

    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?

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing the email UID from list_emails or get_email), nor does it specify when not to use it (e.g., for drafts vs. sent emails).

    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 provided, the description carries full burden but only states basic functionality. It doesn't disclose behavioral traits like pagination, rate limits, authentication needs, error conditions, or what happens with invalid inputs. The description is minimal and lacks crucial operational context.

    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, efficient sentence that front-loads the core purpose. Every word earns its place with no redundancy or unnecessary elaboration. It's appropriately sized for a listing tool with good schema coverage.

    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?

    For a tool with 4 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain return format, pagination behavior, error handling, or authentication requirements. The schema covers parameters well, but the description fails to provide necessary operational context for effective use.

    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 all 4 parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema - it mentions 'optional filtering' but doesn't explain which parameters constitute filtering or their relationships.

    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 verb ('List') and resource ('emails'), specifying the scope ('from a folder') and optional filtering. It distinguishes from siblings like 'search_emails' by focusing on listing rather than searching, but doesn't explicitly contrast them.

    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 implies usage for listing emails from folders with filtering, but provides no explicit guidance on when to use this vs. alternatives like 'search_emails' or 'get_email'. It mentions optional filtering which gives some context, but lacks when-not scenarios or prerequisites.

    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

imap-email-mcp MCP server

Copy to your README.md:

Score Badge

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

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