Cline + iHatePosting

Post to social media from Cline

Connect Cline to iHatePosting and ask it to write, schedule and publish posts to 15 social networks. iHatePosting's hosted MCP server gives Cline 16 tools to create, reschedule and check posts, with you approving everything in one calendar. Setup takes about a minute and is included in the free 90-day trial.

Connect iHatePosting to Cline and post to 15 networks from your editor, with one entry in cline_mcp_settings.json and your key in a header. Free 90-day trial.

Nothing is published unless you ask for it in that message.

Coding agents and editorsCline Bot

Cline is a coding agent that runs as an IDE extension, a CLI and an SDK, and once you connect iHatePosting it can post to your social accounts from the editor. You add our hosted server as one entry in cline_mcp_settings.json, with your API key in an Authorization header. Cline can then draft a post, check it against each network's rules and schedule it without leaving your work.

How do I connect iHatePosting to Cline?

It takes about a minute. Nothing here needs a download, and the only thing you carry between the two apps is a key you can revoke whenever you like.

  1. 1Step 1

    Create an iHatePosting API key

    Sign in, open Settings → Developers and create a key. It starts with pk_live_, and the same page can show it again whenever you need it.

  2. 2Step 2

    Add iHatePosting to Cline

    Add to ~/.cline/data/settings/cline_mcp_settings.json. The VS Code extension, the Cline CLI and Cline Desktop all read this one file. You can also open it from the Cline panel: Customize (wrench icon) → MCP → Installed → Edit Configuration. Replace YOUR_API_KEY with your key.

    Cline — connector
    {
      "mcpServers": {
        "ihateposting": {
          "type": "streamableHttp",
          "url": "https://ihateposting.com/mcp?client=cline",
          "headers": {
            "Authorization": "Bearer YOUR_API_KEY"
          },
          "disabled": false,
          "autoApprove": []
        }
      }
    }
  3. 3Step 3

    Ask it to post

    Tell Cline what you want to say and where. It saves a draft in iHatePosting unless you ask for the post to go out now or at a set time.

What is different about Cline

Every client reaches the same server, and then behaves like itself. These are the things that are true here and not somewhere else.

Add the entry to cline_mcp_settings.json under ~/.cline/data/settings. Cline's Config page keeps global provider settings, global settings and MCP settings there, and the extension reads and writes that file. On Windows that is %USERPROFILE%\.cline\data\settings\cline_mcp_settings.json, unless you have set HOME or CLINE_DIR, which Cline reads first.

Cline's own pages disagree about the CLI. The MCP page names ~/.cline/mcp.json for the CLI, while the Config page keeps MCP settings under ~/.cline/data/settings. If you work in the CLI, run cline mcp and let the wizard add the server rather than editing a file the CLI may not read. It asks for the server name, the transport type, and the URL and headers for a remote server.

Keep the type line, spelt streamableHttp in camelCase. Cline's MCP page says that omitting type defaults to the legacy sse transport for backward compatibility. Our endpoint serves Streamable HTTP only, so with the line missing the server never connects and nothing in the file says why.

The Remote Servers tab cannot carry your key. It takes a server name, a server URL and a transport type, and has no field for a header. Add the server there if you like, then open the Configure tab, click Configure MCP Servers and add the headers block to the entry yourself.

If you ran Cline before it moved to ~/.cline, your servers may still sit in the VS Code extension's global storage or in ~/Documents/Cline/MCP/cline_mcp_settings.json. The extension copies those into the shared file once and skips any server whose name is already there, so editing the old copy afterwards changes nothing.

timeout is in seconds, not milliseconds. Cline uses 60 seconds when the field is absent and clamps anything outside 1 to 3600, so a value like 60000 becomes an hour rather than a minute. Raise it for this server if a media upload runs past a minute.

Limits. Enterprise administrators govern MCP from your organisation's remote configuration: allowedMCPServers restricts locally configured servers to approved server ids, blockPersonalRemoteMCPServers prevents you adding your own remote server, and remoteMCPServers pushes pre-configured servers to everyone. When an administrator sets blockPersonalRemoteMCPServers to true, the extension's MCP panel does not show the Remote Servers tab. Ask your administrator to push our address: https://ihateposting.com/mcp

Cline Bot's own documentation: MCP in Cline

Nothing goes out unless you say so

Every post Cline writes is saved as a draft in iHatePosting unless you ask for it to be published now or at a set time. Publishing, rescheduling, retrying and deleting are marked as actions that change things, so clients that honour those markings ask you before they run them. Deleting a post in iHatePosting never removes one that is already live on a network.

