ClaudePost
クロード・ポスト
Claude を通じてシームレスなメール管理インターフェースを提供する、モデルコンテキストプロトコル(MCP)サーバーです。この統合により、Claude との自然言語による会話を通じてメールを直接処理できるようになり、メールの検索、閲覧、安全な送信などの機能もサポートされます。
機能とデモ
メールの検索と閲覧
📧 日付範囲とキーワードでメールを検索
📅 毎日のメール統計を表示
📝 スレッドサポートでメールの全文を読む
メールの作成と送信
✉️ CC受信者のサポート付きメール送信
🔒 TLSによる安全なメール処理
Related MCP server: IMAP MCP Server
前提条件
Python 3.12以上
Gmailアカウント(または他のメールプロバイダー)
Gmail を使用している場合:
二要素認証が有効
アプリ固有のパスワードが生成されました
クロードデスクトップアプリケーション
設定
uvをインストールします:
# MacOS/Linux curl -LsSf https://astral.sh/uv/install.sh | sh # Remember to restart your terminal after installationプロジェクトのクローンを作成してセットアップします。
# 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 .プロジェクト ルートに
.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=587Claude デスクトップを設定します。
まず、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週間の毎日のメール数を表示」
メールを送信する
「 john@example.comにメールを送信したい」
「会議の確認をteam@company.comに送信してください」
注: セキュリティ上の理由から、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 ユーザーの場合:
Googleアカウントで2段階認証を有効にする
このアプリケーションのアプリパスワードを生成する
.envファイルでアプリパスワードを使用する
ログ記録
アプリケーションはemail_client.logに詳細情報を記録します。デバッグ情報やエラーメッセージについては、このファイルを確認してください。
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細については LICENSE ファイルを参照してください。
Available Tools
4 toolscount-daily-emailsB
Count emails received for each day in a date range
| Name | Required | Description | Default |
|---|---|---|---|
| end_date | Yes | End date in YYYY-MM-DD format | |
| start_date | Yes | Start date in YYYY-MM-DD format |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| email_id | Yes | The ID of the email to retrieve |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| end_date | No | End date in YYYY-MM-DD format (optional) | |
| folder | No | Folder to search in ('inbox' or 'sent', defaults to 'inbox') | |
| keyword | No | Keyword to search in email subject and body (optional) | |
| start_date | No | Start date in YYYY-MM-DD format (optional) |
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 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| cc | No | List of CC recipient email addresses (optional, confirmed) | |
| content | Yes | Confirmed email content | |
| subject | Yes | Confirmed email subject | |
| to | Yes | List of recipient email addresses (confirmed) |
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. 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.
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.
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.
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.
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.
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.
4 tool updates
v1.0.0- First observed
count-daily-emails - First observed
get-email-content - First observed
search-emails - First observed
send-email
TDQS
Scored across 4 tools
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.
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.
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.
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
Related MCP Connectors
Email infrastructure for AI agents — send, receive, search, and reply to email over MCP.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Email inboxes for AI agents: send, receive, reply, search, and manage threaded email over MCP.
Email safety MCP server. Detects phishing, prompt injection, CEO fraud for AI agents.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA 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.22GPL 3.0
- AlicenseNot gradedqualityFmaintenanceA 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.58MIT
- AlicenseNot gradedqualityDmaintenanceA 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.2MIT
- -licenseNot gradedqualityNot gradedmaintenanceA 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.-