# SquareMCP v1 Launch Deployment — Execution Summary **Date:** 2026-06-12 **Phase:** 02-v1-launch-deployment **Commit:** `bc58bef` **Branch:** main **Executor:** kimi-cli --- ## What was deployed ### 1. hermes-mcp API (`hermes.squaremcp.com`) **Image:** `localhost:32000/hermes-mcp@sha256:1ada6f03a81ad53cd3b641b8934ae99e1a29651ac05f0bb7fbed790bb9f9d1ed` **Changes:** - Added 4 Obsidian endpoints to `getOpenApiSpecChatGPT()` in `src/manifest.ts`: - `GET /api/obsidian/search` - `GET /api/obsidian/note` - `PUT /api/obsidian/note` - `POST /api/obsidian/note/append` - `GET /api/obsidian/sync` - Updated ChatGPT OpenAPI description to mention Obsidian, email, and social - Updated OAuth login subtitle: "One login connects Claude and ChatGPT to your notes, email, and social accounts." - Fixed `src/Dockerfile` to copy `scripts/` before `npm install` (postinstall `patch-imapflow.cjs` was failing builds) **Live verification:** - `GET /health` → 200, toolCount 55 - `GET /openapi-chatgpt.json` → 33 paths, Obsidian paths present - `GET /api/obsidian/search?query=SquareMCP` → returns notes successfully ### 2. product/site (`squaremcp.com`) **Image:** `localhost:32000/squaremcp-site@sha256:e07e2020651f058136048e73052b8680caede18bb17596383060c3648900276b` **Changes:** - Added consumer hero section above enterprise hero (mortgage broker / SMB angle) - Added Twilio logo asset `squaremcp-logo-256.bmp` (256x256, 262KB) - Updated `Dockerfile` + `server.mjs` to serve BMP with `image/x-ms-bmp` MIME type **Live verification:** - `https://squaremcp.com` contains `consumer-hero` section - `https://squaremcp.com/squaremcp-logo-256.bmp` → 200, `image/x-ms-bmp` ### 3. product/app (`app.squaremcp.com`) **Image:** `localhost:32000/squaremcp-app@sha256:c2bc1ee1bd6eed3981c6cf4c253d61cc1022373720f65debaea03dd8b53ed494` **Changes:** - Added Obsidian card to platform grid - Reordered platforms: v1 platforms first (Obsidian, Email, Facebook, Instagram) - Added onboarding banner - Updated welcome copy and CTA **Live verification:** - `https://app.squaremcp.com` contains "Obsidian" card ### 4. Infrastructure / K8s **Manifests updated:** - `hermes-k8s.yaml` — hermes-mcp image SHA + added `FACEBOOK_DEFAULT_*` and `INSTAGRAM_DEFAULT_*` env var placeholders - `product/site/squaremcp-k8s-ingress.yaml` — squaremcp-site image SHA - `product/app/app-k8s.yaml` — squaremcp-app image SHA **Applied:** all three manifests to `fetcherpay` namespace. All pods healthy. ### 5. Twilio WhatsApp webhook (Alex Ferrari pilot prep) - Configured Messaging Service `MG17ba9689810cc62a20f2bab0cc857035` inbound webhook to `https://hermes.squaremcp.com/webhook/twilio/whatsapp` - Configured phone number `+19547385805` SMS URL to same webhook - Verified webhooks return 403 on unsigned requests (correct fail-closed behavior) --- ## What is blocked / remaining ### Action 3 — Facebook + Instagram credentials **Status:** BLOCKED — waiting on user Current `FACEBOOK_DEFAULT_ACCESS_TOKEN` is expired (expired 2026-05-12). Instagram credentials are empty placeholders. **Needed from Facebook Developer Console → Graph API Explorer:** - Page access token with scopes: `pages_manage_posts`, `pages_read_engagement`, `pages_show_list`, `instagram_basic`, `instagram_content_publish` - `GET /me/accounts?fields=name,id,instagram_business_account{username,id}` - Values to deploy: - `FACEBOOK_DEFAULT_ACCESS_TOKEN` - `INSTAGRAM_DEFAULT_ACCESS_TOKEN` (same token) - `INSTAGRAM_DEFAULT_BUSINESS_ACCOUNT_ID` - `FACEBOOK_DEFAULT_PAGE_ID` (likely unchanged: `1152192567968569`) **Optional for v1.1:** `FACEBOOK_APP_ID` + `FACEBOOK_APP_SECRET` to enable long-lived token exchange. ### Action 4 — Create ChatGPT Custom GPT **Status:** PENDING — blocked by Action 3 (needs working Facebook/Instagram to test) Requires manual browser work in ChatGPT UI: - Schema URL: `https://hermes.squaremcp.com/openapi-chatgpt.json` - OAuth client ID/secret from `hermes-k8s.yaml` ### Action 5 — Apply to Claude.ai marketplace **Status:** PENDING — blocked by Action 3 Requires manual browser work in Claude.ai UI. Also still needs a 512×512 logo. --- ## Verification commands ```bash # Health curl https://hermes.squaremcp.com/health # OpenAPI spec includes Obsidian curl https://hermes.squaremcp.com/openapi-chatgpt.json | jq '[.paths | keys[] | select(startswith("/api/obsidian"))]' # Obsidian search works curl -H "x-api-key: $MCP_API_KEY" "https://hermes.squaremcp.com/api/obsidian/search?query=SquareMCP&limit=2" # Site consumer hero curl -s https://squaremcp.com | grep consumer-hero # App Obsidian card curl -s https://app.squaremcp.com | grep Obsidian # Facebook still broken until token refresh curl -H "x-api-key: $MCP_API_KEY" https://hermes.squaremcp.com/api/facebook/page ``` --- ## Files changed in this deployment ``` hermes-k8s.yaml product/app/app-k8s.yaml product/app/index.html product/site/Dockerfile product/site/index.html product/site/server.mjs product/site/squaremcp-k8s-ingress.yaml product/site/squaremcp-logo-256.bmp src/Dockerfile src/index.ts src/manifest.ts ```