Hosted MCP server · early access

Publish to YouTube and Instagram
from any AI.

Pushwing is a hosted MCP server. Connect your channels once; Claude, ChatGPT, Cursor and any MCP client get tools to upload, schedule, set thumbnails, read analytics and reply to comments. Nothing goes public until you confirm the preview.

claude · pushwing25 tools
Upload the final cut as private, title it 'Episode 12 — Building in public', set the thumbnail, then schedule the Reel for Friday at nine.
upload_media_from_url ✓youtube_upload_video ✓youtube_set_thumbnail ✓instagram_publish_reel preview
Episode 12 — Building in publicYouTube Private
Friday teaserReel Fri 09:00
Video is up as private. The Reel is a public post, so here's the preview. Publish it on Friday at 09:00?Awaiting your confirmation
Preview shown before anything goes public.
Works from the AI you already use
The whole publish loop

Everything in the publish loop, not just the upload. Twenty-five tools, one confirm gate, every call on record.

25 tools across YouTube, Instagram, media and jobs. Reads come back directly; uploads and publishes return a job you can poll or cancel.

Nothing goes public without you

Public uploads, privacy changes, every Instagram publish and every reply come back as a preview and do nothing until you say yes. Even when your client auto-approves tool calls.

requires_confirmationReply to @maria_dev: "It's github.com/keshav/ep11 — link is in the description too."Nothing was done. If the user approves, call again with confirm=true.Awaiting your confirmation

25 tools across YouTube, Instagram, media and jobs

Scheduling Instagram doesn't have

Instagram's API publishes immediately. Pushwing holds your time and publishes for you; cancel while it's queued.

MonTueWedThuFriSatSun
Friday teaser · ReelFri 09:00

Every call on record

Which credential, which account, quota cost, arguments with secrets stripped. Reads included, not just uploads.

Example activity feed
14:06:40youtube_get_video_statsCodexOK
14:02:19youtube_set_thumbnailCI keyError
14:02:11youtube_upload_videoCI keyOK
13:58:02list_connectionsClaudeOK
09:12:44instagram_publish_reelClaudeOK
YouTube

Upload, Shorts, thumbnails, metadata, stats, comments

Resumable uploads up to 1 GB from a URL, Shorts up to 3 minutes, publish times, thumbnails up to 2 MB, edits that carry every other field over, full details and stats, single replies at 10 per hour per channel.

Instagram

Reels, photos, carousels, Stories, insights, comments

Reels from 3 seconds to 15 minutes, JPEG photos with alt text, carousels of 2 to 10 items, Stories, insights per post, and Meta's 100-post limit checked before every publish.

Jobs and media

Jobs you can see, poll and cancel

A job id for every publish. Files you hand to Pushwing sit on a temporary URL for 24 hours, then they're deleted. The dashboard's activity feed records every tool call.

1URL to connect any MCP client. OAuth, not pasted keys.
25tools, each with a title, schema and annotations clients understand.
24hmedia retention. Files you hand us are deleted after a day.
0tokens ever returned to an assistant. Encrypted at rest, held only here.

How Pushwing works

More creating. Less managing.

Join the waitlist →
A real session

What a session looks like.
The assistant does the work. You keep the last word.

A real exchange with Claude Code, lightly trimmed. Tool names are the ones your assistant sees.

Chat walkthroughWatch the video →
Here's the final cut: https://files.example.com/ep12.mp4. Upload it to my channel as private, title "Episode 12 — Building in public", tags podcast and indie. Thumbnail is …/ep12-thumb.jpg.
list_connections ✓upload_media_from_url ✓youtube_upload_video ✓get_publish_job ✓youtube_set_thumbnail ✓
Done. "Episode 12 — Building in public" is on your channel as a private video with the thumbnail set. Want me to check the comments on episode 11 while I'm here?
Yes, and reply to the top one with the repo link.
youtube_list_comments ✓youtube_reply_comment preview
requires_confirmationReply to @maria_dev on "Episode 11": "It's github.com/keshav/ep11 — link is in the description too."Nothing was done. Show this summary to the user; if they approve, call the same tool again with confirm=true.
Before I post, here's the reply. Post it?
Post it.
youtube_reply_comment confirm=true ✓
Posted. That's one of the 10 replies per hour Pushwing allows per channel.
Meanwhile in the dashboard
Episode 12Published
Created 14:02:11Processing · attempt 1Published 14:02:17
Quota today
Uploads12 / 100
Units1,250 / 10,000

The requires_confirmation envelope is returned by every tool that publishes, changes privacy or replies, even when the client auto-approves tool calls. The hint is the server's real string; the summary text and ids are illustrative.

Security and control

Your tokens stay here.
Your approval stays required.

Pushwing is the only thing that ever holds your Google or Instagram token. The assistant gets tools, previews and results.

Read the security page →

OAuth, not pasted keys

You connect with Google or Instagram Login, once. No Google Cloud project, no secret in a config file.

