From 136bc257d1f05dcd78f793ca199ea1101a421a70 Mon Sep 17 00:00:00 2001 From: Garfield Date: Tue, 5 May 2026 22:02:05 -0400 Subject: [PATCH] docs: ChatGPT Custom GPT setup guide - Step-by-step OAuth client registration - OpenAPI schema import instructions - Actions authentication config - Troubleshooting table - Tool availability status --- CHATGPT_SETUP.md | 119 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 CHATGPT_SETUP.md diff --git a/CHATGPT_SETUP.md b/CHATGPT_SETUP.md new file mode 100644 index 0000000..77253d4 --- /dev/null +++ b/CHATGPT_SETUP.md @@ -0,0 +1,119 @@ +# 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: + +```bash +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_id` +- `client_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 + +1. Go to [chatgpt.com](https://chatgpt.com) → **Explore GPTs** → **Create** +2. Configure: + - **Name:** `Hermes Assistant` + - **Description:** `Your personal AI assistant with access to email, notes, and social media` + +### Actions setup + +3. Click **Actions** → **Import from URL** +4. Paste: `https://hermes.squaremcp.com/openapi.json` +5. 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)` + +6. Click **Update** to save the OAuth config + +### Privacy settings + +7. 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: +1. [discord.com/developers/applications](https://discord.com/developers/applications) → New Application +2. Bot tab → Copy Token +3. Deploy: `kubectl set env deployment/hermes-mcp -n fetcherpay DISCORD_DEFAULT_BOT_TOKEN="your-token"`