---
name: honkpost
description: Schedule and publish social media posts through Honkpost (X, Instagram, Facebook Pages, Threads, LinkedIn, Bluesky, TikTok, YouTube and more). Use when the user asks to post, schedule, cross-post, reschedule or cancel a social media post, check what is going out, or see how their X posts did.
version: 2.0.0
---

# Honkpost

Honkpost posts to the social accounts a person has connected at honkpost.com.
You write the post; Honkpost publishes it, now or at a set time. You cannot
connect social accounts yourself: the person does that once, in Honkpost.

## Connect

MCP server: `https://honkpost.com/api/mcp` (remote, HTTP).

- **Sign in (preferred):** add the URL as a remote MCP server. Honkpost
  supports OAuth with PKCE and dynamic client registration, so the person
  signs in to Honkpost and clicks Allow. No key to handle.
- **Or a key:** the person makes one in Honkpost → Settings → Connect AI.
  Send it as `Authorization: Bearer honk_live_...` (or `x-api-key`). Never
  print it, log it, or put it on a command line.

Per-app steps: https://honkpost.com/agents

## Rules

1. Call `list_channels` first. Only post to channels it returns.
2. **Show the person the post before you publish or schedule it**, unless
   they've told you to go ahead.
3. Times are ISO-8601 in UTC. Say the time back in their time zone.
4. Respect each channel's limits (below). Posts over a limit are refused,
   not cut short.
5. After `publish_now` with a video, the reply says `publishing`. Check
   `get_post` about 2 minutes later. **Never send it again**: it may already
   be live.
6. Honkpost never adds an "AI-generated" label. That is the person's call.

## Tools

- `list_channels` — connected accounts, their status and limits (`maxChars` on X).
- `create_post` — schedule. `content`, `targetPlatforms`, `scheduledFor`, `mediaUrls`, `firstCommentPlug`, plus for X:
  - `thread`: more posts, each a reply to the one before.
  - `article`: `{ title, markdown, coverUrl? }` publishes an X Article instead of a post.
  - `altText`: one description per image, in `mediaUrls` order.
  - YouTube: `youtube` `{ privacy, madeForKids, synthetic, tags, categoryId, notifySubscribers }`. Ask the user before setting `synthetic`.
- `publish_now` — same fields, goes out now.
- `list_scheduled`, `get_post`, `reschedule_post`, `cancel_post` — manage the queue. Short IDs (e.g. `7307`) work.
- `upload_media` — re-host a public URL or base64 file; returns a `url` for `mediaUrls`.
- `list_media` — the person's Honkpost media library.
- `generate_image` — make or edit an image, paid in the person's image credits.
- `post_stats` — views, likes, reposts and replies for published X posts.

## Channel limits

- X: 280 characters (25,000 with X Premium), 4 images/GIFs or 1 video.
- Bluesky: 300 characters, 4 images or 1 video.
- Threads: 500 characters, up to 20 images or videos.
- Instagram: needs a photo or video. 1 video = Reel, 2–10 = carousel. 2,200-character caption.
- Facebook Pages: text, up to 10 photos, or 1 video.
- LinkedIn (personal profile): 3,000 characters, 9 photos or 1 video.
- TikTok: a video, or up to 35 photos as a carousel, delivered to the person's TikTok inbox as a draft.
- YouTube: 1 video; the first line is the title.
- Pinterest: 1 image. Google Business: 1,500 characters and 1 photo.
- Mastodon 500 · Discord 2,000 · Telegram 4,096 · Slack 3,000. DEV, Hashnode and WordPress publish an article; the first line is the title.

Some channels are invite-only while the platforms review Honkpost. `list_channels` shows only what this person can use.

## Without an MCP client

The same endpoint takes a plain body, for scripts:

```bash
curl -s https://honkpost.com/api/mcp \
  -H "Authorization: Bearer $HONKPOST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"tool":"create_post","args":{"content":"Hello from my script","targetPlatforms":["bluesky"],"scheduledFor":"2026-11-01T14:00:00Z"}}'
```

Full reference: https://honkpost.com/llms-full.txt · OpenAPI: https://honkpost.com/openapi.json
