Skip to main content
Glama
ZilongXue

ClaudePost

by ZilongXue

クロード・ポスト

Claude を通じてシームレスなメール管理インターフェースを提供する、モデルコンテキストプロトコル(MCP)サーバーです。この統合により、Claude との自然言語による会話を通じてメールを直接処理できるようになり、メールの検索、閲覧、安全な送信などの機能もサポートされます。

機能とデモ

メールの検索と閲覧

  • 📧 日付範囲とキーワードでメールを検索

  • 📅 毎日のメール統計を表示

  • 📝 スレッドサポートでメールの全文を読む

メールの作成と送信

  • ✉️ CC受信者のサポート付きメール送信

  • 🔒 TLSによる安全なメール処理

Related MCP server: IMAP MCP Server

前提条件

  • Python 3.12以上

  • Gmailアカウント(または他のメールプロバイダー)

  • Gmail を使用している場合:

  • クロードデスクトップアプリケーション

設定

  1. uvをインストールします:

    # MacOS/Linux
    curl -LsSf https://astral.sh/uv/install.sh | sh
    
    # Remember to restart your terminal after installation
  2. プロジェクトのクローンを作成してセットアップします。

    # Clone the repository
    git clone https://github.com/ZilongXue/claude-post.git
    cd claude-post
    
    # Create and activate virtual environment
    uv venv
    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
    
    # Install dependencies
    uv pip install -e .
  3. プロジェクト ルートに.envファイルを作成します。

    EMAIL_ADDRESS=your.email@gmail.com
    EMAIL_PASSWORD=your-app-specific-password
    IMAP_SERVER=imap.gmail.com
    SMTP_SERVER=smtp.gmail.com
    SMTP_PORT=587
  4. Claude デスクトップを設定します。

    まず、Claude for Desktopがインストールされていることを確認してください。最新バージョンはこちらからインストールできます。既にClaude for Desktopをお持ちの場合は、最新バージョンにアップデートされていることを確認してください。

    Claude Desktop 構成ファイルを開きます。

    # MacOS
    ~/Library/Application Support/Claude/claude_desktop_config.json
    
    # Create the file if it doesn't exist
    mkdir -p ~/Library/Application\ Support/Claude
    touch ~/Library/Application\ Support/Claude/claude_desktop_config.json

    次の構成を追加します。

    {
      "mcpServers": {
        "email": {
          "command": "/Users/username/.local/bin/uv",
          "args": [
            "--directory",
            "/path/to/claude-post/src/email_client",
            "run",
            "email-client"
          ]
        }
      }
    }

    /Users/usernameと/path/to/claude-post実際のパスに置き換えます。

    設定を更新した後、変更を有効にするために Claude Desktop を再起動します。

サーバーの実行

サーバーはClaude Desktopを通じて自動的に実行されます。

  • 正しく設定されていれば、Claude の起動時にサーバーが起動します。

  • 手動によるサーバー管理は不要

  • クロードが閉じられるとサーバーが停止します

クロードを通じての使用

自然言語コマンドを使ってメールを操作できます。以下に例をいくつか示します。

メールを検索

  • 「先週のメールを表示」

  • 「件名に「会議」が含まれるメールを検索」

  • 「2024年1月1日から2024年1月7日までのrecruiting@linkedin.comからのメールを検索」

  • 「先月送信したメールを検索」

メールの内容を読む

  • 「メール #12345 の内容を見せてください」

  • 「人事部からの最後のメールの全文は何ですか?」

メール統計

  • 「今日は何通のメールを受け取りましたか?」

  • 「過去1週間の毎日のメール数を表示」

メールを送信する

注: セキュリティ上の理由から、Claude は実際にメールを送信する前に、必ず確認のためにメールの詳細を表示します。

プロジェクト構造

claude-post/
├── pyproject.toml
├── README.md
├── LICENSE
├── .env                    # Not included in repo
├── .python-version        # Python version specification
└── src/
    └── email_client/
        ├── __init__.py
        ├── __main__.py
        └── server.py       # Main implementation

