Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Garza

FreeNot checked

Unified MCP server — ProtonMail, Proton Drive, iCloud Drive, Beeper API & Database. 51 tools across 5 services, deployed at mcp.garzaos.cloud

GitHubEmbed

About

Unified MCP server — ProtonMail, Proton Drive, iCloud Drive, Beeper API & Database. 51 tools across 5 services, deployed at mcp.garzaos.cloud

README

Unified MCP (Model Context Protocol) server combining ProtonMail, Proton Drive, iCloud Drive, Beeper, Fabric AI, Quo/OpenPhone, Voicenotes, and Nextcloud into a single service with 178 tools across 9 services.

Built with Python FastMCP — native Streamable HTTP transport, built-in Bearer token auth, per-tool timeouts, and crash protection. No stdio/mcp-proxy chain needed.

Deployed at: https://mcp.garzaos.cloud/sse

Tools (178)

ProtonMail (11)

Tool Description
mail_status Check SMTP/IMAP connection status
mail_send Send email via Proton Bridge SMTP
mail_list List emails in a folder
mail_read Read a specific email by UID
mail_search Search emails (server-side IMAP SEARCH)
mail_folders List all mail folders
mail_stats Get mailbox statistics
mail_mark_read Mark email as read/unread
mail_star Star/unstar an email
mail_move Move email to another folder
mail_delete Delete an email

Proton Drive (9)

Tool Description
drive_list List files/folders in Proton Drive
drive_read Read file contents
drive_write Write/create a file
drive_mkdir Create a directory
drive_delete Delete a file/folder
drive_move Move/rename a file
drive_info Get file/folder metadata
drive_search Search files by name
drive_stats Get drive usage statistics

iCloud Drive (9)

Tool Description
icloud_list List files/folders in iCloud Drive
icloud_read Read file contents
icloud_write Write/create a file
icloud_mkdir Create a directory
icloud_delete Delete a file/folder
icloud_move Move/rename a file
icloud_info Get file/folder metadata
icloud_search Search files by name
icloud_stats Get drive usage statistics

Beeper (22)

Beeper Desktop API + local SQLite database (17GB, 8.3M+ messages).

Tool Description
beeper_list_accounts List connected messaging accounts
beeper_list_chats List chats with filters
beeper_search_chats Search chats by name
beeper_get_chat Get chat details + participants
beeper_get_messages Get messages from a chat
beeper_search_messages Search messages across all networks
beeper_send_message Send a message to any chat
beeper_mark_read Mark messages as read
beeper_add_reaction Add emoji reaction
beeper_create_chat Create new chat on any platform
beeper_archive_chat Archive/unarchive a chat
beeper_search_contacts Search contacts on an account
beeper_set_reminder Set chat reminder
beeper_get_unread_summary Unread summary across all networks
beeper_db_stats Database statistics
beeper_db_search Full-text search across all messages
beeper_db_history Get chat message history
beeper_db_threads List threads/chats from database
beeper_db_participants Get chat participants
beeper_db_contacts Search contacts across all chats
beeper_db_reactions Get emoji reactions for a message
beeper_db_analytics Messaging analytics

Fabric AI (8)

Tool Description
fabric_search Semantic search across knowledge base
fabric_add_memory Add a new memory/fact
fabric_recall_memories Recall memories by query
fabric_create_note Create a new notepad
fabric_list_notes List notepads in a folder
fabric_get_note Get a notepad by ID
fabric_update_note Update a notepad
fabric_delete_note Delete a notepad

Quo / OpenPhone (17)

Tool Description
quo_list_numbers List phone numbers
quo_send_message Send SMS
quo_list_messages List messages
quo_get_message Get a message
quo_list_calls List calls
quo_get_call Get call details
quo_call_summary Get call summary
quo_call_transcript Get call transcript
quo_voicemail Get voicemail
quo_call_recordings Get call recordings
quo_list_contacts List contacts
quo_get_contact Get a contact
quo_create_contact Create a contact
quo_update_contact Update a contact
quo_delete_contact Delete a contact
quo_list_conversations List conversations
quo_list_users List users

Voicenotes (4)

Tool Description
voicenotes_user Get user info
voicenotes_list List recordings
voicenotes_search Search recordings
voicenotes_audio_url Get audio URL for a recording

Nextcloud (98)

Full Nextcloud integration covering 16 apps: Notes, Calendar, Tasks, Contacts, Files, Deck, Tables, Sharing, Talk, Notifications, Activity, Users, Status, Search, Mail, Tags, Apps, Forms, Comments, Versions, Trashbin.

