# Spica Post for AI agents Endpoint: https://app.spicapost.com/mcp Protocol: Model Context Protocol (remote server, streamable HTTP). Access: customer accounts only. OAuth sign-in is required; there is no public or anonymous access. Public facts: https://spicapost.com/llms.txt Full reference (every tool, field and refusal code): https://spicapost.com/reference/ Plans and limits (JSON): https://spicapost.com/pricing.json ## If a customer sent you here: set them up The customer wants Spica Post connected to you, their assistant. Do as much of this yourself as you can, and only ask them for what needs their own hands (signing in, approving). 1. Connect. Spica Post is a remote MCP server at https://app.spicapost.com/mcp. There is nothing to download and no API key. - If you can add an MCP server or connector yourself, add that address under the name "Spica Post". Sign-in is OAuth with discovery and automatic client registration, so there is no client ID or secret to supply. - Claude Code: `claude mcp add --transport http spica-post https://app.spicapost.com/mcp` - Codex: `codex mcp add spica-post --url https://app.spicapost.com/mcp`. It opens the sign-in itself; if it does not, `codex mcp login spica-post`. - Antigravity CLI (agy, which replaced Gemini CLI): `agy mcp add spica-post https://app.spicapost.com/mcp`. The customer then signs in from agy's own screen: `/mcp`, Enter on spica-post, then Authenticate. Their browser opens the approval page; after they press Allow, a Google page shows a code, which they paste back into agy. Its one-shot mode (`agy -p`) cannot open the sign-in, so do not try to finish it there. - Hermes: in ~/.hermes/config.yaml, under `mcp_servers`, add `spica-post` with `url: "https://app.spicapost.com/mcp"` and `auth: oauth`; then `hermes mcp login spica-post` and `/reload-mcp` - A client configured by a JSON file (Cursor, VS Code and others): add a server named "spica-post" with "url": "https://app.spicapost.com/mcp". - If only the customer can add connectors (the Claude, ChatGPT, Gemini, Grok, Meta Muse, Perplexity, Le Chat apps), tell them the exact clicks from the guide for their app, listed under "Setup guides" below, and give them the address to paste. 2. Sign in. The first use opens the Spica Post sign-in page in the customer's browser. They sign in, or create their account there, and approve the connection. You never see or ask for a password. Until they have approved, every call answers 401: that means "not signed in yet", nothing else. Do not look for another way in and do not try other addresses on the server; ask the customer to finish the sign-in. 3. No plan yet? Tell them the plans from https://spicapost.com/pricing.json in one or two lines and send them to https://spicapost.com/pricing/ to choose. Do not choose or pay for them. 4. Their files. Ask where they keep their logo, photos and price list. The layout that works best is one folder with five inside: Brand Assets, Images, Clips, Documents and Products (one sheet: name, price, description, photo file name). Look through it with your own tools and say plainly what is missing or out of date. Spica Post never opens their folder: you hand a file over when a post needs it. The same layout, written for the customer: https://spicapost.com/folder-setup/ (Spanish: https://spicapost.com/es/carpeta/). 5. Start. Once connected, call the tool `setup_start`. Tell it what you can do (`can: { web, files, pictures }`, each true or false: open web pages, open the customer's files, look at pictures) and its steps are worded for that. It answers what is already done and a short list of steps that ends in the customer's first post, each with an id and whether it is done, and `next`, the step to go on with (call it again whenever you have lost your place): connect their social accounts (`accounts_connect` gives you a link per network to hand them; they sign in on the network's own page), read their website, save their brand, write one post. Do those in order, in one sitting: the customer should be looking at a post within a few minutes. What it lists under `later` (their files, the industry profile, templates, a first week) is offered after that, one thing at a time. The customer only talks; you do the setup. 6. Nothing is published or scheduled without the customer's yes to that post. ## What a connected agent can do 1. List the customer's connected social accounts and what each platform allows, and hand them a link to connect or reconnect each one. 2. Upload an image or video, or add one that is already online by its public https address. 3. Create and edit a draft with one version per platform. For a platform the customer has not connected yet, keep the post with `drafts_hold`: it shows on their account page and becomes a draft when they connect it. 4. Validate a draft against each platform's limits. 5. Publish a validated draft, schedule it for a time, or add it to the customer's posting queue, where it takes the next free posting time. 6. Reschedule or cancel a scheduled post. 7. Read the status of each delivery and the link to the live post. 8. On Studio and Pro, read how the posts of the last 7, 30 or 90 days did: likes, comments, shares and views, by network, with the posts that did best. ## Rules an agent must follow - Show the customer each draft and get their approval before publishing or scheduling. - Every publish or schedule call needs the draft id, its version and an idempotency key. Reusing a key returns the same job; it never creates a second post. - If a delivery's outcome is unknown, read its status. Do not send it again. - If a connection has expired, call `accounts_connect` for that network and give the customer its link. - Give the customer the link, never directions to a page. A draft answers with `link`, which opens it for them to read; a post kept with `drafts_hold` answers with its own; a refusal that a change of plan would lift carries `planLink`, and so does `usage_get`. ## Platforms - Google Business Profile: Updates with a photo, Offers, Events, A button to call, book or learn more - Instagram: Single photos, Carousels of up to 10, Video, published as a reel, Captions up to 2,200 characters - Facebook Pages: Text, Up to 10 photos, Video, Links - Threads: Text up to 500 characters, Photos, Video, Carousels - X: Text up to 280 characters, Up to 4 images, One video - LinkedIn: Text up to 3,000 characters, 1 to 20 images, One video - Bluesky: Text up to 300 characters, Up to 4 images - TikTok: Video - YouTube: One video per post, Shorts, A title and a description ## Setup guides - Claude: https://spicapost.com/connect/claude/ - ChatGPT: https://spicapost.com/connect/chatgpt/ - Gemini: https://spicapost.com/connect/gemini/ - Grok: https://spicapost.com/connect/grok/ - Meta Muse: https://spicapost.com/connect/meta-muse/ - Perplexity: https://spicapost.com/connect/perplexity/ - Le Chat: https://spicapost.com/connect/le-chat/ - Hermes: https://spicapost.com/connect/hermes/ - Any other assistant: https://spicapost.com/connect/other/