proton-docs-mcp

anyrxo/proton-docs-mcp

3.2

If you are the rightful owner of proton-docs-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

MCP server for Proton Docs enables AI assistants to create, edit, format, and manage your Proton Docs documents.

Proton Docs MCP

A Model Context Protocol (MCP) server that enables AI assistants like Claude Desktop, Cursor, and other MCP-compatible clients to interact with your Proton Docs documents through browser automation.

โœจ Features

  • ๐Ÿ“„ Create documents with custom titles and content
  • ๐Ÿ“– Read document contents directly from Proton Docs
  • โœ๏ธ Edit documents with append or replace functionality
  • ๐Ÿ“ Text formatting (bold, italic, underline, strikethrough)
  • ๐Ÿ“‹ List management (ordered and unordered lists)
  • ๐Ÿ”— Link insertion and management
  • ๐ŸŽจ Font customization (family, size, color)
  • ๐Ÿ“ Text alignment (left, center, right, justify)
  • ๐Ÿ—‘๏ธ Delete documents (to trash or permanently)
  • ๐Ÿ“ค Export documents (DOCX, PDF, TXT, Markdown)
  • ๐Ÿ” Search documents by content
  • ๐Ÿ‘ฅ Share documents with other users
  • ๐Ÿ“Š Document listing with optional search filtering
  • ๐Ÿ“š Version history access
  • ๐Ÿ” Secure browser automation through Puppeteer

๐Ÿ“‹ Prerequisites

  • Node.js 16 or higher
  • Valid Proton account with access to Proton Docs
  • Claude Desktop, Cursor, or any MCP-compatible client

๐Ÿš€ Quick Start

1. Install from npm (Recommended)

npm install -g proton-docs-mcp

2. Or install from source

git clone https://github.com/anyrxo/proton-docs-mcp.git
cd proton-docs-mcp
npm install
npm run build

โš™๏ธ Configuration

Claude Desktop

Add to your Claude Desktop config:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "proton-docs": {
      "command": "node",
      "args": ["path/to/proton-docs-mcp/dist/index.js"],
      "env": {
        "PROTON_EMAIL": "your-email@proton.me",
        "PROTON_PASSWORD": "your-password"
      }
    }
  }
}

Cursor

Add to your Cursor settings:

{
  "mcp.servers": {
    "proton-docs": {
      "command": "node",
      "args": ["path/to/proton-docs-mcp/dist/index.js"],
      "env": {
        "PROTON_EMAIL": "your-email@proton.me",
        "PROTON_PASSWORD": "your-password"
      }
    }
  }
}

Environment Variables

Set your Proton credentials as environment variables:

export PROTON_EMAIL="your-email@proton.me"
export PROTON_PASSWORD="your-password"

Or create a .env file in the project root:

PROTON_EMAIL=your-email@proton.me
PROTON_PASSWORD=your-password

๐ŸŽฏ Usage Examples

Once configured, you can ask your AI assistant:

  • "Create a new document titled 'Meeting Notes' with today's agenda"
  • "List all my Proton Docs documents"
  • "Read the contents of my 'Project Plan' document"
  • "Make the text in my document bold and add a bulleted list"
  • "Export my document as a PDF"
  • "Share my document with with edit permissions"
  • "Search for documents containing 'quarterly report'"
  • "Delete the old draft document"

๐Ÿ› ๏ธ Available Tools

The MCP provides these tools:

ToolDescriptionParameters
list_documentsList all documents with optional searchsearchQuery?, limit
create_documentCreate a new documenttitle, content?
read_documentRead document contentsdocumentUrl
edit_documentEdit document contentdocumentUrl, content, append?
delete_documentDelete a documentdocumentUrl, permanent?
search_documentsSearch documents by contentquery
share_documentShare document with userdocumentUrl, email, permission
format_textApply text formattingdocumentUrl, format, text?
insert_listCreate lists in documentdocumentUrl, type, items
insert_linkAdd links to documentdocumentUrl, text, url
change_fontModify font propertiesdocumentUrl, property, value
align_textSet text alignmentdocumentUrl, alignment
export_documentExport to various formatsdocumentUrl, format
get_version_historyAccess document versionsdocumentUrl
copy_documentDuplicate a documentdocumentUrl, newTitle?

๐Ÿงช Testing

Test if the MCP is working:

# Build the project
npm run build

# Test connection
npm run dev

๐Ÿ”ง Troubleshooting

Authentication Issues

  1. Verify your Proton credentials are correct
  2. Check if 2FA is enabled (may require app-specific password)
  3. Ensure environment variables are properly set

Browser Automation Issues

  • Make sure you have sufficient system resources
  • Check if Proton Docs is accessible in your region
  • Verify network connectivity to Proton services

Tool not showing in Claude/Cursor

  1. Restart your AI client after configuration
  2. Check the logs for any error messages
  3. Verify the path to the MCP server is correct
  4. Ensure all dependencies are installed

๐Ÿ“ Development

# Install dependencies
npm install

# Run in development mode
npm run dev

# Build for production
npm run build

# Run tests
npm test

๐Ÿ”’ Security Considerations

  • Credentials: Store credentials securely using environment variables
  • Browser Isolation: Each session runs in a separate browser instance
  • No Data Storage: No document content is cached or stored locally
  • HTTPS Only: All communication with Proton services uses HTTPS
  • Session Management: Automatic cleanup of browser sessions

๐Ÿค Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

๐Ÿ“„ License

MIT License - see file

๐Ÿ› Known Issues

  • Large documents may take time to process
  • Complex formatting operations might require multiple steps
  • Rate limiting may apply for extensive operations
  • Browser automation requires graphical environment

๐Ÿ“ฎ Support

๐Ÿ† Why Choose Proton Docs MCP?

  • ๐Ÿ”’ Privacy-First: Built for Proton's privacy-focused ecosystem
  • ๐Ÿค– AI-Native: Designed specifically for AI assistant integration
  • โšก Comprehensive: 14+ tools covering all document management needs
  • ๐Ÿ›ก๏ธ Secure: No data storage, browser isolation, HTTPS-only
  • ๐Ÿ“ฆ Easy Install: npm package with global CLI support
  • ๐Ÿ”ง Professional: Production-ready with proper error handling
  • ๐Ÿ“š Well-Documented: Complete guides and examples included

๐Ÿ”— Related Projects

๐Ÿ“Š Stats

GitHub stars GitHub forks GitHub issues GitHub license npm version npm downloads


Made with โค๏ธ for the Proton ecosystem and AI automation community