Category Tools Description
Notes 6 CRUD + search
Calendar 4 List calendars, events, create/delete events
Tasks 3 VTODO-capable calendar detection, create tasks
Contacts 5 CardDAV address books, CRUD + search
Files 9 WebDAV filesystem, search, favorites
Trashbin 4 List, restore, delete, empty
Deck 13 Boards, stacks, cards, labels, assignments
Tables 7 Tables, columns, rows CRUD
Sharing 5 Create/manage shares
Talk 10 Conversations, messages, polls
Notifications 3 List, dismiss
Activity 1 Activity feed
Users 3 User management
Status 3 User status get/set/clear
Search 2 Providers + unified search
Mail 5 Accounts, mailboxes, messages
Tags 4 Create, assign, unassign
Versions 2 List, restore
Comments 2 List, add
Apps 4 List, info, enable, disable
Forms 3 List, get, submissions

Architecture

Client -> https://mcp.garzaos.cloud/sse
         | (Bearer token auth — built-in middleware)
       Caddy (SSL termination, ports 80/443)
         |
       Python FastMCP Server (port 3104, native SSE transport)
         |-- SMTP -> Proton Bridge (:1025)
         |-- IMAP -> Proton Bridge (:1143)
         |-- Proton Drive -> FUSE mount (shell ops)
         |-- iCloud Drive -> FUSE mount (shell ops)
         |-- Beeper API -> localhost:23373
         |-- Beeper DB -> SQLite FTS5 (subprocess)
         |-- Fabric AI -> api.fabric.so (HTTPS)
         |-- Quo API -> api.openphone.com (HTTPS)
         |-- Voicenotes -> api.voicenotes.com (HTTPS)
         |-- Nextcloud -> next.garzaos.online (WebDAV/CalDAV/OCS)

Key improvements over TypeScript version:

  • Native HTTP/SSE transport (no more stdio -> mcp-proxy -> auth_proxy chain)
  • Built-in Bearer token auth middleware (no separate auth_proxy.py)
  • Per-tool timeouts via asyncio.wait_for (prevents cascading 502s)
  • Async throughout with httpx (no blocking I/O)
  • Shell-based FUSE operations (avoids os.stat() hangs on CloudStorage mounts)
  • Server-side IMAP SEARCH (no client-side scan of 736GB mailbox)

Setup

Prerequisites

  • Python 3.11+
  • uv package manager
  • Proton Bridge running locally (SMTP :1025, IMAP :1143)
  • Proton Drive synced locally
  • iCloud Drive mounted
  • Beeper Desktop running (API on :23373)
  • BeeperTexts SQLite database

Install & Run

uv sync
uv run python -m garza_mcp.server

Environment Variables

Create a .env file:

# Auth
MCP_AUTH_TOKEN=your-bearer-token

# ProtonMail
[email protected]
PROTONMAIL_PASSWORD=bridge-password
IMAP_HOST=127.0.0.1
IMAP_PORT=1143
SMTP_HOST=127.0.0.1
SMTP_PORT=1025

# Drive (FUSE mounts)
PROTON_DRIVE_PATH=/path/to/ProtonDrive-folder
ICLOUD_DRIVE_PATH=/path/to/iCloud-Drive

# Beeper
BEEPER_API_URL=http://localhost:23373
BEEPER_TOKEN=your-beeper-token
BEEPER_DB_PATH=/path/to/BeeperTexts/index.db

# Fabric AI (optional)
FABRIC_API_KEY=your-fabric-key
FABRIC_API_URL=https://api.fabric.so

# Quo / OpenPhone (optional)
QUO_API_KEY=your-quo-key

# Voicenotes (optional)
VOICENOTES_TOKEN=your-voicenotes-token

# Nextcloud (optional)
NEXTCLOUD_URL=https://your-nextcloud.example.com
NEXTCLOUD_USERNAME=admin
NEXTCLOUD_PASSWORD=your-password

# Server
SERVER_HOST=0.0.0.0
SERVER_PORT=3104

MCP Client Config

{
  "mcpServers": {
    "garza-mcp": {
      "url": "https://mcp.garzaos.cloud/sse",
      "headers": {
        "Authorization": "Bearer your-token"
      }
    }
  }
}

License

MIT

from github.com/itsablabla/garza-mcp

Install Garza in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install garza

Installs into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.

First time? Get the CLI: curl -fsSL https://unyly.org/install | sh

Or configure manually

Run in your terminal:

claude mcp add garza -- uvx --from git+https://github.com/itsablabla/garza-mcp garza-mcp

Step-by-step: how to install Garza

FAQ

Is Garza MCP free?

Yes, Garza MCP is free — one-click install via Unyly at no cost.

Does Garza need an API key?

No, Garza runs without API keys or environment variables.

Is Garza hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Garza in Claude Desktop, Claude Code or Cursor?

Open Garza on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Garza with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All data MCPs