Poke by Interaction + custom MCP integration

Schedule social posts from Poke

Connect posterly to Poke with a custom MCP integration. Paste the posterly MCP URL and your API key once, then text Poke to create, schedule, and analyse posts across 18 platforms.

Hero prompt

List my posterly accounts, draft one caption for LinkedIn, X, and Instagram, find the next free slot, show me the drafts, and wait for my yes before scheduling.

Get Starter + API · $10/moCreate API keyWhat is Poke?
Preview what is copied
# posterly for Poke

posterly is the publish layer. Poke is the text-message layer. Add a custom MCP integration, then schedule by text after the user approves.

posterly publishes to 18 platforms: Instagram, Facebook, TikTok, X, LinkedIn, YouTube, Pinterest, Threads, Google Business, Telegram, Bluesky, Discord, Slack, Mastodon, Dev.to, Hashnode, WordPress, Lemmy.

## Connect

Open https://poke.com/integrations/new. Name: posterly. MCP Server URL: https://www.poster.ly/api/mcp. API key: pst_live_your_key_here.

A one-click recipe has been submitted and is pending. Until it lands, the custom integration is the way to connect.

Poke is hosted HTTP only. No npx, no file_path.

## Are we connected yet?

1. Call `whoami` (no params). Confirm the user, scopes, and workspaces.
2. Call `list_accounts` (`workspace_id` optional). If none are connected, stop and send the user to connect social accounts in posterly. Do not invent account IDs.
3. Prefer `validate_post` before `create_post`. Show the preview. Wait for a clear yes.
4. Only then call `create_post` with `confirm: true`. Never publish or schedule live without that approval.
5. Prefer `scheduled_at` (ISO 8601 UTC) or `find_available_slot` (`account_ids`, `timezone`, `count`). Do not publish immediately unless the user asks.

## Rules

- posterly is the publish layer. This client is the chat or agent layer.
- Never collect card details, posterly passwords, or social-network passwords. Send the user to https://www.poster.ly/agents/signup or https://www.poster.ly/dashboard/api.
- Point to https://www.poster.ly/mcp for the rest of the 64 hosted HTTP MCP tools (67 on the local stdio package).
- After a post is created, send the View in posterly link. Avoid raw JSON dumps unless the user asks to debug.

## Media (honest)

Chat attachments never reach MCP. The paperclip in this chat does not give posterly the file.

The ~4MB limit is the **Vercel request body** on posterly API routes (`/api/mcp`, `POST /api/v1/media/upload`). It is not an MCP protocol cap and not the plan storage cap. Base64 inflates files, so hosted `upload_media` is small images only (relay cap 5MB decoded).

- Public HTTPS URL: `upload_media` with `url` (optional `filename`, `content_type`) or pass `media_url` / `media_urls` on `validate_post` / `create_post`. Server fetch: about 5MB relay, 60MB hard cap. Large R2/S3 URLs fail with `remote_media_too_large`.
- Hosted `upload_media`: required `filename` + `base64_data`. Optional `content_type`. Hits the 4MB Vercel body. JPEG, PNG, GIF, WebP, MP4, MOV, WebM. HEIC is unsupported.
- Laptop file in ChatGPT web, Claude.ai, or Gemini web: `create_media_drop` (optional `filename`, optional `max_files`, 1 to 20, default 10). Send the user `drop_url` (`https://www.poster.ly/drop/<token>`). They open it with no dashboard login and drop up to 20 files per link (JPEG, PNG, GIF, WebP, MP4, MOV, WebM, or PDF up to 50MB for LinkedIn document posts; HEIC is not accepted). Then `list_media` (`drop_session_id`) and pass `public_url` to `validate_post` / `create_post`. This is not the chat paperclip.
- Larger files, when this client can HTTP PUT: `create_signed_upload` (`filename`, `content_type`, `size`, or `files` for 1 to 20 files in one call), PUT the raw bytes of each file to its `upload_url` (object storage, not a posterly API route) with the returned headers (send the returned `Content-Type` exactly: pinning is available per request with `pin_content_type: true`, and posterly may turn it on by default in the future), then pass `public_url` to `create_post`. That PUT does not hit the 4MB body. Plan video caps: Starter 500MB, Pro 750MB, Power 1GB, Agency 4GB. A PDF (up to 50MB) also works: create the post with `post_type` `document`, `media_url` set to its `public_url`, and a `document_title` in `settings` (LinkedIn only).
- This client is hosted HTTP MCP, so there is no local `file_path`. Small images: public URL or base64 `upload_media`. Laptop video: `create_media_drop` then `list_media`. PUT after `create_signed_upload` only if this runtime can PUT (Cursor Cloud, Codex HTTP).

