Developers

Publishing infrastructure for your AI agents

Give Claude, ChatGPT or your own agent the ability to publish to every major platform, with the same rules and approvals your team uses.

Read the docs

For AI agents

ANYPOST is built to be found and used by AI assistants without reading this page. Point any agent at one of these:

/llms.txtOne-page summary for LLMs: what ANYPOST does, endpoints, tools, rulestext
/llms-full.txtFull docs in one Markdown filetext
/api/v1/openapi.jsonOpenAPI 3.1 spec for every REST endpointjson
/mcpRemote MCP server (Streamable HTTP, OAuth sign-in)mcp
npx anypostCLI with --json output and stable exit codescli

Every page of this site is also available as Markdown by adding .md to its URL. ANYPOST is listed in the official MCP Registry and as a Claude connector.

CLI

# install (or use npx)
npm i -g anypost        # or: brew install anypost
anypost login            # opens the browser, stores the key in your keychain

# one post, AI writes each version and picks the time
anypost post "We just launched exam-based teacher search" \
  --to x,linkedin,threads --lang en,ja --at auto

# a video; TikTok always waits for you to confirm in the app
anypost post --file lesson.mp4 --to tiktok --caption auto

# a week of posts from an article
anypost plan --from https://blog.anytutor.ai/learn-anything --week next

anypost ls --status scheduled --json | jq '.[].id'
anypost retry post_8f2c
anypost mcp              # local stdio MCP server for clients without remote MCP
Exit codeMeaning
0Done
1General error
2Needs confirmation (re-run with --yes, or confirm in the app for TikTok)
3Blocked by a workspace rule
4Rejected by the platform

In CI, set ANYPOST_API_KEY. Without --yes, the CLI prints a preview and asks before anything is published.

MCP server

Add ANYPOST to any MCP-compatible client. Create a key in Settings → API keys, then add:

{
  "mcpServers": {
    "anypost": {
      "url": "https://anytutor.ai/anypost/mcp",
      "headers": { "Authorization": "Bearer ap_live_…" }
    }
  }
}

Then just ask your assistant: “Post this announcement to X and LinkedIn tomorrow at 9.”

Tools

list_channelsConnected channels and their limitsread
generate_variantsWrite a version per platform and languageread
create_draftSave a post as a draftwrite
schedule_postSchedule or publish. Follows your autonomy rulesfollows rules
update_postChange text or time of a scheduled postwrite
get_calendarPosts in a date rangeread
get_analyticsResults by post, channel or periodread

Posts created through MCP land in the same calendar and approval queue as everything else. TikTok posts always wait for the account owner to confirm.

REST API

# Let ANYPOST write the versions and pick the time
curl https://anytutor.ai/anypost/api/v1/posts \
  -H "Authorization: Bearer ap_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "channels": ["x_anytutor", "linkedin_anytutor"],
    "text": "We just launched exam-based teacher search.",
    "variants": "auto",
    "languages": ["en", "ja"],
    "schedule_at": "auto"
  }'

The response contains one post per channel and language, each with a status: scheduled, needs_approval or failed.

Authentication

Use a secret key in the Authorization header. Keys are scoped to one workspace, can be read-only, and are shown in full only once. Rotate them anytime.

Limits & safety

  • Your workspace rules (daily caps, quiet hours, banned words) apply to every API and MCP call.
  • Deleting posts through the API is off by default.
  • Each platform’s own rate limits are respected automatically; requests are queued, not dropped.

Webhooks

Get notified when a post is published, fails or needs approval: post.published, post.failed, post.needs_approval.

Your next post is one sentence away.

Start free with 3 channels. Connect your first account in under a minute.