Skip to main content
Glama
googlarz

Proton Mail Bridge MCP

  ____  ____   ___ _____ ___  _   _   __  __    _    ___ _
 |  _ \|  _ \ / _ \_   _/ _ \| \ | | |  \/  |  / \  |_ _| |
 | |_) | |_) | | | || || | | |  \| | | |\/| | / _ \  | || |
 |  __/|  _ <| |_| || || |_| | |\  | | |  | |/ ___ \ | || |___
 |_|   |_| \_\\___/ |_| \___/|_| \_| |_|  |_/_/   \_\___|_____|
  Bridge Client  ·  CLI + Claude Desktop MCP for Proton Mail

Proton Mail Bridge 클라이언트

proton-mail-bridge-client MCP server

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 150

MCP 도구 패스스루

모든 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를 열어둔 상태에서 +Connectorsproton-mail-bridge를 확인하세요.

런타임 설치 위치:

  • macOS: ~/Library/Application Support/Proton Mail Bridge Client

  • Linux: ~/.local/share/proton-mail-bridge-client

  • Windows: %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_actionapply_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_emailssearch_emails는 복합 emailId를 반환합니다. 읽기 및 작업에 사용하세요.

  • 로컬 인덱스는 PROTONMAIL_DATA_DIR/mail-index.sqlite에 위치합니다.

  • 감사 로그는 PROTONMAIL_DATA_DIR/audit.log에 위치합니다.

  • 백그라운드 동기화 및 IMAP IDLE은 인덱스를 최신 상태로 유지하지만 Bridge가 실행 중이어야 합니다.

  • search_indexed_emailsfrom:, to:, subject:, label:, domain: 바로 가기를 지원합니다.

  • 초안 동기화는 최선형(best-effort) 방식입니다. 원격 동기화가 실패하더라도 로컬 초안은 항상 보존됩니다.

라이선스

MIT

Install Server
A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
30dResponse time
3dRelease cycle
12Releases (12mo)

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