## Starter tools

- `whoami` (none): Call first. Returns the authenticated user, API key scopes, and workspaces.
- `list_accounts` workspace_id?: Connected social accounts. Stop if this is empty and send the user to connect accounts in posterly.
- `validate_post` account_id or username+platform, caption, scheduled_at?, media_url?, media_urls?, post_type?, workspace_id?: Dry run. Does not create a post. Use this before showing a preview.
- `create_post` same as validate_post, plus confirm: true (required): Destructive write. Refuse unless the user clearly approved caption, account, media, and schedule.
- `upload_media` filename, base64_data (hosted), or url. content_type optional. Stdio also accepts file_path.: Hosted path is base64 with a decoded file of 5MB or less. With url, posterly fetches a public HTTPS URL into storage (localhost and private IPs are blocked). Chat paperclip files never arrive here.
- `create_signed_upload` filename, content_type, size, or files (1 to 20): Bypasses the Vercel ~4MB API body. Returns upload_url (object storage) and public_url. PUT raw bytes to upload_url, then pass public_url to create_post. Pass files to get up to 20 slots in one call (one per file, failed files reported in place, slots expire in 15 minutes). Use this when the client can PUT (Cursor, Claude Code, Codex).
- `create_media_drop` filename?, max_files?: Creates a no-login page at https://www.poster.ly/drop/<token> that takes up to 20 files (max_files, default 10). Send drop_url to the user. ChatGPT web, Claude.ai, and Gemini web laptop files use this, then list_media. Not the chat paperclip.
- `list_media` limit?, drop_session_id?: Newest media assets. After create_media_drop, pass drop_session_id and use public_url on validate_post / create_post.
- `find_available_slot` account_ids?, timezone?, workspace_id?, count?: Always pass timezone explicitly (IANA, e.g. Europe/London). Respects a 1-hour gap.
- `generate_captions` platforms (required), brief?, tone?, count?, mode?, source_caption?: Returns caption options only. It does not schedule or publish.
- `list_posts` status?, platform?, account_id?, workspace_id?, limit?: Upcoming or recent posts. status is scheduled, published, failed, or draft.

## Example prompts

- List my posterly accounts and tell me which ones are connected.
- Find the next free slot for my LinkedIn account, then draft a post for tomorrow morning. Show me before scheduling.
- Write three caption options for this photo, then ask me before scheduling.
- Draft one caption for LinkedIn, X, and Instagram and wait for my yes before create_post.
- Show my last scheduled posts and what is coming up this week.
- I have a public image URL. Fetch it with upload_media (url), validate_post, and wait.
- Do not publish immediately. Prefer a scheduled slot unless I say post now.

## Links

- Human landing: https://www.poster.ly/poke
- MCP hub: https://www.poster.ly/mcp
- Poke guide: https://www.poster.ly/guides/poke-guide
- AI agents: https://www.poster.ly/agents
- Agent signup: https://www.poster.ly/agents/signup

Same posterly access layer as Claude, ChatGPT, Cursor, OpenClaw, and Hermes.

What it looks like in chat

Draft, validate, then approve. Your AI never publishes until you say so.

your AI · connected to posterly MCP

Never posts without approval · validate_post before create_post

View in posterly

Works with Claude, ChatGPT, Gemini, Cursor, OpenClaw, Hermes, Grok Bot, Muse, Poke, Manus, Cue, and any MCP client.

One-click recipe coming soon. A prebuilt posterly recipe for Poke is in review. Until it lands, the custom integration below is the way to connect, and it takes about a minute.

Get Poke connected in three steps

Create an API key, add the custom integration in Poke, then start texting.

1

Enable API & MCP access

API access starts at $3/month on individual plans, with Agency API at $29/month. Buy plan + API in one checkout, then create an API key in Dashboard → API & MCP.

Open API dashboard
2

Add posterly as a custom integration

In Poke, open the new integration screen, give it a name, paste the posterly MCP URL, and drop in your API key.

Open Poke integrations
3

Text Poke to schedule

Once connected, message Poke to list accounts, find an open slot, generate captions, and create posts.

Read API reference

Add posterly as a custom integration

