Files
hermes-mcp/.planning/phases/02-v1-launch-deployment/02-01-SUMMARY.md
2026-06-12 07:23:06 -04:00

5.0 KiB
Raw Blame History

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

# 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