Proton Mail Bridge MCP
____ ____ ___ _____ ___ _ _ __ __ _ ___ _
| _ \| _ \ / _ \_ _/ _ \| \ | | | \/ | / \ |_ _| |
| |_) | |_) | | | || || | | | \| | | |\/| | / _ \ | || |
| __/| _ <| |_| || || |_| | |\ | | | | |/ ___ \ | || |___
|_| |_| \_\\___/ |_| \___/|_| \_| |_| |_/_/ \_\___|_____|
Bridge Client · CLI + Claude Desktop MCP for Proton MailProton Mail Bridge 클라이언트
Proton Bridge를 기반으로 구축된 Proton Mail용 풀 기능 CLI 및 Claude Desktop MCP입니다.
소개
Proton Mail Bridge 클라이언트는 프로그래밍 방식으로 Proton Mail을 사용할 수 있는 두 가지 방법을 제공합니다.
CLI — MCP 인터페이스와 완벽하게 호환되는 터미널 클라이언트입니다. 명령줄에서 직접 읽기, 검색, 보내기, 초안 작성, 보관, 폴더 관리, 스레드 분류 및 진단을 수행할 수 있습니다. 본문은 stdin을 통해 파이프할 수 있습니다. 출력은 사람이 읽을 수 있는 형식 또는 --json 형식으로 제공됩니다.
MCP 서버 — 동일한 기능을 Model Context Protocol 서버로 노출하여, Proton Bridge가 실행 중인 동일한 머신에서 Claude Desktop이 모든 채팅에서 Proton Mail을 읽고 관리할 수 있도록 합니다.
두 인터페이스 모두 Proton Bridge IMAP 및 SMTP, 로컬 SQLite 인덱스, 감사 로그라는 동일한 백엔드를 공유합니다. 호스팅된 릴레이, 원격 URL, 사용자의 Proton 계정 외의 클라우드 의존성이 없습니다.
사전 요구 사항
Node.js 18 이상
Proton Bridge 설치 및 로그인 완료
Bridge 정보: IMAP 호스트/포트, SMTP 호스트/포트, 사용자 이름, Bridge 비밀번호
기본 로컬 Bridge 주소: IMAP 127.0.0.1:1143, SMTP 127.0.0.1:1025
설치
git clone https://github.com/googlarz/proton-mail-bridge-client.git
cd proton-mail-bridge-client
npm install
npm run build설치 후 proton-mail-bridge-client(및 proton-mail-bridge) 바이너리를 저장소에서 사용할 수 있습니다.
시스템 전체 설치: npm install -g .
CLI
proton-mail-bridge-client <command> [options]모든 명령은 기계가 읽을 수 있는 출력을 위해 --json을 지원합니다.
읽기
proton-mail-bridge-client emails --folder INBOX --limit 25
proton-mail-bridge-client read INBOX::25642
proton-mail-bridge-client search "invoice" --limit 10
proton-mail-bridge-client search --live --from openai.com
proton-mail-bridge-client attachments INBOX::25642분류
proton-mail-bridge-client digest
proton-mail-bridge-client threads "quarterly review"
proton-mail-bridge-client actionable
proton-mail-bridge-client followups
proton-mail-bridge-client thread-brief <threadId>
proton-mail-bridge-client document-threads --category invoice
proton-mail-bridge-client meeting-context alice@example.com작성 및 보내기
proton-mail-bridge-client send --to bob@example.com --subject "Hey" --body "Hello"
echo "Hello" | proton-mail-bridge-client send --to bob@example.com --subject "Hey"
proton-mail-bridge-client reply INBOX::25642 --body "On it."
proton-mail-bridge-client reply INBOX::25642 --reply-all --body "On it."
proton-mail-bridge-client forward INBOX::25642 --to carol@example.com메일함 작업
proton-mail-bridge-client move INBOX::25642 Folders/Archive
proton-mail-bridge-client archive INBOX::25642
proton-mail-bridge-client trash INBOX::25642
proton-mail-bridge-client restore Trash::25642
proton-mail-bridge-client mark-read INBOX::25642
proton-mail-bridge-client mark-read INBOX::25642 --unread
proton-mail-bridge-client star INBOX::25642
proton-mail-bridge-client delete INBOX::25642
proton-mail-bridge-client batch archive INBOX::100,INBOX::101,INBOX::102
proton-mail-bridge-client thread-action <threadId> archive폴더
proton-mail-bridge-client folders
proton-mail-bridge-client create-folder Folders/Receipts
proton-mail-bridge-client rename-folder Folders/Receipts Folders/Bills
proton-mail-bridge-client delete-folder Folders/Bills초안
proton-mail-bridge-client drafts
proton-mail-bridge-client draft-create --to bob@example.com --subject "Draft" --body "..."
proton-mail-bridge-client draft-read <id>
proton-mail-bridge-client draft-update <id> --subject "Updated subject"
proton-mail-bridge-client draft-reply INBOX::25642 --body "Will do."
proton-mail-bridge-client draft-forward INBOX::25642 --to carol@example.com
proton-mail-bridge-client draft-sync <id>
proton-mail-bridge-client draft-send <id>
proton-mail-bridge-client draft-delete <id>
proton-mail-bridge-client remote-drafts분석 및 진단
proton-mail-bridge-client stats
proton-mail-bridge-client analytics
proton-mail-bridge-client contacts
proton-mail-bridge-client volume-trends --days 14
proton-mail-bridge-client watch --timeout 30
proton-mail-bridge-client test-email you@example.com
proton-mail-bridge-client doctor
proton-mail-bridge-client status
proton-mail-bridge-client sync --folder INBOX --limit 150MCP 도구 패스스루
모든 MCP 도구는 CLI에서 직접 호출할 수도 있습니다:
proton-mail-bridge-client tools
proton-mail-bridge-client tool get_connection_status --json
proton-mail-bridge-client tool search_indexed_emails --args '{"query":"invoice","limit":3}'환경
CLI와 MCP 서버 모두 동일한 환경 변수를 읽습니다:
export PROTONMAIL_USERNAME='you@proton.me'
export PROTONMAIL_PASSWORD='your-bridge-password'
export PROTONMAIL_IMAP_HOST='127.0.0.1'
export PROTONMAIL_IMAP_PORT='1143'
export PROTONMAIL_IMAP_SECURE='false'
export PROTONMAIL_SMTP_HOST='127.0.0.1'
export PROTONMAIL_SMTP_PORT='1025'
export PROTONMAIL_DATA_DIR="$HOME/.proton-mail-bridge-client"파일 또는 명령을 통한 선택적 비밀 정보(쉘에 원시 자격 증명이 노출되는 것을 방지):
export PROTONMAIL_USERNAME_FILE='/path/to/user.txt'
export PROTONMAIL_PASSWORD_FILE='/path/to/pass.txt'
# or
export PROTONMAIL_USERNAME_COMMAND='pass proton/username'
export PROTONMAIL_PASSWORD_COMMAND='pass proton/password'전체 런타임 플래그:
export PROTONMAIL_READ_ONLY='false'
export PROTONMAIL_ALLOW_SEND='true'
export PROTONMAIL_ALLOW_REMOTE_DRAFT_SYNC='true'
export PROTONMAIL_ALLOWED_ACTIONS='mark_read,mark_unread,star,unstar,archive,trash,restore'
export PROTONMAIL_AUTO_SYNC='true'
export PROTONMAIL_STARTUP_SYNC='true'
export PROTONMAIL_SYNC_INTERVAL_MINUTES='5'
export PROTONMAIL_IDLE_WATCH='true'
export PROTONMAIL_IDLE_MAX_SECONDS='30'Claude Desktop 설정
Proton Mail Bridge 클라이언트를 Claude Desktop과 함께 사용하려면 가이드 마법사를 실행하세요:
npm run setup:claude-desktop이 마법사는 다음을 수행합니다:
로컬 Bridge 포트 확인
Bridge 사용자 이름 및 비밀번호 요청
프로젝트 빌드
안정적인 시스템 전체 런타임 설치
Claude Desktop MCP 구성 항목 작성
설정 후: Claude Desktop을 다시 시작하고 Proton Bridge를 열어둔 상태에서 + → Connectors → proton-mail-bridge를 확인하세요.
런타임 설치 위치:
macOS:
~/Library/Application Support/Proton Mail Bridge ClientLinux:
~/.local/share/proton-mail-bridge-clientWindows:
%APPDATA%\Proton Mail Bridge Client
업데이트
git pull
npm run update:claude-desktop수동 Claude Desktop 구성
{
"mcpServers": {
"proton-mail-bridge": {
"command": "node",
"args": ["/path/to/runtime/dist/index.js"],
"cwd": "/path/to/runtime",
"env": {
"PROTONMAIL_USERNAME": "you@proton.me",
"PROTONMAIL_PASSWORD": "your-bridge-password",
"PROTONMAIL_IMAP_HOST": "127.0.0.1",
"PROTONMAIL_IMAP_PORT": "1143",
"PROTONMAIL_IMAP_SECURE": "false",
"PROTONMAIL_SMTP_HOST": "127.0.0.1",
"PROTONMAIL_SMTP_PORT": "1025"
}
}
}
}macOS 참고
macOS에서 better-sqlite3는 현재 머신용으로 빌드된 네이티브 바이너리여야 합니다. 설치 프로그램이 이를 자동으로 처리합니다. 다른 환경에서 복원하거나 네이티브 모듈 충돌이 발생하면 npm run update:claude-desktop을 실행하세요.
신뢰 및 안전
완전히 로컬에서 실행 — 호스팅된 릴레이나 원격 URL이 없습니다.
사용자의 머신에서 Proton Bridge를 통해서만 Proton Mail과 통신합니다.
PROTONMAIL_READ_ONLY=true는 모든 쓰기 작업을 비활성화합니다.PROTONMAIL_ALLOW_SEND=false는 다른 쓰기 작업에 영향을 주지 않고 SMTP 전송만 비활성화합니다.PROTONMAIL_ALLOWED_ACTIONS는 허용되는 메일함 변경 작업을 제어합니다.batch_email_action및apply_thread_action모두dryRun: true를 지원합니다.*_FILE및*_COMMAND비밀 정보를 지원하여 구성이나 쉘 기록에 원시 자격 증명이 나타나지 않도록 합니다.시스템 폴더(INBOX, Sent, Trash, Spam, Archive, All Mail)는 실수로 삭제되지 않도록 보호됩니다.
Claude의 기본 Gmail 커넥터와 비교
기능 | Gmail 커넥터 | Proton Mail Bridge 클라이언트 |
설정 | 퍼스트 파티 OAuth | Proton Bridge + 이 클라이언트 필요 |
검색 및 읽기 | 기본 Claude UX | IMAP + 로컬 인덱스 |
이메일 보내기 | 아니요 | 예 |
초안 워크플로우 | 더 나은 퍼스트 파티 UX | 원격 초안 동기화를 포함한 전체 제어 |
첨부 파일 콘텐츠 | 제한적 | 가져오기 및 저장 |
메일함 작업 | 제한적 | 전체(별표, 이동, 보관, 휴지통, 복원, 삭제, 일괄 처리) |
폴더 관리 | 아니요 | 예(생성, 이름 변경, 삭제) |
CLI 액세스 | 아니요 | MCP와 완벽 호환 |
원본 메시지 링크 | 더 나음 | MCP 리소스 링크만 |
기본 스레드/라벨 | Gmail 기본 | IMAP에서 재구성 |
도구 인터페이스
보내기
send_email · send_test_email · reply_to_email · forward_email
초안
create_draft · create_reply_draft · create_forward_draft · create_thread_reply_draft · list_drafts · list_remote_drafts · get_draft · update_draft · sync_draft_to_remote · send_draft · delete_draft
읽기
get_emails · get_email_by_id · search_emails · list_attachments · get_attachment_content · save_attachments · save_attachment
분류
get_folders · sync_folders · get_labels · get_threads · get_thread_by_id · get_thread_brief · get_actionable_threads · get_inbox_digest · get_follow_up_candidates · find_document_threads · prepare_meeting_context
작업
mark_email_read · star_email · move_email · archive_email · trash_email · restore_email · delete_email · batch_email_action · apply_thread_action
폴더 관리
create_folder · rename_folder · delete_folder
분석
get_email_stats · get_email_analytics · get_contacts · get_volume_trends
진단
get_connection_status · get_runtime_status · run_doctor · get_audit_logs · run_background_sync · wait_for_mailbox_changes · sync_emails · get_index_status · search_indexed_emails · clear_cache · clear_index · get_logs
운영 참고 사항
get_emails및search_emails는 복합emailId를 반환합니다. 읽기 및 작업에 사용하세요.로컬 인덱스는
PROTONMAIL_DATA_DIR/mail-index.sqlite에 위치합니다.감사 로그는
PROTONMAIL_DATA_DIR/audit.log에 위치합니다.백그라운드 동기화 및 IMAP IDLE은 인덱스를 최신 상태로 유지하지만 Bridge가 실행 중이어야 합니다.
search_indexed_emails는from:,to:,subject:,label:,domain:바로 가기를 지원합니다.초안 동기화는 최선형(best-effort) 방식입니다. 원격 동기화가 실패하더라도 로컬 초안은 항상 보존됩니다.
라이선스
MIT
Maintenance
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/googlarz/proton-mail-bridge-client'
If you have feedback or need assistance with the MCP directory API, please join our Discord server