Files
hermes-mcp/OPENCODE.md
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

2.5 KiB

Connecting hermes-mcp to opencode AI

The server is deployed at https://hermes.squaremcp.com with a Streamable HTTP MCP endpoint (MCP 1.x).

Quick setup

An opencode.json is already in this repo with the connection pre-configured. Open opencode in this directory and hermes-mcp will be available automatically.

Manual configuration

Project-level (opencode.json in project root)

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "hermes": {
      "type": "remote",
      "url": "https://hermes.squaremcp.com/mcp",
      "headers": {
        "x-api-key": "YOUR_MCP_API_KEY"
      }
    }
  }
}

Global (~/.config/opencode/config.json)

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "hermes": {
      "type": "remote",
      "url": "https://hermes.squaremcp.com/mcp",
      "headers": {
        "x-api-key": "YOUR_MCP_API_KEY"
      }
    }
  }
}

Replace YOUR_MCP_API_KEY with the value of MCP_API_KEY from your .env or Kubernetes secret.

Connection details

Field Value
Transport Streamable HTTP (MCP 1.x)
Endpoint https://hermes.squaremcp.com/mcp
Auth x-api-key header (or ?key= query param, or Authorization: Bearer)
Legacy SSE https://hermes.squaremcp.com/sse

Fallback: SSE transport

If opencode requires SSE transport instead of Streamable HTTP:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "hermes": {
      "type": "sse",
      "url": "https://hermes.squaremcp.com/sse",
      "headers": {
        "x-api-key": "YOUR_MCP_API_KEY"
      }
    }
  }
}

Available tools

Tool Description
get_profile Get email address for an account
search_messages Search INBOX by keyword / sender / subject
read_message Read full message body by UID
list_folders List all mailbox folders
create_draft Save a draft to the Drafts folder
send_email Send an email
whatsapp_send_message Send a WhatsApp message
whatsapp_send_template Send an approved WhatsApp template message
whatsapp_get_message_status Check WhatsApp message delivery status
whatsapp_list_templates List approved WhatsApp templates
obsidian_search_notes Search notes in the Obsidian vault
obsidian_read_note Read a specific note
obsidian_append_to_note Append content to a note
obsidian_update_note Overwrite a note
obsidian_sync_status Check Obsidian sync status