Documentation

The View Printer MCP server

Connect View Printer to Claude, ChatGPT, Cursor or any client that speaks MCP, and schedule to TikTok, Instagram, YouTube, X and Facebook by saying what you want posted. Your assistant does the work; this server gives it the accounts, the rules and the queue.

Address
https://viewprinter.tech/api/mcp
Transport
Streamable HTTP
Auth
OAuth 2.1, with PKCE and Client ID Metadata Documents

Connecting

The address is the whole configuration

Your client opens a browser, you sign in, and you approve the tools it is asking for — the same shape as connecting any other account.

Any client

{ "mcpServers": { "viewprinter": { "type": "http", "url": "https://viewprinter.tech/api/mcp" } } }
  • Claude

    Desktop, web, or mobile

    1. Settings → Connectors → Add custom connector
    2. Paste the address
    3. Sign in when Claude asks
  • ChatGPT

    Connectors

    1. Settings → Connectors → Add
    2. Paste the address
    3. Sign in when prompted
  • Cursor

    Server config

    1. Settings → MCP → Add new server
    2. Paste the config
    3. Sign in when the browser opens
  • Claude Code

    One terminal command

    1. Paste the command in your terminal
    2. Sign in on first use
  • VS Code

    One terminal command

    1. Paste the command in your terminal
    2. Sign in when prompted

What you can ask for

There is no syntax to learn. These are the shapes that come up most, with the tools each one reaches.

  • What does TikTok accept for a video post?

    platforms_list

    Reads the platforms’ own rules. Touches nothing of yours, and needs no connected account.

  • Which of my accounts are connected, and are any of them broken?

    accounts_list

    Every account, its platform and whether its token still works.

  • Post this clip to my TikTok and Instagram accounts on Friday at 9am.

    media_upload → media_confirm → posts_schedule

    The upload is a presigned URL, so the file goes straight to storage and never through the assistant. Capability is checked against every destination before the post is created, not when it goes out.

  • What is scheduled for this week?

    posts_list

    Each post with its destinations and per-destination status.

  • Cancel the Friday post.

    posts_list → posts_cancel

    Cancelling stops a scheduled post. Anything already published stays published — nothing here deletes from a platform.

Tools

Every tool the server registers, and whether it reads or changes anything. The same list your client shows you when you approve the connection — read straight from the server’s own catalog, so it cannot say something different from what you are granting.

Accounts

  • accounts_listReadSee which social accounts you have connected, and to which workspace.
  • accounts_connectWriteHand you a link to connect a new account. Connecting happens in your browser.

Media

  • media_uploadWriteReserve an upload slot. The file goes straight to storage, never through the assistant.
  • media_confirmWriteRecord a file once it has finished uploading.
  • media_listReadSee the files in your workspaces.
  • media_deleteDeletePermanently remove a file and its stored bytes. This cannot be undone.

Posts

  • posts_scheduleWriteCreate a post and queue it to publish to the accounts you name.
  • posts_listReadSee your posts and how each destination went.
  • posts_updateWriteEdit a post that has not gone out — its caption, time, destinations, or draft state. Promoting a draft is what sends it.
  • posts_cancelWriteStop a post before it goes out. Anything already publishing cannot be recalled.

Platforms

  • platforms_listReadRead what each platform accepts — sizes, limits and options. No data of yours is involved.

Authentication and access

Authentication is OAuth 2.1 with PKCE. Your client never sees a password: it is handed a token scoped to mcp:tools, and the consent screen lists exactly which tools that token can reach before you approve it.

A token reaches one workspace — the accounts, media and posts belonging to it, and nothing else. Revoking it takes effect immediately, from your dashboard or by disconnecting in your client.

The server never receives your social platform passwords. Each account is connected through that platform’s own OAuth flow, and the resulting tokens are encrypted at rest.

Working safely with an assistant

Treat anything a tool returns as text somebody else wrote. A caption on a post, an error from a platform, the name of an account — none of it is written by us, and an assistant reading it can be steered by it. That is prompt injection, and it is the risk worth understanding before granting any MCP server access to anything.

It matters more here than on a server that only reads. Publishing is public and it is not undoable: posts_cancel stops something that has not gone out, and nothing in this server deletes a post from a platform once it has.

So: leave confirmation on for the tools that write. Every client can ask before running one, and the annotations this server publishes — which of these tools read, which write, which destroy — are what your client uses to decide when to ask. Read a proposed post before approving it, the same way you would read an email an assistant drafted.

Be more careful still when this server is connected alongside others. Content one server returns can influence what your assistant asks a second one to do, and neither server can see that happening.

What we hold

The posts you schedule and their captions, the files you upload, and the connection to each social account — the tokens for which are encrypted at rest. Published posts keep their public metrics so the dashboard can show how they did.

Nothing here is sold, and nothing is used to train a model. Deleting media removes the stored bytes; closing your account removes the workspace and everything in it. The privacy policy is the full account of what is collected, why, and for how long.

Before you connect

You need a View Printer account on a paid plan — from $29 a month, and the pricing section has what each one includes. You also need at least one social account connected for anything to post to. Reading platform rules with platforms_list works without either, so a client can connect and prove itself before you pay for anything.

When something goes wrong

The client says it connected, but no tools appear
The token was issued before you had a subscription, so the server answers every tool call with a payment error. Subscribe, then disconnect and reconnect the server in your client.
Signing in opens a browser and nothing comes back
The OAuth flow needs to finish in the same browser session it opened. Complete the sign-in, then return to your client — some clients need the connection toggled off and on before they retry.
A post failed on one account and worked on the others
Each destination publishes independently, so one platform rejecting a post does not stop the rest. posts_list carries the error per destination, and the dashboard shows the same thing.
An account stopped working and nothing was posted to it
The platform expired its token — TikTok does this a year after connecting, whatever you do. Reconnect it from the dashboard; accounts_list reports which accounts are in that state.
The assistant will not schedule the post
Capability is checked before the post is created, so a rejection names what is wrong: a platform that will not take that media, too many images, an option that platform does not have. platforms_list is the same rules ahead of time.
You want the connection gone
Disconnect it in your client, or revoke it from your dashboard. Revocation is immediate and does not touch your posts, media or connected accounts.

Questions, or something behaving oddly: hello@vmgmsoftware.com. See also our privacy policy and terms.