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)mcpnpx anypostCLI with --json output and stable exit codescliEvery 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 code | Meaning |
|---|---|
| 0 | Done |
| 1 | General error |
| 2 | Needs confirmation (re-run with --yes, or confirm in the app for TikTok) |
| 3 | Blocked by a workspace rule |
| 4 | Rejected 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 limitsreadgenerate_variantsWrite a version per platform and languagereadcreate_draftSave a post as a draftwriteschedule_postSchedule or publish. Follows your autonomy rulesfollows rulesupdate_postChange text or time of a scheduled postwriteget_calendarPosts in a date rangereadget_analyticsResults by post, channel or periodreadPosts 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.