ClaudePost
클로드포스트
Claude를 통해 원활한 이메일 관리 인터페이스를 제공하는 모델 컨텍스트 프로토콜(MCP) 서버입니다. 이 통합을 통해 Claude와의 자연어 대화를 통해 이메일을 직접 처리할 수 있으며, 검색, 읽기, 안전한 이메일 전송 등의 기능을 지원합니다.
기능 및 데모
이메일 검색 및 읽기
📧 날짜 범위 및 키워드로 이메일 검색
📅 일일 이메일 통계 보기
📝 스레딩 지원을 통해 전체 이메일 내용을 읽어보세요
이메일 작성 및 발송
✉️ CC 수신자 지원을 포함한 이메일 보내기
🔒 TLS를 통한 안전한 이메일 처리
Related MCP server: IMAP MCP Server
필수 조건
Python 3.12 이상
Gmail 계정(또는 다른 이메일 제공자)
Gmail을 사용하는 경우:
2단계 인증이 활성화되었습니다
앱별 비밀번호 생성됨
클로드 데스크톱 애플리케이션
설정
uv 설치:
지엑스피1
프로젝트를 복제하고 설정합니다.
# 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 Desktop 구성:
먼저 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가 올바르게 구성된 경우 서버가 시작됩니다.
수동 서버 관리가 필요 없습니다
Claude가 닫히면 서버가 중지됩니다.
클로드를 통한 사용
자연어 명령을 사용하여 이메일과 상호 작용할 수 있습니다. 몇 가지 예를 들면 다음과 같습니다.
이메일 검색
"지난주 이메일을 보여주세요"
"제목에 '회의'가 포함된 이메일 찾기"
"2024년 1월 1일부터 2024년 1월 7일까지 recruiting@linkedin.com 에서 보낸 이메일을 검색하세요"
"지난 달에 보낸 이메일 검색"
이메일 내용 읽기
"12345번 이메일 내용을 보여주세요"
"HR에서 보낸 마지막 이메일의 전체 내용은 무엇입니까?"
이메일 통계
"오늘 몇 개의 이메일을 받았나요?"
"지난주 일일 이메일 수를 보여주세요"
이메일 보내기
" john@example.com 으로 이메일을 보내고 싶습니다."
" team@company.com 으로 회의 확인서 보내기"
참고: 보안상의 이유로, 클로드는 실제로 이메일을 보내기 전에 항상 이메일 세부 정보를 표시하여 확인을 요청합니다.
프로젝트 구조
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 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.
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.-