Poke connects to any MCP server over HTTPS. In Poke, open Settings, go to Connections, and add a custom integration (the advanced option at poke.com/integrations/new). Fill in three fields.

What to paste into Poke

Name

posterly

Anything you like. This is just the label Poke shows in your integrations list.

MCP Server URL

https://www.poster.ly/api/mcp

The hosted posterly MCP endpoint. No local install, no npm package.

API key

pst_live_your_key_here

From your posterly API dashboard. Poke sends it as Authorization: Bearer on every request.

Leave the API key field empty only for no-auth servers. posterly needs the key, so paste it here.

What Poke sends under the hood

Poke calls the hosted posterly MCP endpoint over HTTPS and forwards your key as a bearer token. This is the same HTTP MCP layer Claude, Cursor, and Hermes use.

POST https://www.poster.ly/api/mcp
Authorization: Bearer pst_live_your_key_here
Content-Type: application/json

{ "jsonrpc": "2.0", "id": 1, "method": "tools/list" }

Discovery metadata lives at /.well-known/mcp/server-card.json and auth metadata at /.well-known/oauth-protected-resource.

No npm package required. See the full MCP setup guide for other clients.

What Poke can do once connected

The MCP server exposes the same core tools as the API add-on, with structured schemas for safer use.

Common tools

whoamicreate_api_keylist_accountslist_brandscreate_postlist_postsask_supportfind_available_slotupload_mediagenerate_captionsgenerate_imagelist_analytics
  • whoami: You, your scopes, and your workspaces, MCP server and connection status
  • list_accounts: Connected accounts, Learned voice of an account, Performance profile of an account, Check a connect session
  • list_brands: All brands, One brand, Brand accounts, Brand profile
  • list_posts: Posts, one page at a time, Post counts by day, status, account, and brand
  • upload_media: Upload a file, Upload from a URL
  • list_analytics: Account analytics, Post analytics, Post insights
See all MCP tools

Example texts to Poke

  • “List my posterly accounts and tell me which ones are connected.”
  • “Find the next free slot for @awpthorp, then draft a LinkedIn post for tomorrow morning.”
  • “Write three caption options for this photo, then ask me before scheduling.”
  • “Show my last 30 days of Instagram analytics and suggest what to post next.”

Post to 18 platforms

Poke can schedule through posterly to every supported social platform.

Browse every platform MCP server for the tools, limits, and connection steps on each network.

Related setup guides

Poke is one route into the same API, MCP, and agent layer. These pages pair well with it.

Pricing

One Stripe subscription: your plan plus API & MCP, with a 7-day free trial for new accounts.

API, MCP & Agent Access

$10/month

Starter $7 + API $3, with a 7-day free trial for new accounts, then billed monthly, or yearly from the pricing page.

  • Hosted HTTP MCP, no npm install for Poke
  • Works with Poke, Claude, ChatGPT, Cursor, OpenClaw, Hermes
  • 64 hosted HTTP MCP tools covering 100 actions for status checks, scoped API keys, schemas, scheduling, support, media, brands, analytics, webhooks, OAuth, connect sessions, subscription management, and GBP
  • 100 create-post requests/hour plus separate media/read limits
  • All 18 supported platforms
Get Starter + API · $10/mo

Poke questions

How do I connect posterly to Poke?+

In Poke, open Settings, go to Connections, and add a custom integration at poke.com/integrations/new. Set the name to posterly, the MCP Server URL to https://www.poster.ly/api/mcp, and paste your posterly API key. That is it.

Is there a one-click Poke recipe?+

It has been submitted and is pending approval, so it is coming soon. Until then, use the custom integration in the advanced settings. When the recipe is live, this page will be updated with the shorter flow.

How is my API key used?+

Poke stores the key you paste and sends it as Authorization: Bearer on every request to the posterly MCP endpoint over HTTPS. Generate and revoke keys anytime from the posterly API dashboard.

Do I need the npm package?+

No. Poke talks to the hosted HTTP MCP endpoint, so there is nothing to install. You only need the URL and your API key.

What can Poke schedule?+

All 18 posterly platforms: Instagram, Facebook, TikTok, X, LinkedIn, YouTube, Pinterest, Threads, Google Business, Telegram, Bluesky, Discord, Slack, Mastodon, Dev.to, Hashnode, WordPress, Lemmy.

Ready to connect Poke?

Get Starter + API in one checkout, create a key, then add the custom integration in Poke and text your way to a full content calendar.