Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ProtonMail MCP Server

An MCP (Model Context Protocol) server that connects to ProtonMail via Bridge, enabling AI assistants like Claude to manage your email.

Features

  • Email Management: Read, search, send, reply, forward, and delete emails
  • Folder Management: List, create, rename, and delete folders
  • Label Management: Apply and remove labels from emails
  • Trend Analysis: Analyze email patterns, identify important emails, track sender statistics

Requirements

  • Node.js >= 18
  • ProtonMail Bridge installed and running
  • ProtonMail account (Plus, Unlimited, or Business)

Installation

git clone https://github.com/robotben/protonmail-mcp.git
cd protonmail-mcp
npm install
npm run build

Configuration

  1. Copy the example config:

    cp config/protonmail.config.example.json config/protonmail.config.json
  2. Edit config/protonmail.config.json with your credentials:

    {
      "protonmail": {
        "auth": {
          "user": "your-email@protonmail.com",
          "pass": "your-bridge-password"
        }
      }
    }

    Note: Use the Bridge password from ProtonMail Bridge app (not your account password).

Running the Server

npm start

The server listens on port 3000 by default. Set the PORT environment variable to change it:

PORT=8080 npm start

MCP endpoint: http://localhost:3000/mcp

Usage with Claude Desktop

The server uses the MCP Streamable HTTP transport (spec 2025-03-26), so configure Claude Desktop with a URL instead of a command:

{
  "mcpServers": {
    "protonmail": {
      "url": "http://localhost:3000/mcp"
    }
  }
}

Note: Start the server before launching Claude Desktop (npm start).

Legacy stdio (not supported)

This server no longer supports stdio transport. If you need stdio, use an earlier version.

Available Tools (22)

Email Reading

Tool Description
list_emails List emails from a folder with pagination
get_email Get full email content by UID
get_email_headers Get email headers only (lightweight)
search_emails Search emails with query, date range, filters
get_unread_count Get unread count for folders
mark_as_read Mark emails as read
mark_as_unread Mark emails as unread

Email Sending

Tool Description
send_email Send a new email
reply_to_email Reply to an email
forward_email Forward an email

Folder Management

Tool Description
list_folders List all folders
create_folder Create a new folder
delete_folder Delete a folder
rename_folder Rename a folder
move_emails Move emails between folders

Label Management

Tool Description
list_labels List all labels
create_label Create a new label
apply_labels Apply labels to emails
remove_labels Remove labels from emails

Analytics

Tool Description
analyze_email_trends Analyze email patterns over time
analyze_label_distribution Analyze email distribution across folders
identify_important_emails Find important emails based on criteria

Utility

Tool Description
delete_emails Permanently delete emails

Resources

URI Description
protonmail://inbox/summary Inbox statistics
protonmail://folders Folder list with counts
protonmail://labels Label summary
protonmail://recent Recent 24h activity
protonmail://stats Email analytics

Development

# Build
npm run build

# Watch mode
npm run dev

# Run directly with tsx
npx tsx src/server.ts

License

MIT

About

MCP Server that can manage Protonmail via Protonmail Bridge

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages