How to do it
- Mint an agent key In Connections, under Agent keys, mint a key. Name it after the agent and choose its networks and permissions. The raw key is shown once.
- Copy the snippet for your client The key dialog shows ready snippets for Claude Desktop, Cursor, and ChatGPT. You can also fetch them later with GET /v1/mcp-config using that key.
- Add it to the client For stdio, paste the mcpServers block into your client's config and run npx socialhandoff-mcp. For streamable HTTP, point the client at your API origin plus /mcp with an Authorization: Bearer header.
- Check the connection Run npx socialhandoff-mcp doctor with your URL and key to confirm the key works and the server is reachable.
- Ask for a draft Restart the client and ask it to draft or plan posts. Drafts arrive in your approval inbox.
Tools the agent gets
| Tool | What it does |
|---|---|
plan_week | Drafts a week of posts. Nothing publishes |
draft_post | Creates a pending post |
schedule_post | Sets a timezone-correct slot |
list_posts, preview_posts | Read posts and render the approval card |
get_insights, apply_insight | Analytics and recommendations |
get_brand_memory | Reads voice rules, products, banned topics |
approve_post, reject_post, and update_brand_memory work only with the owner key. An agent key cannot approve, by design.
UI cards
Clients that support MCP Apps render a calendar, an approval card, and an analytics card inline.
stdio or HTTP?
Use stdio for desktop clients on the same machine. Use streamable HTTP for remote clients such as the ChatGPT connector. The HTTP server is stateless, and each tool call runs with the key's own permissions.
Client guides: Claude Desktop, Cursor, ChatGPT. The MCP config generator builds the JSON for other clients.