Garfield 73f83c0d86 feat: WhatsApp + LinkedIn integrations, SquareMCP rebrand, opencode docs
WhatsApp Business API (Meta Cloud API)
- New client: src/clients/whatsapp.ts
- Tools: whatsapp_send_message, whatsapp_send_template, whatsapp_list_templates
- REST endpoints: POST /api/whatsapp/send, POST /api/whatsapp/template, GET /api/whatsapp/templates
- Multi-account env var pattern: WHATSAPP_{ACCOUNT}_*

LinkedIn API (OpenID Connect)
- New client: src/clients/linkedin.ts
- Tools: linkedin_get_profile, linkedin_create_post, linkedin_search_connections, linkedin_send_message
- REST endpoints: GET /api/linkedin/profile, POST /api/linkedin/post, POST /api/linkedin/search-connections, POST /api/linkedin/message
- Multi-account env var pattern: LINKEDIN_{ACCOUNT}_*
- Uses /v2/userinfo (OpenID Connect) for profile reads

Domain migration
- hermes.fetcherpay.com -> hermes.squaremcp.com
- Updated K8s ingress, TLS cert, SERVER_URL env var
- Updated OPENCODE.md and opencode.json references

SquareMCP site
- Added logo assets (SVG, LinkedIn variants)
- Added terms.html
- Updated Dockerfile, nginx config, styles, index, privacy pages

Docs
- Added OPENCODE.md for opencode AI integration setup
- Updated .env.example with WhatsApp and LinkedIn credentials
- Added opencode.json to .gitignore (contains live API key)

Total tools: 19 (email 6, obsidian 5, whatsapp 4, linkedin 4)
2026-05-05 01:25:26 -04:00

Hermes MCP

A multi-account email MCP server for Claude AI. Supports Yahoo Mail (IMAP App Password) and any self-hosted mail server (IMAP/SMTP).


Features

  • Read, search, and send email from Claude via MCP
  • Multi-account support: Yahoo Mail and custom IMAP/SMTP servers
  • Streamable HTTP transport (MCP 1.x) + legacy SSE endpoint
  • Automatic session recovery after server restarts
  • Docker and Kubernetes deployment ready

Tools

Tool Description Key params
get_profile Get email address for an account account
search_messages Search INBOX by keyword / sender / subject q, maxResults, account
read_message Read full message body by UID uid, account
list_folders List all mailbox folders account
create_draft Save a draft to the Drafts folder to, subject, body, account
send_email Send an email to, subject, body, account

account parameter allows you to specify which configured mailbox to use (defaults to "yahoo").


Quick Start (local dev)

# 1. Install dependencies
npm install

# 2. Configure credentials
cp .env.example .env
# Edit .env with your email credentials

# 3. Run in dev mode
npm run dev

# 4. Verify
curl http://localhost:3456/health
# → {"status":"ok","service":"hermes-mcp"}

Configuration

Copy .env.example to .env and fill in your values:

# Yahoo Mail — generate an App Password at:
# https://myaccount.yahoo.com/security → App passwords
YAHOO_EMAIL=you@yahoo.com
YAHOO_APP_PASSWORD=xxxx xxxx xxxx xxxx

# Optional: Self-hosted mail server (any IMAP/SMTP server)
# CUSTOM_EMAIL=you@yourdomain.com
# CUSTOM_PASSWORD=yourpassword
# CUSTOM_IMAP_HOST=mail.yourdomain.com
# CUSTOM_IMAP_PORT=993
# CUSTOM_SMTP_HOST=mail.yourdomain.com
# CUSTOM_SMTP_PORT=587

PORT=3456

Connecting to Claude.ai

  1. Go to Claude.ai → Settings → Connectors → Add custom connector
  2. Enter your server URL: https://your-domain.com/mcp
  3. Click Connect

Production Deployment (Kubernetes)

See DEPLOY.md for full instructions covering:

  • MicroK8s setup with nginx-ingress and cert-manager
  • Building and pushing a Docker image to the local registry
  • Applying the Kubernetes Deployment / Service / Ingress manifests
  • Zero-downtime redeploys after code changes

Architecture

Claude.ai  ──POST /mcp──►  StreamableHTTPServerTransport
                                    │
                          ┌─────────▼──────────┐
                          │   MCP Server (SDK)  │
                          │   tools / handlers  │
                          └──┬──────────────┬───┘
                             │              │
                     imapflow (IMAP)   nodemailer (SMTP)
                             │              │
                    ┌────────▼───┐  ┌───────▼───────┐
                    │ Yahoo Mail │  │ Custom IMAP/   │
                    │            │  │ SMTP Server    │
                    │            │  │ (optional)     │
                    └────────────┘  └───────────────┘

Tech Stack

  • Runtime: Node.js + TypeScript
  • MCP SDK: @modelcontextprotocol/sdk
  • IMAP: imapflow
  • SMTP: nodemailer
  • HTTP: express
  • Deployment: Docker + MicroK8s

License

MIT

Description
Hermes MCP / SquareMCP monorepo
Readme 22 MiB
Languages
TypeScript 75.8%
JavaScript 9%
HTML 7.5%
Python 3.9%
CSS 2.9%
Other 0.9%