imap-mcp-server
imap-mcp
소스 공개, 제품 아님. 이것은 Cloudflare Workers에서 실행되는 일반적인 IMAP → MCP 서버입니다. 코드를 읽고, 복사하고, 배울 수 있도록 MIT로 공개되었지만 — 정확히 하나의 사서함, 즉 개인 iCloud 계정을 위해 만들어졌고 그에 맞춰 실행됩니다. 지원 약속은 없습니다: 이슈는 분류되지 않으며, 풀 리퀘스트는 요청되지 않고, 릴리스도 없으며, 여기의 어떤 것도 다른 사람의 사용을 위해 버전 관리되지 않습니다. 유용하다면 포크하세요.
야심보다는 설계상 일반적입니다 — 호스트, 포트, 자격 증명은 상수가 아닌 구성이므로 — 모든 IMAP 서버에서 작동해야 합니다. 실제로 테스트된 것은 iCloud뿐입니다.
상태: 스캐폴드. 아직 기능적인 것은 구현되지 않았습니다. 두 워커 모두 설치, 린트, 타입체크, 테스트, 배포 드라이런을 통과하는 자리 표시자입니다. 로드맵을 참조하세요.
하는 일
사서함을 Cloudflare의 스토리지에 인덱싱한 다음, MCP 클라이언트에 검색 및 검색 도구로 제공합니다 — 그래서 모델은 매 쿼리마다 사서함 자체를 거치지 않고 15년치 메일에 대해 질문에 답할 수 있습니다.
┌────────────────────┐ IMAP over TLS ┌──────────────┐
│ imap-mcp-sync │ ───────────────▶ │ mailbox │
│ packages/sync │ ◀─────────────── │ (iCloud) │
│ cron, owns creds │ └──────────────┘
└─────────┬──────────┘
│ writes ▲ writes proxied over
▼ │ a service binding
┌────────────────────┐ │
│ D1 (+FTS5) and R2 │ │
└─────────┬──────────┘ │
│ reads │
▼ │
┌────────────────────┐────────────────┘ ┌──────────────┐
│ imap-mcp-server │ Streamable HTTP │ MCP client │
│ packages/mcp │ ◀───────────────── │ behind CF │
│ stateless, no creds │ Access │
└────────────────────┘ └──────────────┘두 개의 워커, 그리고 그 사이의 분할은 패키징 선택이 아니라 보안 설계입니다:
packages/sync(imap-mcp-sync)는 IMAP을 사용하는 시스템의 유일한 부분입니다. 앱 전용 비밀번호를 보유합니다 — iCloud에서 이 비밀번호는 SMTP 전송을 포함한 전체 사서함 접근 권한을 부여하므로 — 그 자격 증명은 정확히 한 곳에 존재합니다.packages/mcp(imap-mcp-server)는 상태 없는 읽기 전용입니다. 인덱스를 쿼리하며 사서함에는 절대 접근하지 않고, 몇 가지 쓰기 작업을 서비스 바인딩을 통해 동기화 워커로 프록시합니다. 자체 연결을 열지 않습니다.
Related MCP server: stalwart-mail-mcp
빠른 시작
pnpm install # installs both packages
pnpm run lint # biome check (lint + format)
pnpm run typecheck # wrangler types + tsc --noEmit
pnpm run test # vitest, inside workerd
pnpm run dead-code # knip
pnpm run build # wrangler deploy --dry-run, both workers패키지별로, packages/sync 또는 packages/mcp에서: pnpm run dev, pnpm run test:watch, pnpm run deploy.
구성
이 저장소는 공개되어 있으므로 배포별 값은 커밋되지 않습니다 — Cloudflare 계정 ID, 영역 태그, Cloudflare Access 팀 도메인 또는 애플리케이션 대상(AUD), 사서함 주소가 없습니다. 두 wrangler.jsonc 모두 account_id를 포함하지 않으며, MCP 워커는 라우트를 전혀 선언하지 않습니다.
제공해야 할 모든 것은 .env.example에 이름과 설명이 있습니다. .env로 복사하고 채우세요. 요약하면:
무엇 | 어디로 가는지 |
| 환경; wrangler가 직접 읽습니다 |
MCP 워커의 라우트 / 영역 |
|
|
|
|
|
|
|
로컬에서는 비밀번호가 패키지별 gitignored .dev.vars에 들어갑니다; 각각 복사할 .dev.vars.example이 있습니다.
두 워커 모두 기본적으로 도달 불가
workers_dev와 preview_urls는 두 wrangler.jsonc 파일 모두에서 false이며, MCP 워커는 라우트를 선언하지 않습니다. 따라서 새 배포는 인터넷에서 도달할 수 없습니다. 이것은 의도적입니다: 폴더 경계가 없으므로 MCP 엔드포인트는 기능적으로 전체 사서함에 대한 읽기 접근이므로, Cloudflare Access가 앞에 있기 전에는 도달 가능해져서는 안 됩니다. workers_dev: false가 없으면 워커는 라우트나 Access 정책이 무엇이든 <name>.<account>.workers.dev에서 활성화됩니다.
처음부터 배포하는 전체 가이드 — 비밀번호, Access 설정, 바인딩, 마이그레이션, 백필 — 는 아직 작성되지 않았습니다; 시스템의 나머지와 함께 제공됩니다.
로드맵
이 저장소의 이슈로 추적됩니다:
저장소 스캐폴드 — 이것 | |
내부 인터페이스 뒤에 IMAP 클라이언트 벤더링 | |
D1 스키마 및 마이그레이션 | |
트레이서: 하나의 폴더를 D1로 동기화 | |
동기화 경로를 위한 큐 팬아웃 | |
MCP 서버 및 | |
증분 동기화: 워터마크 및 | |
텍스트 추출과 함께 R2로 첨부 파일 | |
Access Managed OAuth로 MCP 엔드포인트 게이트 | |
| |
감사 로그와 함께 서비스 바인딩을 통한 쓰기 도구 | |
전체 백필 및 설정 가이드 |
스파이크는 전체 아키텍처가 의존했던 유일한 질문을 해결했습니다 — Cloudflare Worker가 iCloud에 IMAP을 말할 수 있는가? 가능합니다: 포트 993에서 TLS 및 LOGIN이 755ms, 폴더 나열, 메시지 가져오기 및 MIME 디코딩, 초안 추가 및 플래그 지정. 따라서 동기화 경로는 Worker이고 컨테이너로 이동하는 것은 없습니다. 설계를 제약하는 발견 사항 — CONDSTORE 순서, iCloud에 MOVE 없음, 콘텐츠에 SEARCH 사용 불가 — 은 영향을 받는 티켓에 기록되어 있습니다.
라이선스
MIT — LICENSE 참조.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceConnects multiple IMAP and SMTP mailboxes to MCP clients like ChatGPT without exposing credentials, enabling email search and thread retrieval via natural language.1Apache 2.0
- AlicenseNot gradedqualityCmaintenanceConnects AI agents to self-hosted Stalwart mail servers via a Cloudflare Worker and JMAP, enabling mailbox search, reading, listing, and two-step draft-and-send email operations through MCP.MIT
- AlicenseNot gradedqualityCmaintenanceEnables interaction with Gmail through MCP, supporting search, read, send, reply, forward, draft management, labels, and multiple accounts, deployed on Cloudflare Workers.MIT
- AlicenseNot gradedqualityCmaintenanceEnables connecting Gmail to MCP clients, allowing search, read, send, reply-all, forward, attachments, drafts, labels, and thread management across multiple Google accounts at once via a self-hosted Cloudflare Worker.MIT
Related MCP Connectors
Read, search, send, organize, draft and schedule email across your inboxes from any MCP client.
Hosted email MCP for AI agents with inboxes, send/receive, memory, recovery, and credits.
Cloudflare Workers MCP server: email-validator
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/lswith/imap-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server