Skip to content

Development

The test suite fakes the IMAP layer, so Proton Mail Bridge is not required for development.

Setup

git clone https://github.com/fbossiere/proton-safe-mcp.git
cd proton-safe-mcp
uv sync --extra dev --extra docs

Quality gate

Run the same checks as CI:

uv run ruff check .
uv run ruff format --check .
uv run mypy
uv run pytest --cov
uv run mkdocs build --strict

Documentation workflow

Documentation sources live in docs/, with navigation and theme configuration in mkdocs.yml.

uv run mkdocs serve

Open the local URL printed by MkDocs. Before committing, run the strict build so broken navigation, links, and configuration warnings fail locally.

Pull requests build the documentation but never deploy it. A push to main builds the same sources and deploys the generated static site to GitHub Pages.

Design rules

Contributions must preserve the restricted capability surface:

  1. No send capability.
  2. No destructive mail tools.
  3. No filesystem paths from MCP clients.
  4. No received-attachment download tool.
  5. Bridge host fixed to 127.0.0.1.
  6. Draft approval outside MCP.

Read the canonical CONTRIBUTING.md before opening a pull request.