PostWire
Writes a native post per network from one idea and publishes it: TikTok, Instagram, YouTube & more
Connector by Perufitlife · GitHub account verified by the MCP Registry
Install
Works with Claude Code, VS Code, Codex, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/perufitlife-postwire-mcp
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Remote endpoint
https://postwire.io/api/mcpRemote (HTTP)
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.
- Tools
- 10 read · 10 write · 2 delete
- Secrets
- 2 (API keys, tokens or passwords)
- Install scripts
- Not scanned yet
- Runs as
- Node.js package
Tools by what they do 22
From the running server's own tool list (tools/list) on Oct 25, 2026.
Read 10 · Look things up without changing anything.
check_video_qualityget_post_performanceget_post_statusget_upgrade_linkget_uploaded_fileget_x_creditslist_brandslist_platformslist_scheduled_postsmy_account
Write 10 · Create, change, send or run things.
bulk_schedulecreate_brandcreate_connect_linkcreate_recurring_postcreate_upload_linkgenerate_postsmake_video_from_textplan_weekreplicate_top_postschedule_post
Delete 2 · Delete, drop, revoke or wipe things.
cancel_scheduled_postpost_to_social
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
AuthorizationPOSTWIRE_API_KEY
Network hosts it talks to 1
postwire.io· found in remote endpoint, install command
Tools (22)
As the server listed them on Oct 25, 2026. Descriptions are the server’s own words; hidden characters are shown as [U+…].
bulk_scheduleSchedule many posts at once (CSV or rows)Checks, and on request schedules, many posts at once: a CSV file's text (csv) or a list of rows (rows), each row one post with the columns date ("2026-10-12 09:00" in the row's or the upload's timezone, an ISO time with offset, or "next_slot"), networks ("linkedin, x"), text, optional text_<network> (each network its own text), media_urls (https links; video: or document: prefix), alt_text, first_comment (LinkedIn, Bluesky, Mastodon), x_reply and x_thread (X), title, brand and label. dry_run defaults to true: nothing is scheduled and the result lists, for every row, the time it would go out, i…
cancel_scheduled_postCancel a scheduled postcan change or delete dataCancels a queued or held post, or withdraws one waiting for approval, so it is never published (a withdrawn post's approval links stop working). Only works before it starts publishing. Takes the id of the scheduled post.
check_video_qualityCheck how TikTok will treat a video before posting itread-onlyReads the header of a video file at a public https URL (an upload's media_url works) and says what TikTok will do with it: codec and profile, width x height, fps, average bitrate (kbps), duration, HDR/10-bit, audio codec, and a verdict — keeps_quality (TikTok leaves it looking the same), recompressed (TikTok visibly re-encodes it: HEVC/AV1, HDR or 10-bit, above 1080x1920, above 30 fps, above 16 Mbps) or unknown (the header could not be read). advice lists what to change and message_for_user is one sentence with the export settings TikTok leaves almost untouched (1080x1920, H.264 High, 30 fps, …
create_brandCreate a brandCreates a new, empty brand (a separate business with its own connected social accounts) on the PostWire account and returns its id. The plan limits the number of brands; at the limit nothing is created and the response names the plan that includes more brands, its monthly price and a checkout link.
create_connect_linkGet a link to connect a social accountCreates a one-hour link the user opens in a browser to connect social accounts (TikTok, Instagram, YouTube, Facebook Pages, LinkedIn, Bluesky…) to their PostWire account: the page shows each network as a button, signs in to it on the network's own page, and then offers the next one, so several networks can be connected from one link. Nothing is connected until the user completes it on the page. With platform the page offers only that network; with brand_id the accounts are connected to that brand. Instagram opens with Log in with Instagram (a Business or Creator account, no Facebook Page neede…
create_recurring_postSet up a recurring postSets up a post that repeats on a schedule: daily, weekly on some weekdays, or monthly on some days of the month (31 falls on the last day of shorter months; -1 = the last day), every N days, weeks or months, at 1-4 times a day in a timezone (daylight saving handled), from a start date until an end date or for a number of times. variants (a list of texts) are used in turn, so the same text does not repeat every time. The duplicate guard (guard_days, default 3, 0 = off) skips a network where the same text went out in the last guard_days when an occurrence is published: networks flag repeated pos…
create_upload_linkGet a link to upload a photo or videoCreates a single-use link, valid for 24 hours, to a PostWire page where the user picks one photo or video from any device (JPG, PNG, WebP, GIF, MP4, MOV or WebM, up to 1 GB; big videos upload in parts automatically). The file stays in the account's PostWire media storage while a scheduled post needs it, is deleted the day after that post is published, and 7 days after upload if no post uses it (2 days on the Free plan; so post or schedule it soon). A file attached to a chat does not reach PostWire; this page is how it gets there. Returns the page url, an upload_id for checking the upload's sta…
generate_postsWrite a native draft for each platformWrites one draft per platform from a single idea, adapted to each network's rules (character limit, hashtags, title and tags for YouTube, hook-first caption for TikTok and Reels, link placement for LinkedIn, Slack formatting, plain text for Nostr). For the blogs (wordpress, devto, hashnode) the draft is a full article: title (<= 70 characters), summary (120-160 characters), a Markdown body with H2 sections, and 3-5 tags (Dev.to: 4). Nothing is published. Returns { drafts: { <platform>: { text, title?, tags?, summary?, thread?, first_comment? } } } and, if the writer skipped a platform, { missi…
get_post_performanceShow what works: best posts, times and patternsread-onlyReturns what the account's own numbers say works, over the last 90 days, computed from the numbers each network reports (no estimates): the published posts ranked against the median of the same social account on the same network, each with its network, brand, link, excerpt, metric (views where the network reports them, otherwise likes + reposts + replies), value, that median, n (posts in the median), a verdict (winner at 2x the median or more, under at half or less) and what the post had (format, first-line type, question, emoji, number up front, day and time, length, hashtags); best_times: th…
get_post_statusCheck a post's publishing statusread-onlyReturns the status and link of a published post, by platform and the post id returned when it was published, plus `verification`: PostWire's own independent read-back of the post from the network (state live / processing / accepted / not_public / gone / failed / unverifiable, with what the network answered and when), separate from the API response the publish got. PostWire re-reads every post 10 min, 1 h, 6 h, 24 h and 72 h after publishing; this call reads it again now. For a post that is waiting for approval or scheduled, pass the id PostWire returned for it (platform can then be omitted): t…
get_upgrade_linkShow plans and get an upgrade linkread-onlyReturns PostWire's paid plans with their monthly price and what each includes (posts a month, brands, AI drafts a day, networks per post, scheduled posts at a time), the account's current plan, and a checkout link for one plan (the next plan up when none is given). The link opens a Stripe payment page in the browser and nothing is charged unless the user pays there; for an account that already has a subscription it opens the plan page of the PostWire dashboard.
get_uploaded_fileCheck an uploaded fileread-onlyReturns the status of a file uploaded through a PostWire upload link, by upload_id: "waiting" until the file has arrived, then "done" with its media_url (an https URL valid for 6 hours, renewed when the post goes out, that works as video_url or photo_url), kind (photo or video), size and content type.
get_x_creditsShow my X (Twitter) creditsread-onlyShows what posting to X (Twitter) costs this account and what it has left. X is a pay-per-use add-on of the paid plans (Starter, Pro, Agency, Scale; not Free, not during a trial): 1 X credit = 1 plain X post, a post with a link uses 10, each image or video adds 1. Returns mode (paid, free, trial or internal), the plan's monthly X credits, used and left, top-up credits, X posts today against the daily limit, the price table, the last movements, and links to buy top-up credits (80 credits for $5, 340 for $20; each opens a Stripe payment page, nothing is charged unless paid there). With text, it …
list_brandsList brands and their connected accountsread-onlyLists the account's brands (one business each) with the social accounts connected to each: platform, the handle, display name, picture and profile link the network reports, when it was connected, and whether posts to it need only text, a video, or a photo or video. Also returns the plan's brand limit.
list_platformsList supported platformsread-onlyLists the social platforms and destinations PostWire can publish to and, for each, whether it connects with OAuth or with credentials (fields, plus optional_fields), and kind "article" for the blogs (WordPress, Dev.to, Hashnode), where a post is an article with a title. Does not need a PostWire account.
Show 7 more tools
list_scheduled_postsList scheduled postsread-onlyLists the account's scheduled posts (queued, held, pending_approval = waiting for a person to approve it, publishing, processing = sent and Instagram is still processing the video, done, failed, rejected = not approved, or canceled) with their id, time, platforms and status. Optional from/to limit the time range.
make_video_from_textMake a short video from a post's wordsMakes a short vertical video from the words of a post, for networks that take only video (YouTube) or video or photos (TikTok): an MP4 of 1080x1920, 8 to 12 seconds, H.264 with AAC sound. The first line appears as a large heading and up to two more sentences appear one after another over a softly moving plain background, with royalty-free background music or silence; an optional footer line (for example the brand's name) sits under the text. Emoji, links and trailing hashtags are left out and no PostWire mark is added. Draws Latin, Greek and Cyrillic text. No AI is used and nothing is publishe…
my_accountShow my PostWire accountread-onlyShows the signed-in PostWire account: plan, usage against each plan limit (posts this month, brands, AI drafts today, networks per post, scheduled posts waiting), brands, and which social accounts are connected, each with its brand and the handle, display name and picture the network reports for it. When a limit is at least 80 % used, the result includes the plan that raises it, its monthly price and a checkout link. On the free plan it also includes insights_teaser: how many What works patterns are ready and how strong they are. When no social account is connected, it includes a one-hour link…
plan_weekPlan and schedule a week of postsWrites one post per day for 1 to 7 days from a single topic, each day from a different angle and each platform in its own native format, and queues them to be published publicly at the given hour on each day starting tomorrow, through the connected accounts. Text only: platforms that require a video or photo (TikTok, YouTube, Instagram) are refused. Every platform must already be connected. The whole week counts as one AI draft toward the daily AI limit. Every day is written; days that do not fit in the plan's monthly post limit or in its scheduled-posts limit (Free: 3 waiting at a time) are s…
post_to_socialPublish a post nowcan change or delete dataPublishes a post immediately and publicly to the listed platforms through the social accounts connected to the user's PostWire account. A published post cannot be withdrawn from PostWire. Accepts one text for all platforms or a separate per_platform draft for each. YouTube requires video_url; TikTok requires video_url or photos (photo_url or media); Instagram requires a photo or video, and two or more media items make a carousel. Every platform must already be connected; otherwise nothing is published and the error names the missing ones. The same payload sent twice within 2 minutes is refused…
replicate_top_postDraft new posts modelled on a top postWrites new drafts, one per platform, that reuse the structure, opening type, length, format and tone of one of the account's published posts, on a new topic or a new angle; the reference post's sentences are not reused. Nothing is published or scheduled. Takes the id of a published post of the account (the ids that the account's post performance results list). Counts toward the account's daily AI limit. Available depending on the account's plan. Returns { drafts: { <platform>: { text, title?, tags? } }, reference }.
schedule_postSchedule a postQueues a post to be published at a future time (run_at, ISO 8601 with timezone, up to 365 days ahead), or in the brand's next free queue slot (run_at "next_slot": the earliest weekly slot all its platforms share that no other waiting post of the brand uses; the result gives the time chosen) through the connected accounts. Takes the same content fields as publishing now. Every platform must already be connected and media must suit each platform, or it is refused now instead of failing later. When a platform is connected in more than one brand and brand_id is omitted, nothing is queued and the e…
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit
- Oct 24, 2026 (5 days ago)
- Last release
- Oct 24, 2026 (5 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Registry name
io.github.Perufitlife/postwire-mcp- Version
- 0.4.0
- Auth
- Bearer token, API key
- Packages
- npm postwire-mcp
- License
- License unknown
- Repository
- github.com/Perufitlife/postwire-mcp
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
More from Perufitlife
- 0.587score

Rotate Pilot — FAA exam prep
Perufitlife
FAA written-test prep: practice questions, readiness diagnostic, METAR/TAF, drone airspace
ConnectorAFreshness: ARemoteRead-onlyClaude Code +3 - 0.574score
Incomeos
Perufitlife
Ask what you earn across every income stream: Stripe, affiliates, app stores, ads, manual.
ConnectorBFreshness: BLocal★ 2Claude Code +5 - 0.535score
Multi Scraper MCP
Perufitlife
14 web scrapers as MCP tools: Reddit, Amazon, Google Maps, Yelp, YouTube, Indeed & more.
ConnectorCFreshness: CLocal★ 4Claude Code +5 - 0.522score
Aviation MCP
Perufitlife
Live aviation data for AI agents: METAR weather, airports, aircraft, glossary & FAA questions.
ConnectorCFreshness: CRemoteRead-only★ 2Claude Code +3 - 0.488score
Deep Research MCP Server
Perufitlife
Web search, clean page reading & one-call research dossiers for AI agents.
ConnectorCFreshness: CLocalRead-onlyClaude Code +5
Cite this page
PostWire MCP server. Agent Mart. https://agentmart.dev/connectors/perufitlife-postwire-mcp (last updated 2026-10-24)