What is the iHatePosting MCP?

MCP — the Model Context Protocol — is the standard way an assistant plugs into an app it does not own. Our server exposes the accounts you have connected to Cline as tools, so it can draft, check and schedule without you opening a dashboard.

How Cline uses it

  • You add the connector once — by signing in, or with a key you create
  • Cline reads which accounts you have connected, and each network's rules
  • It writes a version per network and checks it against those rules before sending
  • It saves a draft, schedules it, or publishes — exactly as your message said
  • It works alongside whatever other tools Cline already has
tools Cline can call
# read and check (9)
whoami              list_accounts
list_posts          get_post
get_analytics       get_platform_rules
list_media          list_pinterest_boards
validate_post

# write (7)
create_post         update_post
reschedule_post     delete_post
retry_post          upload_media
open_upload_widget

Cost, access and what to do when it breaks

What does it cost?

The connector costs nothing on top of iHatePosting. iHatePosting has one plan: $15/month billed annually, or $19/month billed monthly, with unlimited social accounts. It is free for 90 days, no credit card needed, and everything is included during the trial: unlimited accounts, unlimited posts, every feature.

How is access secured?

Either you sign in to iHatePosting and approve access, or you create an API key in Settings → Developers. That page can show your key again whenever you need it. Whichever route you take, it reaches only the accounts you have already connected, and you can revoke it at any time without touching the accounts themselves.

Something not working?

  • It cannot see any accounts: connect them in iHatePosting first, then ask it to list them again.
  • You regenerated your key and it still fails: Regenerate revokes the old key the moment you press it, and a client that is already running keeps sending the old one until you genuinely restart it.
  • A post failed: open it in iHatePosting — the failure names the network and repeats what that network actually said.

Frequently asked questions

Where does the iHatePosting entry go?

In cline_mcp_settings.json under ~/.cline/data/settings, where Cline's Config page keeps global provider settings, global settings and MCP settings. On Windows that is %USERPROFILE%\.cline\data\settings\cline_mcp_settings.json, unless you have set HOME or CLINE_DIR, which Cline reads first. If you work in the CLI, run cline mcp and let the wizard add the server, because Cline's MCP page names ~/.cline/mcp.json for the CLI.

Do I need the type line?

Yes. Cline's MCP page says that omitting type defaults to the legacy sse transport for backward compatibility, and our server speaks Streamable HTTP only. Write it in camelCase as streamableHttp. Without that line the server never connects.

Can I paste my key into the Remote Servers tab?

No. That form takes a server name, a server URL and a transport type, and has no header field. Add the server there, then open the Configure tab, click Configure MCP Servers and add the headers block with your key to the entry.

Cline shows the server as connected, so why does every tool answer 401?

Your key is wrong, or the headers block is missing. Our endpoint does not check the key when Cline connects. It forwards it on each call, so the tool list loads either way. A wrong key, or one that still reads YOUR_API_KEY, makes every call answer iHatePosting API 401, and with no Authorization header at all the tools answer No API key instead. Ask Cline to run the whoami tool: a working key answers with your iHatePosting login email and account name. Create a new key in Settings → Developers.

Is the Cline connector free?

Yes. The connector costs nothing on top of iHatePosting, and iHatePosting is free for 90 days, no credit card needed. After that it is $15/month billed annually, or $19 month-to-month, with unlimited accounts.

Which networks can Cline post to?

Any account you have connected in iHatePosting, across 15 networks: Instagram, Facebook, LinkedIn, X, Threads, TikTok, YouTube, Pinterest, Bluesky, Mastodon, Telegram, Discord, Slack, Tumblr and Google Business Profile.

Can Cline schedule posts for a specific date and time?

Yes. Put the date and time in the prompt — for example "schedule this for Friday at 9:00 AM" — and Cline schedules the post for then. iHatePosting reads the time in your account's timezone, and you can ask Cline to move a scheduled post to a new time.

One connection reaches every network

Connect your accounts in iHatePosting once. From then on Cline can post to any of them, and we publish at the time you set — even after you close the chat.

  • Bluesky
  • X
  • LinkedIn
  • Facebook
  • Instagram
  • Threads
  • Pinterest
  • TikTok
  • YouTube
  • Mastodon
  • Telegram
  • Discord
  • Tumblr
  • Google Business
  • Slack

Ready to post everywhere from Cline?

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

Sign Up