Trusted by 2,000+ users

YouTube MCP Server for Claude, Cursor, and Any AI Agent

Give your agent a YouTube MCP server that handles the upload. Connect a channel once, and any MCP client can upload videos and Shorts with titles, descriptions, tags, and privacy settings, now or on a schedule, from the conversation.

No credit card required

Connect YouTube

Paste this into your agent

or add the MCP yourself
  • OAuth 2.1 sign-in, no API key to paste
  • Videos and Shorts with full metadata
  • Resumable uploads and retries handled

What Your Agent Gets

YouTube tools, ready to call

Every PostZen API endpoint is an MCP tool. These are the ones that matter for YouTube.

createPost

Upload or schedule a video

settings.title is required; add the description as content, plus tags, category, and privacy. Publish now, at scheduledFor, or from the queue.

settings.privacyStatus

Public, unlisted, or private

Set the privacy per upload, mark made-for-kids, and choose whether subscribers get notified.

createMediaPresign

Upload the file from the agent

The agent asks for an upload URL and sends the video. PostZen runs YouTube's resumable upload and retries on failure.

Shorts

Shorts without a separate path

Vertical videos under 60 seconds are detected as Shorts by YouTube; the agent uploads them the same way.

getAnalytics · getFollowerStats

Read channel metrics

Views, likes, and comments per video and per day, plus subscriber counts, from the same analytics tools used for every platform.

getPost · updatePost · deletePost

Check, edit, and cancel

Every target reports status, the watch URL, and any error. Scheduled uploads can be changed until they go out.

Example Prompts

What to say to your agent

Prompt

Upload this video to YouTube as unlisted with the title and description below, and tag it "changelog".

What happens

The agent uploads the file with createMediaPresign, then calls createPost with settings.title, settings.privacyStatus "unlisted", settings.tags, and the description as content.

Prompt

Schedule this Short for Friday at 3pm and do not notify subscribers.

What happens

The agent sets scheduledFor and settings.notifySubscribers false; YouTube treats the vertical clip as a Short.

Prompt

Which of my videos got the most views this month, and did subscribers grow?

What happens

The agent calls getAnalytics for the month with platform "youtube" and getFollowerStats, then ranks videos by views, likes, and comments.

Prompt

Did yesterday's upload go through? Give me the link.

What happens

The agent calls getPost, reads the YouTube target status, and returns the watch URL or the error.

WHY POSTZEN?

PostZen vs. building it yourself

Build a YouTube MCP server yourself and you own the auth, the media pipeline, and every YouTube API change. Connect PostZen and your agent gets the tools today.

PostZen

2.3M+ posts

2,000+ users
  • One hosted MCP endpoint; the client signs in with OAuth 2.1 and nothing runs on your machine
  • YouTube access already set up on PostZen: connect an account in a browser tab and post
  • The same createPost tool for YouTube and the other nine platforms
  • Scheduling, queues, retries, and media hosting handled server-side
  • Scoped, revocable access: read-only or read-and-write keys minted at consent

Build a YouTube MCP server yourself

  • A Google Cloud project, OAuth consent screen, and a YouTube API audit before uploads are public
  • Daily quota units to budget across uploads, reads, and searches
  • Resumable upload protocol with chunking, 308 handling, and retries you write
  • Token refresh and API deprecations to track
  • A tool schema, auth layer, and hosting for the MCP server itself, then again for every other platform

Any MCP Client

Connect from the client you already use

Each page has the exact command for that client, the sign-in step, and a way to check the tools are live.

For AI Agents

Send your agent this page

Tell your agent to set up PostZen from postzen.dev/mcp/youtube. It reads the block below, registers the server, connects YouTube, and reports back.

postzen.dev/mcp/youtube
## For AI agents reading this page

You are reading https://postzen.dev/mcp/youtube. PostZen is a social media API with a hosted MCP server. Once connected, you can upload and schedule videos and Shorts to the user's YouTube channel with full metadata. The same tools cover the user's other social accounts (Instagram, X, LinkedIn, Facebook, Threads, YouTube, TikTok, Pinterest, Bluesky, Telegram).