Encrypted, never returned

Provider tokens are encrypted with AES-256-GCM and never sent to the assistant or shown in the dashboard.

Preview before public

Public uploads, privacy changes, every Instagram publish and every comment reply return a preview and wait for confirm.

No engagement automation

Replies are single and user-initiated, 10 per hour per account, enforced on the server. No mass commenting, no view or follower tricks.

An audit log of every call

Every tool call is recorded with its credential and quota cost, with token, secret and key fields stripped first.

Disconnect and delete any time

Disconnect revokes the YouTube token at Google. Removing the app in Instagram triggers Meta's deletion callback.

Pushwing stores your channel or account id, name, handle and avatar, encrypted tokens, your jobs and the activity log. Video lists, stats, comments and insights are fetched live and not stored.

Early access

What works today, what's gated, and why.

We'd rather you know the limits before you connect. These are the platforms' rules while our reviews are pending; this section is updated as they clear.

PlatformTodayWhyWhat changes
YouTubeAll tools work. Uploads arrive Private; flip them public in YouTube Studio or ask your assistant once the audit clears.YouTube restricts uploads from API projects that haven't passed its compliance audit to private.After the audit, requested privacy and publish times apply as given.
InstagramInvite-only. Professional accounts we add as testers can connect and publish. Request accessMeta's Advanced Access needs App Review.After approval, any Business or Creator account can connect.
Google sign-inGoogle shows an "unverified app" screen when you connect YouTube. Continue past it; it's expected.Google OAuth verification has been submitted and is awaiting review.The screen disappears after verification.
ChatGPTReads work on Pro; publishing needs Business, Enterprise or Edu.¹OpenAI's rollout of write actions.We'll update this row when OpenAI does.
Freeduring early access

Pricing will be announced before anything changes, and what you've connected keeps working.

Join the Pushwing waitlist

Leave your email to register your interest. We’ll email you when your invitation is ready. Instagram access also requires a Business or Creator account and a separate tester invitation during early access.

Join the waitlist →
Limit during early accessValueSet by
YouTube uploads100 per day, shared across all early-access users (one API project)Google's default quota
Other YouTube calls10,000 units per day shared; thumbnails, edits and replies cost 50 each, listing videos costs 1Google
Instagram posts100 per account per rolling 24 hours; a carousel counts as oneMeta
Comment replies10 per hour per accountPushwing
File sizesVideo up to 1 GB; inline upload up to 20 MB; thumbnail up to 2 MB; Instagram photo up to 8 MB (JPEG)YouTube, Meta, Pushwing
Media retention24 hours, then deletedPushwing
FAQ

Questions people ask before connecting

Something else? Ask support.

What is Pushwing?

A hosted MCP (Model Context Protocol) server. You connect your YouTube channels and Instagram professional accounts to it once; any MCP client, such as Claude, Claude Code, Cursor or ChatGPT, then gets tools to upload, schedule, edit, read analytics and reply to comments on those accounts.

Which AI clients work?

Claude (web and desktop), Claude Code, Cursor and Codex connect with the URL https://mcp.pushwing.com/mcp and OAuth. ChatGPT connects the same way; publishing from ChatGPT is limited by OpenAI's plan rollout.¹ Any other MCP client that speaks Streamable HTTP works with OAuth or an API key from your dashboard.

Do I need API keys or my own Google Cloud project?

No. You sign in with Google or Instagram Login inside Pushwing; your assistant signs in to Pushwing. Provider tokens never leave our server. If your client can't do OAuth, you can create a pw_ API key in the dashboard instead.

Why are my YouTube uploads private?

YouTube forces uploads from API projects that haven't completed its compliance audit to private. Our audit is pending. Until it clears, uploads land as private and you can make them public in YouTube Studio; after it clears, the privacy you ask for applies.

Why can't I connect Instagram yet?

Instagram publishing needs Meta's App Review, which is in progress. Until then only accounts we add as testers can connect. Request access with your Business or Creator username and we'll add you as capacity allows.

Will it post something without asking me?

No. Public uploads, privacy changes, every Instagram publish and every comment reply return a preview and do nothing until the tool is called again with confirm set. That holds even if your client is set to auto-approve tool calls. Private YouTube uploads don't need confirmation because nobody can see them.

Can it schedule posts?

Yes. For YouTube, Pushwing sets a publish time and YouTube releases the private video then. For Instagram, which has no scheduling API, Pushwing holds your time and publishes the post for you. Scheduled jobs can be cancelled while queued.

What do you store, and how do I delete it?

Your account or channel id, name, handle and avatar; your tokens, encrypted; your jobs; and an activity log with secrets stripped. Video lists, stats, comments and insights are fetched live and not kept. Media you upload is deleted after 24 hours. Disconnect any account from the dashboard; delete everything from Settings or by emailing privacy@pushwing.com.

Publish anywhere
from any AI.

Join the waitlist. We’ll email you when your invitation is ready.