- Step-by-step OAuth client registration - OpenAPI schema import instructions - Actions authentication config - Troubleshooting table - Tool availability status
3.1 KiB
3.1 KiB
ChatGPT Custom GPT — Hermes MCP Setup Guide
Server: https://hermes.squaremcp.com
What you'll build
A Custom GPT in ChatGPT that can:
- Send emails via your 7 accounts
- Search and edit your Obsidian vault notes
- Send WhatsApp messages (when credentialed)
- Post to LinkedIn
- Send Telegram messages
- Post to Discord servers
- Post to Instagram (when credentialed)
Step 1: Register an OAuth client
Hermes MCP uses OAuth 2.0 for ChatGPT authentication.
Run this curl to register a ChatGPT client:
curl -X POST "https://hermes.squaremcp.com/oauth/register" \
-H "Content-Type: application/json" \
-d '{
"client_name": "ChatGPT Custom GPT",
"redirect_uris": ["https://chat.openai.com/aip/[YOUR_GPT_ID]/oauth/callback"]
}'
Save the response:
client_idclient_secret
Step 2: Get the OpenAPI schema
Your server's OpenAPI spec is live at:
https://hermes.squaremcp.com/openapi.json
ChatGPT will import this to know which endpoints are available.
Step 3: Create the Custom GPT
- Go to chatgpt.com → Explore GPTs → Create
- Configure:
- Name:
Hermes Assistant - Description:
Your personal AI assistant with access to email, notes, and social media
- Name:
Actions setup
-
Click Actions → Import from URL
-
Paste:
https://hermes.squaremcp.com/openapi.json -
Click Authentication → OAuth
- Client ID: (from Step 1)
- Client Secret: (from Step 1)
- Authorization URL:
https://hermes.squaremcp.com/oauth/authorize - Token URL:
https://hermes.squaremcp.com/oauth/token - Scope:
email profile - Token Exchange Method:
Default (POST request)
-
Click Update to save the OAuth config
Privacy settings
- Scroll to Privacy → toggle off if you don't want OpenAI training on your data
Step 4: Test the GPT
Ask your GPT:
- "Send an email to team@fetcherpay.com saying the meeting is at 2pm"
- "Search my Obsidian notes for 'funding strategy'"
- "Post 'Hello world' to my LinkedIn"
- "Send a Telegram message to Garfield"
Troubleshooting
| Issue | Fix |
|---|---|
| "Authentication failed" | Re-register the OAuth client with the correct redirect URI |
| "Tool not found" | Check that the endpoint is listed in /openapi.json |
| "Unauthorized" | The GPT's token expired — re-authenticate in ChatGPT settings |
Current tool availability
| Tool | Status |
|---|---|
| Email (7 accounts) | ✅ Ready |
| Obsidian vault | ✅ Ready |
| LinkedIn profile/posts | ✅ Ready (token deployed) |
| Telegram messaging | ✅ Ready (token deployed) |
| Discord messaging | ⚠️ Needs bot token |
| Instagram posts | ⚠️ Needs Business Account setup |
| WhatsApp messaging | ⚠️ Needs Cloud API number |
Next: Discord bot token
If you want Discord working in ChatGPT too, create a bot:
- discord.com/developers/applications → New Application
- Bot tab → Copy Token
- Deploy:
kubectl set env deployment/hermes-mcp -n fetcherpay DISCORD_DEFAULT_BOT_TOKEN="your-token"