Documentation
The View Printer MCP server
Connect View Printer to Claude, ChatGPT, Grok 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.
Or add it by hand
Addresshttps://viewprinter.tech/api/mcpOr add it by hand
Addresshttps://viewprinter.tech/api/mcpConnectors
Grok
- grok.com/connectors → New Connector → Custom
- Paste the address
- Sign in when prompted
What you paste
Addresshttps://viewprinter.tech/api/mcpOne terminal command
Claude Code
- Paste the command in your terminal
- Sign in on first use
What you paste
Terminalclaude mcp add -t http viewprinter https://viewprinter.tech/api/mcpOne extra flag
OpenClaw
- Run the command
- openclaw mcp login viewprinter
- Sign in when the browser opens
What you paste
Terminalopenclaw mcp add viewprinter \ --url https://viewprinter.tech/api/mcp \ --transport streamable-http --auth oauth \ --oauth-scope "mcp:tools offline_access" \ --oauth-client-metadata-url https://viewprinter.tech/.well-known/openclaw-client.jsonFor agents that cannot sign in
API key
- Create a key in your dashboard, under API keys
- Save it as VIEWPRINTER_API_KEY where your agent runs
- Paste the config
Get your key in the dashboardAgent only runs local servers? The dashboard has a version for that.
What you paste
Server config{ "mcpServers": { "viewprinter": { "type": "http", "url": "https://viewprinter.tech/api/mcp", "headers": { "Authorization": "Bearer ${VIEWPRINTER_API_KEY}" } } } }Server config
Any MCP client
- Open your client’s MCP settings
- Paste the config
- Sign in when the browser opens
What you paste
Server config{ "mcpServers": { "viewprinter": { "type": "http", "url": "https://viewprinter.tech/api/mcp" } } }Meta AI
Muse
Coming soonViewPrinter for Meta’s new assistant is on its way. Until it lands, every other assistant here works today.
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_uploadposts_save
The upload is a presigned URL, so the file goes straight to storage and never through the assistant, and it is recorded the moment it lands. 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_listposts_save
Cancelling stops a scheduled post. Anything already published stays published — nothing here deletes from a platform.
Which of last week’s posts did best?
posts_list
Views, likes, comments, shares and saves for each post on each account, sorted by the figure you ask for. Reads the counts and changes nothing.
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, or one for someone else to create the account and connect it. Connecting happens in a browser.
Products
products_listReadSee the products your accounts post for, and which accounts belong to each.products_saveWriteCreate a product or change one — its name, description and which accounts post for it.products_deleteDeleteRemove a product. Its accounts stay connected; its knowledge documents go with it.
Groups
groups_listReadSee your named sets of accounts, who is in each, and how many need reconnecting.groups_saveWriteCreate a group or change one — its name, description and which accounts are in it.groups_deleteDeleteRemove a group. The accounts in it are untouched and stay connected.
Media
media_uploadWriteReserve an upload slot, with a link you can open to add the file from any device, or have ViewPrinter fetch a file from a link. The file goes straight to storage, never through the assistant.media_saveWriteSay what a file shows, how it is labelled and how it was made, and whether it is ready to post or kept as raw material. On a base image the description is who is on camera, and the planner keeps them consistent.media_listReadSee the files in your workspaces: the ones to post, or the raw material kept to reuse.media_deleteDeletePermanently remove a file and its stored bytes. This cannot be undone.
Posts
posts_saveDeleteCreate a post and queue it to publish, change one that has not gone out, or cancel it.posts_listReadSee your posts, find one, and how each destination went and performed.
Research
research_askWriteAsk a question about your niche and get the posts that answer it, with their views, engagement and how many times over their creator’s usual. A question searches TikTok for you, which takes a few minutes and uses search credit.
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_save with 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 plan — free for the first 7 days, then from $19 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. The server checks the subscription before it offers a single tool, so a client connected without one sees an empty tool list rather than a failure part-way through a post.
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.