1. Register the MCP server in the client you are running in. The endpoint is https://mcp.postzen.dev/mcp (streamable HTTP). Interactive clients sign in with OAuth 2.1; headless clients send a PostZen API key as "Authorization: Bearer pzn_live_...". Exact commands per client: Claude Code https://postzen.dev/claude · Cursor https://postzen.dev/cursor · Codex https://postzen.dev/codex · OpenClaw https://postzen.dev/openclaw · GrokBot https://postzen.dev/grok-bot · Hermes https://postzen.dev/hermes · any other MCP client https://postzen.dev/agents.

2. Sign in. When the client opens the PostZen consent screen, ask the user before approving access or completing a signup on their behalf, and never enter their credentials for them. Approving mints a scoped, revocable key for this client.

3. Connect YouTube. Call listAccounts. If no account with platform "youtube" is listed, call createConnectUrl with platform "youtube" and give the user the URL; they authorize YouTube in their browser. Do not try to log in to YouTube yourself.

4. Verify before you continue. Call listAccounts again and confirm a "youtube" account shows as connected. If it does not, stop and tell the user what failed. Do not carry on as if the account were there.

5. Report back. Tell the user which YouTube account is connected and what you can now do with it, then ask what they want first. Prefer scheduling (scheduledFor, or the queue) over publishing immediately unless the user asks for "now".

## YouTube on createPost

- Target the account with platforms: [{ platform: "youtube", accountId, settings: { ... } }]. content is the shared text; customContent on the target overrides it for YouTube only.
- settings.title (required): the video title. content becomes the description.
- settings.privacyStatus: "public", "unlisted", or "private"; settings.tags: string array; settings.categoryId; settings.madeForKids; settings.notifySubscribers.
- One video file per post. Vertical videos under 60 seconds are treated as Shorts by YouTube.
- Uploads are resumable and retried by PostZen; large files can take minutes, so check getPost rather than re-submitting.
- Analytics: getAnalytics, getPostTimeline, getDailyMetrics, getFollowerStats with platform "youtube" (views, likes, comments, subscribers).
- Media: pass public URLs in mediaItems, or call createMediaPresign to get an upload URL, PUT the file, then reference the returned media in the post.
- Check results with getPost: each platform target reports status, the live post URL, and any error.

## Reference

- MCP endpoint: https://mcp.postzen.dev/mcp (streamable HTTP, OAuth 2.1)
- MCP docs: https://docs.postzen.dev/mcp
- Create post reference: https://docs.postzen.dev/api-reference/posts/create-post
- Full API summary for models: https://postzen.dev/llms.txt
- API keys: https://app.postzen.dev/api-keys

Frequently asked questions

Still have questions?

What is a YouTube MCP server?

MCP (Model Context Protocol) is the standard AI clients use to call external tools. A YouTube MCP server exposes upload and scheduling as tools, so an agent such as Claude or Cursor can publish a video instead of only writing the title and description. PostZen hosts one for you: it holds the Google OAuth client and quota, and your client connects to a single endpoint.

Do I need a Google Cloud project or API key?

No. You connect your channel to PostZen with a normal Google sign-in, and PostZen calls the YouTube Data API on your behalf. There is no Cloud project, quota request, or API audit on your side.

Can the agent upload Shorts?

Yes. YouTube decides what counts as a Short from the video itself (vertical, under 60 seconds), so the agent uploads it the same way as any other video.

Can the agent control privacy and notifications?

Yes. Each upload can be public, unlisted, or private, marked as made for kids, and published with or without a subscriber notification. Tags and a category can be set too.

Can the agent read YouTube analytics?

Yes. Views, likes, and comments per video and per day, plus subscriber counts, come back through the same analytics tools used for the other platforms, using the channel access you already granted when connecting.

Which AI clients can use it?

Any client that supports remote MCP servers: Claude (claude.ai, Claude Desktop, Claude Code), Cursor, Codex, OpenClaw, GrokBot, Hermes, and others. Interactive clients sign in with OAuth 2.1; headless ones send a PostZen API key in the Authorization header. Each client has its own setup page with the exact command.

What can the agent access once connected?

Only what you approve on the consent screen: read-only or read-and-write access, scoped to the profile you pick. Approving creates a named, revocable API key, so you can cut a client off from the dashboard at any time. Ask the agent to schedule rather than publish immediately if you want to review posts before they go out.

How much does the MCP server cost?

The MCP server is included on every PostZen plan, including Free, which covers 2 connected accounts and 20 posts a month. Paid plans start at $19 per month with unlimited posts.

LEARN MORE

Give your agent YouTube

Your agent already writes the post. PostZen lets it publish there.