{
  "markdown": "# postwire-mcp\n\n**Your agent writes the post, picks the right shape for each network, and publishes it.**\n\nAn [MCP](https://modelcontextprotocol.io) server for [PostWire](https://postwire.io/?utm_source=github&utm_medium=readme&utm_campaign=postwire_mcp). Give Claude, Cursor, or any agent one idea and it publishes a *native* post to TikTok, Instagram, YouTube, X, LinkedIn, Reddit, Bluesky, Mastodon, Telegram and Discord — not the same text pasted ten times.\n\n```\nyou:    \"post the demo video — we shipped scheduling today\"\nagent:  → YouTube  title + description + tags, 16:9\n        → TikTok   hook in the first line, 4 tags\n        → LinkedIn no link in the body, link in the first comment\n        → X        under 280, link in a reply\n        published. 4/4.\n```\n\n## Quick start\n\n1. Get a free API key at **[postwire.io/dashboard.html](https://postwire.io/dashboard.html?utm_source=github&utm_medium=readme&utm_campaign=quickstart)** and connect an account. One OAuth click — PostWire already holds the platform approvals, so there is no app review to wait for.\n2. Add it to your MCP client:\n\n```json\n{\n  \"mcpServers\": {\n    \"postwire\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"postwire-mcp\"],\n      \"env\": { \"POSTWIRE_API_KEY\": \"pw_live_your_key\" }\n    }\n  }\n}\n```\n\nClient-specific setup: [Claude Desktop](https://postwire.io/mcp/claude-desktop/) · [Claude Code](https://postwire.io/mcp/claude-code/) · [Cursor](https://postwire.io/mcp/cursor/) · [VS Code](https://postwire.io/mcp/vscode/) · [Windsurf](https://postwire.io/mcp/windsurf/)\n\nNo key yet? `list_platforms` still answers, so you can see what is supported before signing up.\n\n## Tools\n\n| Tool | What it does |\n|---|---|\n| `generate_posts` | **Smart Distribute.** One prompt → a draft written for each platform: character limits, hashtag conventions, YouTube SEO title+tags, hook-first captions for TikTok, link-in-comment for LinkedIn. Returns drafts for you to review. |\n| `post_to_social` | Publishes. Takes one text for all, or `per_platform` drafts from `generate_posts`. |\n| `get_post_status` | Publish state for platforms that report one back (TikTok and YouTube process asynchronously). |\n| `list_platforms` | Every supported network and the fields it needs. Works without a key. |\n| `my_account` | Plan, posts used this month, which accounts are connected. |\n\nFailures are refused up front rather than half-published: a video network with no video, text over a platform's limit, or an account that was never connected all come back as a clear error *before* anything goes out. A four-network post never leaves you with two live and two silently missing.\n\n## Platforms\n\n**One OAuth click** — TikTok · Instagram · YouTube · X · LinkedIn · Reddit · Facebook\n**Token or webhook** — Bluesky · Mastodon · Telegram · Discord\n\n## Pricing\n\nPer **brand**, never per network. Connect a business once and every one of its accounts is included.\n\n| | Brands | Posts/month | |\n|---|---|---|---|\n| **Free** | 1 | 30 | no card |\n| **Starter** | 3 | 300 | $9/mo |\n| **Pro** | 10 | 2,000 | $29/mo |\n| **Agency** | 50 | 15,000 | $99/mo |\n\nTen client businesses on five networks each is **$29 here**. Buffer bills per channel; Ayrshare's comparable tier is $299.\n\n## REST too\n\nEverything the MCP server does is a plain HTTP call, if you would rather not run an MCP client:\n\n```bash\ncurl -X POST https://postwire.io/api/post \\\n  -H \"Authorization: Bearer $POSTWIRE_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"platforms\":[\"x\",\"bluesky\"],\"text\":\"shipped.\"}'\n```\n\nDocs: [postwire.io](https://postwire.io/?utm_source=github&utm_medium=readme&utm_campaign=docs)\n\nMIT © PostWire\n",
  "bytes": 3648,
  "sha": "7458a2d379b9dc00bc6ececbcfcfc0a8eaee37bb1db021de0efc494c1830f017",
  "repo_slug": "perufitlife/postwire-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_perufitlife_postwire_mcp_dd92e48c/readme"
}