セキュリティノート

  • メインアカウントのパスワードの代わりにアプリ固有のパスワードを使用する

  • Gmail ユーザーの場合:

    1. Googleアカウントで2段階認証を有効にする

    2. このアプリケーションのアプリパスワードを生成する

    3. .envファイルでアプリパスワードを使用する

ログ記録

アプリケーションはemail_client.logに詳細情報を記録します。デバッグ情報やエラーメッセージについては、このファイルを確認してください。

ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細については LICENSE ファイルを参照してください。

Available Tools

4 tools
count-daily-emailsB

Count emails received for each day in a date range

ParametersJSON Schema
NameRequiredDescriptionDefault
end_dateYesEnd date in YYYY-MM-DD format
start_dateYesStart date in YYYY-MM-DD format

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, description carries full burden. It does not disclose scope (e.g., all folders, spam), side effects, rate limits, or output format. Minimal behavioral context beyond the basic operation.

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?

Single sentence, zero waste, front-loaded with verb and resource.

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?

Missing output format (array of date-count objects), scope (which mailbox), and assumptions about missing days. No output schema to compensate.

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%, so baseline is 3. Description adds no extra meaning beyond schema; it implies date range but doesn't clarify inclusive/exclusive bounds or format validation.

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 'Count emails received for each day in a date range' uses a specific verb ('count') and resource ('emails') and clearly distinguishes from sibling tools like 'search-emails' or 'send-email'.

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 on when to use this tool versus alternatives. It does not mention when not to use it or compare to other tools like 'search-emails' for broader queries.

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

get-email-contentB

Get the full content of a specific email by its ID

ParametersJSON Schema
NameRequiredDescriptionDefault
email_idYesThe ID of the email to retrieve

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, so the description must carry the full burden. It says 'full content' but does not specify whether that includes attachments, headers, or metadata. No mention of permissions, rate limits, or destructive potential.

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 with no redundant words. It is front-loaded with the action and resource.

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?

Given the low complexity (1 parameter, no output schema), the description is minimally adequate but lacks details on what 'full content' includes. It does not compensate for the missing output schema.

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 description adds no additional meaning beyond what the schema already provides for email_id. It does not specify the format or source of the ID.

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 states the action (Get), resource (full content of an email), and the identifier (by its ID). It distinguishes from siblings like search-emails (which lists) and forward-email (which sends).

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 on when to use this tool versus alternatives, such as after using search-emails to find an email ID, or what prerequisites exist (e.g., email must exist).

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

search-emailsC

Search emails within a date range and/or with specific keywords

ParametersJSON Schema
NameRequiredDescriptionDefault
end_dateNoEnd date in YYYY-MM-DD format (optional)
folderNoFolder to search in ('inbox' or 'sent', defaults to 'inbox')
keywordNoKeyword to search in email subject and body (optional)
start_dateNoStart date in YYYY-MM-DD format (optional)

TDQS

C2.9/5.0
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 search functionality but lacks critical details: it doesn't specify whether this is a read-only operation, what permissions are required, how results are returned (e.g., pagination, format), 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 purpose ('search emails') and succinctly lists the search criteria. There's no wasted verbiage or redundancy, making it easy for an agent to parse quickly.

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 for a search tool. It doesn't explain what the tool returns (e.g., email summaries, IDs, full content), how results are structured, or any behavioral constraints. This leaves the agent with insufficient context to use the tool effectively beyond basic parameter input.

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%, with all parameters well-documented in the input schema (e.g., date formats, folder options, keyword usage). The description adds minimal value beyond the schema by implying date-range and keyword filtering but doesn't provide additional syntax or format details. This meets the baseline for high schema coverage.

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 specific verbs ('search emails') and resources ('emails'), and specifies search criteria ('within a date range and/or with specific keywords'). However, it doesn't explicitly differentiate from sibling tools like 'count-daily-emails' or 'get-email-content', 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 'count-daily-emails' (for counting) or 'get-email-content' (for retrieving specific content). There's no mention of prerequisites, exclusions, or comparative use cases, leaving the agent to infer usage from the purpose alone.

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

