Use iHatePosting from your AI agent

Connect iHatePosting once and your AI agent can see your social accounts, check a post against each network's rules, and draft, schedule or publish it to 14 networks. Pick your agent for the exact setup — every one is different, and the pages below say how.

How each agent connects

Every one reaches the same iHatePosting server with your API key. What differs is where you add it and where the key is kept.

AgentHow you add iHatePostingWhere your key goes
ChatGPTA developer-mode app in ChatGPT on the webInside the app URL
ClaudeA custom connector, or claude_desktop_config.json in the desktop appInside the connector URL, or an environment variable in the config file
Claude CodeOne claude mcp add command in your terminalAn Authorization header the command writes
Cursormcp.json, for every project or oneAn Authorization header in mcp.json
CodexA block in config.tomlThe IHATEPOSTING_API_KEY variable, in ~/.codex/.env
VS Code and GitHub Copilot.vscode/mcp.json in your projectVS Code asks once and stores it encrypted
Gemini CLIA block in ~/.gemini/settings.jsonAn Authorization header in settings.json
OpenClawopenclaw.json, or openclaw mcp addAn Authorization header in openclaw.json
Claude CoworkThe same custom connector as ClaudeInside the connector URL, or a request header where the dialog offers one
Perplexity ComputerA custom connector under Account settingsPerplexity's API Key field
Grok BuildOne grok mcp add commandA header in ~/.grok/config.toml, or an environment variable
Antigravity CLImcp_config.json, with serverUrlAn Authorization header in the file
MuseAsk Muse to build a connectorMuse's secure credential prompt
NanoClawncl commands on the NanoClaw hostThe OneCLI vault
PaperclipConnect your own MCP server, under ConnectorsPaperclip's App key field
Ampamp.mcpServers in your Amp user settingsAn Authorization header in settings.json
ClineOne entry in cline_mcp_settings.jsonAn Authorization header in cline_mcp_settings.json
DeepSeek HarnessA dsh-mcp-client block in cordis.patch.ymlAn Authorization header in the patch block
Freebuff CLI.agents/mcp.json, for every project or oneAn Authorization header in .agents/mcp.json
Hermes AgentA block in ~/.hermes/config.yaml, or hermes mcp addAn Authorization header in config.yaml, or ~/.hermes/.env
Kilo CodeThe mcp key in kilo.jsonc, global or per projectAn Authorization header in kilo.jsonc
omp.omp/mcp.json, or ~/.omp/agent/mcp.json for all projectsAn Authorization header in that mcp.json
OpenHands CLI~/.openhands/mcp.json, or one openhands mcp addAn Authorization header in ~/.openhands/mcp.json
WarpSettings → Agents → MCP servers → + AddAn Authorization header in the server's JSON
Devin Desktopmcp_config.json, for every project or oneAn Authorization header in mcp_config.json
ZedA context_servers block in settings.jsonAn Authorization header in settings.json

Using a different AI tool?

Anything that speaks MCP over Streamable HTTP can connect. Point it at this address and send your API key as a bearer token:

URL:     https://ihateposting.com/mcp
Header:  Authorization: Bearer YOUR_API_KEY

If your tool can only take a URL, add ?key=YOUR_API_KEY to the end instead — and treat that URL like a password, because a key inside a link is easier to leak than one in a header. The full walkthrough is in the guide to posting to social media from an AI agent.

What your agent can do

15 tools, each marked with what it does to your account. The ones that post, reschedule, retry or delete are marked as changes, so agents that respect those markings ask you before running them.

  • Show the signed-in iHatePosting accountReads only
  • Get each platform's posting rulesReads only
  • Check a post before sendingReads only
  • Create a postChanges your posts
  • List recent postsReads only
  • List connected social accountsReads only
  • List Pinterest boardsReads only
  • Get post analyticsAdds, never removes
  • Reschedule a postChanges your posts
  • List the media libraryReads only
  • Upload media to the libraryAdds, never removes
  • Get one post's detailsReads only
  • Replace a draft or scheduled postChanges your posts
  • Retry a failed postChanges your posts
  • Delete a post from iHatePostingChanges your posts

Frequently asked questions

Which AI agents can post with iHatePosting?

Any tool that speaks MCP over Streamable HTTP. The pages above give the exact setup for 26 of them; for any other, point it at https://ihateposting.com/mcp and send your API key as a bearer token.

Will my agent publish a post without asking me?

Every post an agent writes is saved as a draft unless you ask for it to go out now or at a set time. The tools that publish, reschedule, retry or delete are marked as changes, so agents that respect those markings ask you before running them.

Does deleting a post in iHatePosting remove it from the network?

No. Deleting removes iHatePosting's record only. A post that is already live on a network stays there until you remove it on that network.

How do I stop an agent using my account?

Create a new key in Settings → Developers. Each account has one key, so the old one stops working at once for every tool that still uses it.

Do I need a paid plan to connect an agent?

No. The API key and the MCP server work on every plan, the 90-day free trial included.

Ready to let your agent do the posting?

Start your 90-day free trial — no credit card, about a minute to your first post.

Sign Up