Skip to main content

MCP server that pauses AI before it sends an email you'll regret.

Project description

bodhisattva-mcp

The pause before a regrettable send.

demo placeholder — replaced in Task 13

An MCP server that intercepts email sends from AI agents (Claude Desktop, Claude Code, Cursor, Codex) and runs every draft through a wisdom-frame pass. Depending on what the frame sees, it either:

  • proceeds — sends immediately via Gmail;
  • revises — returns a suggested rewrite and does not send; or
  • holds — does not send (critical wellbeing signal, or consequential with no safe revision).

Every pause is logged to a local SQLite journal. A localhost-only web UI at http://localhost:8473 lets you review past pauses and see the framing's reasoning.

Quickstart

# 1. Install
uv tool install bodhisattva-mcp

# 2. Drop in your Google Cloud OAuth client secret (see Install guide).
#    Assumes exactly one client_secret_*.json in ~/Downloads — rename manually if you have several.
mkdir -p ~/.bodhisattva && mv ~/Downloads/client_secret_*.json ~/.bodhisattva/client_secret.json

# 3. Configure your LLM provider
export ANTHROPIC_API_KEY=sk-ant-...

# 4. Wire into your MCP client (example: Claude Code)
cat > .mcp.json <<'EOF'
{
  "mcpServers": {
    "bodhisattva": {
      "command": "uvx",
      "args": ["bodhisattva-mcp"]
    }
  }
}
EOF

Full setup (Google Cloud OAuth, all MCP clients): docs/install.md.

What it does

Existing AI safety layers protect infrastructure and budgets. Bodhisattva protects relationships. When an agent tries to send an email on your behalf, the framing looks at: emotional context, interpersonal stakes, whether the draft would be hard to take back — and inserts a pause.

You stay in the loop. The agent gets a clear structured response (proceed / revise / hold) it can act on. The journal at http://localhost:8473 lets you see your own patterns over time.

What it doesn't do (yet)

v0.1 is intentionally narrow:

  • Gmail only. Slack, Outlook, and other wrappers are v0.3+.
  • No hosted memory. The framing is stateless: it sees the current draft and optional context field, not your past conversations. Memory-aware framing is v0.2.
  • No Google verification. You bring your own Google Cloud OAuth app, so you're a "test user" of your own app. This is a feature: your drafts never touch any server except the LLM provider you chose.

Privacy

Local-first. Your drafts stay on your machine except for the framing call you chose to route through your LLM provider. Credentials are stored at ~/.bodhisattva/ with 0600 permissions. Full details: docs/privacy.md.

Install

Full install guide: docs/install.md.

Status

  • v0.1 (this release): free tier — one wrap (send_email), local journal, bring-your-own LLM key.
  • v0.2 (planned): hosted memory-aware framing + paid subscription.
  • v0.3+: Slack, Outlook, additional wrappers as demand dictates.

Contributing

See CONTRIBUTING.md. Changelog: CHANGELOG.md.

License

MIT — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bodhisattva_mcp-0.1.0.tar.gz (159.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bodhisattva_mcp-0.1.0-py3-none-any.whl (26.3 kB view details)

Uploaded Python 3

File details

Details for the file bodhisattva_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: bodhisattva_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 159.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bodhisattva_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 bf06464397a7274654fadf97432664d373837097c79056747dc026ca9a405b21
MD5 f5c5c57cc16aec180eab8cdb51434c81
BLAKE2b-256 9f1e4cfdd22fd8f0a6719b70ea5e1f1fd424260a96111a92688035747e1cde42

See more details on using hashes here.

Provenance

The following attestation bundles were made for bodhisattva_mcp-0.1.0.tar.gz:

Publisher: release.yml on rogercollell/bodhisattva-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bodhisattva_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: bodhisattva_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 26.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bodhisattva_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b5e56c73a31c102724d4389180b133425db0baf0ef76631afcb066e5d97bbb9c
MD5 1fe6b19e248bf7286517c0f4f1a903b3
BLAKE2b-256 9fff7c803302e25bf9a4c3c6559eefc923838c1c52486b89a02ea81564711267

See more details on using hashes here.

Provenance

The following attestation bundles were made for bodhisattva_mcp-0.1.0-py3-none-any.whl:

Publisher: release.yml on rogercollell/bodhisattva-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page