send-emailA

CONFIRMATION STEP: Actually send the email after user confirms the details. Before calling this, first show the email details to the user for confirmation. Required fields: recipients (to), subject, and content. Optional: CC recipients.

ParametersJSON Schema
NameRequiredDescriptionDefault
ccNoList of CC recipient email addresses (optional, confirmed)
contentYesConfirmed email content
subjectYesConfirmed email subject
toYesList of recipient email addresses (confirmed)

TDQS

A4.1/5.0
Behavior3/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. It discloses the confirmation requirement and required/optional fields, which are behavioral traits. However, it doesn't mention other important aspects like authentication needs, rate limits, error handling, or what happens after sending (e.g., success confirmation, delivery status). For a mutation tool with zero annotation coverage, this leaves significant gaps.

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 appropriately sized and front-loaded with the most critical information (confirmation step and required fields). Every sentence earns its place by providing essential workflow guidance and parameter information without redundancy or unnecessary elaboration.

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?

Given this is a mutation tool with no annotations and no output schema, the description should do more. It covers the confirmation workflow and parameter basics adequately, but lacks information about what happens after sending (response format, success indicators, error conditions). For a tool that performs an irreversible action like sending emails, this represents a meaningful gap in completeness.

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 all 4 parameters. The description adds minimal value by listing required fields (to, subject, content) and optional CC recipients, but doesn't provide additional semantic context beyond what's in the schema descriptions (e.g., format expectations, constraints). Baseline 3 is appropriate when the 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 clearly states the specific action ('send the email') and resource ('email'), distinguishing it from sibling tools like count-daily-emails, get-email-content, and search-emails which are read-only operations. It explicitly mentions the tool's role in the email workflow.

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

Usage Guidelines5/5

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

The description provides explicit guidance on when to use this tool: 'after user confirms the details' and 'Before calling this, first show the email details to the user for confirmation.' It clearly establishes a prerequisite workflow step, distinguishing it from alternatives that might send emails without confirmation.

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.

  1. 4 tool updatesv1.0.0
    • First observedcount-daily-emails
    • First observedget-email-content
    • First observedsearch-emails
    • First observedsend-email

TDQS

A3.5/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clearly distinct purpose with no overlap: count-daily-emails aggregates email statistics, get-email-content retrieves a specific email's full content, search-emails finds emails based on criteria, and send-email handles email composition and sending. The descriptions clearly differentiate their functions, making misselection unlikely.

Naming Consistency4/5

The tool names follow a consistent verb-noun pattern with hyphens (e.g., count-daily-emails, get-email-content), which is readable and predictable. The minor deviation is that send-email uses a simpler noun form (email instead of email-content or similar), but this does not break the overall consistency significantly.

Tool Count5/5

With 4 tools, this server is well-scoped for email management, covering key operations: counting, retrieving, searching, and sending emails. Each tool earns its place by addressing a distinct aspect of the domain without being overly sparse or bloated.

Completeness4/5

The tool set provides good coverage for core email workflows, including read (count, get, search) and write (send) operations. A minor gap is the lack of update or delete tools for managing existing emails, but agents can work around this, and the surface is largely complete for the stated purpose.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that enables AI assistants like Claude to interact with Gmail through natural language, providing comprehensive email management capabilities including sending, reading, organizing, searching, and managing drafts and labels.
    22
    GPL 3.0
  • A
    license
    Not graded
    quality
    F
    maintenance
    A Model Context Protocol server that enables AI assistants to access and manage email through IMAP, supporting browsing, searching, reading, and organizing emails while learning user preferences over time.
    58
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that enables Claude AI to interact with Gmail, supporting email sending, reading, searching, labeling, draft management, and batch operations through natural language commands.
    2
    MIT
  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    A Model Context Protocol server that enables Claude to interact with Gmail through a secure OAuth2 connection, providing email management capabilities like listing, sending, deleting, and organizing emails.
    -