← Plugin catalog
Productivity

ViewPrinter

VMGM Software LLC v1.3.1

Schedule social posts

Create a free account to save this plugin.

From the developer

Not specified in the available declarations: capabilities, limitations, pricing & account requirements.

Sources & dates

Developer declarations; not independently tested. Listing last checked Nov 12, 2026. Package observed Nov 11, 2026.

View package source →

Description

From the marketplace listing

Schedule and publish video and image posts to TikTok, Instagram, Facebook, YouTube and X from one place. Connect an account once, upload a file, and schedule it to several destinations at a chosen time; ViewPrinter handles each platform's upload and reports what happened per destination. It also reads back views, likes and follower counts for what has been published, so performance can be asked about in the same conversation the post was made in.

Language: English · Automatically detected from descriptions.

Matches for “schedule posts”

Exact text from the indicated source. A mention alone does not establish support for your task.

Publisher subtitle

Schedule social posts

Publisher description

Schedule and publish video and image posts to TikTok, Instagram, Facebook, YouTube and X from one place. Connect an account once, upload a file, and schedule it to several destinations at a chosen time; ViewPrinter handles each platform's upload and reports what happened per destination. It also reads back views, likes and follower counts for what has been published, so performance can be asked about in the same conversation the post was made in.

What changed

· 3 observations

Capabilities & instructions

Is template instance added: “false”. Declared skill added: “viewprinter”. Declared skill removed: “schedule-social-posts”. Version changed from “1.0.0” to “1.3.1”.

View comparison →

Technical updates · 1

Package or technical metadata updated

View technical comparison →

Files & skills

File archives

Plugin package14 files · 14.3 KBBrowse files →
Skill instructions
schedule-social-posts4.64 KB

View saved version →

---
name: schedule-social-posts
description: Use when publishing or scheduling a post to TikTok, Instagram, Facebook, YouTube or X through ViewPrinter, uploading media for one, editing or cancelling a queued post, or reading how published posts and connected accounts are performing. Covers the order the tools must be called in, the two-step media upload, and what to do when a tool refuses. Do not use for writing copy with no intent to post, or for platforms ViewPrinter does not connect to.
---

# Scheduling social posts with ViewPrinter

ViewPrinter queues posts to social accounts someone has connected. The tools
are ordered: several of them fail or do the wrong thing if called out of turn,
and one of them is not safe to retry. This is that order.

## Read the rules before composing

Call `platforms_list` before writing a caption or picking media. It returns
each platform's caption limit, the media kinds and counts it accepts, and its
per-platform options. Reading it costs one call; discovering the same rules by
being rejected costs the whole post.

A caption that fits X will be cut on Instagram. Check, do not assume.

## The order

1. `accounts_list` — get the account ids and see which workspace each is in.
2. `media_upload` → PUT the bytes → `media_confirm` — only if there is media.
3. `posts_schedule` — create the post and queue delivery.

`accounts_connect` comes before all of it if nothing is connected yet. It
returns a URL the person opens in their own browser; the sign-in happens on the
platform and cannot happen here. Call it again afterwards and it reports the
account that got connected.

**Every account on one post must be in the same workspace.** Mixing workspaces
is refused.

## Media is two steps, and the bytes never pass through you

`media_upload` reserves an id and returns a short-lived URL to PUT the file to.
The bytes go straight to storage — not through the tool, not through the
conversation. Then call `media_confirm` with the same id. **Nothing is recorded
until `media_confirm` succeeds**, so a file that was PUT but never confirmed
does not exist as far as scheduling is concerned.

`media_confirm` is safe to call again if the first response was lost; it reads
the size and type back from storage rather than taking them on trust.

A post is **either a video or a set of images, never both**.

## Scheduling

- Omit `scheduled_at` to send as soon as possible; pass it to queue for later.
- Pass `draft: true` to hold the post without sending anything. `posts_update`
  with `draft: false` is what later sends it — there is no separate publish
  tool.
- Name accounts by id from `accounts_list`, or name a group from `groups_list`,
  or both. A group is expanded **at schedule time**: it is shorthand for the
  accounts in it right now, not a live link, so adding a member to the group
  later does not add it to this post.

**`posts_schedule` is not idempotent.** There is no deduplication: the same
arguments twice queue the same caption to the same accounts twice. If a
response is lost and you need to retry, reuse the same `idempotency_key` — that
returns the original post instead of making a second one.

**Do not tell anyone their post is saved or scheduled until the tool has
returned successfully.** A queued post is a real thing that will appear in
public; saying it exists before it does is the one error here that cannot be
taken back with words.

## Changing or stopping a post

`posts_update` works only while every destination is still pending. Once any
destination has started publishing the post can no longer be edited — schedule
a new one instead. Changing the destination list replaces it rather than adding
to it.

`posts_cancel` stops destinations that have not started. Anything already
publishing cannot be recalled and comes back in `still_going` — report those
honestly as already gone rather than as cancelled.

## Reading performance

`accounts_performance` and `posts_performance` return figures collected by a
bac

Preview of the first 4,000 characters. Read full instructions →

viewprinter3.92 KB

View saved version →

---
name: viewprinter
description: Schedule and publish social posts to TikTok, Instagram, Facebook, YouTube and X through ViewPrinter — connecting accounts, uploading media, queueing and amending posts, and reading how they performed. Use when the user wants to post, schedule, draft, reschedule or cancel something, connect or reconnect a social account, organise accounts into groups, upload a video or image, or ask how a post or account is doing.
---

# ViewPrinter

ViewPrinter is a hosted MCP server that publishes to social platforms on the
user's behalf. You drive it by calling its tools; the user drives you by asking
for what they want posted.

The platform names above are in the description so this skill can be *found*.
They are not a list to reason from — `platforms_list` is the only source of
truth for what can publish and what each one accepts. See
`references/rules/platforms-first.md`.

## If the tools are not there yet

The nine rules below all assume `platforms_list`, `media_upload` and the rest are
callable. Installed as a plugin they are — the manifest brings the server. But a
skill can be installed on its own, and then none of them exist.

**Check before working.** If the ViewPrinter tools are not available, the server
is not connected, and nothing below applies. Say so and hand it back:

- It is a remote MCP server at `https://viewprinter.tech/api/mcp` — streamable
  HTTP, OAuth only. There is no API key to paste anywhere, and any instruction
  to obtain one is wrong.
- The authorization server advertises Client ID Metadata Documents. A client
  that only attempts Dynamic Client Registration may fail with *"Incompatible
  auth server: does not support dynamic client registration"* — use the client's
  CIMD flow instead.
- Let the user complete the browser sign-in. Do not ask for credentials in chat.

## When to use this

- Posting, scheduling, drafting, rescheduling or cancelling anything
- Connecting a social account, or fixing one that needs reconnecting
- Grouping accounts so a post can name the set instead of listing ids
- Uploading an image or video to attach to a post
- Asking how a post did, or how an account is growing

## The shape of the work

1. **See what exists** — `accounts_list`, `groups_list`, `media_list`
2. **Learn the rules** — `platforms_list`, before composing anything
3. **Get the media in** — `media_upload`, then PUT the bytes; that is all
4. **Confirm label choices, then queue it** — ask about promotional-content and
   AI labels before `posts_save` creates a post or releases a draft; see
   `references/rules/scheduling.md`
5. **Read what happened** — `posts_list` (filters, one post, numbers per
   destination) and `accounts_list` with `metrics: true`

Nothing publishes until `posts_save` returns. Do not tell anyone a post is
scheduled before it does.

## Rules

Read the one that covers what you are about to do. Do not read all of them.

| Rule | Priority | Covers |
|---|---|---|
| `platforms-first` | CRITICAL | Live platform rules and connection-specific schema mismatches |
| `media-upload` | CRITICAL | Uploading is two steps, and the second is yours |
| `destinations` | CRITICAL | Workspaces, and why a group is a snapshot |
| `scheduling` | CRITICAL | Approval, opt-in labels, trial audiences, absolute times, and safe retries |
| `drafts` | HIGH | The word means two unrelated things |
| `refusals` | HIGH | A refused post was never saved, and is not a sales opening |
| `amend-and-cancel` | HIGH | What can still be changed, and what cannot be recalled |
| `connecting` | MEDIUM | Only the user can finish it |
| `reading-results` | MEDIUM | Measured when it was measured, and missing is not zero |

## Honesty constraints that hold everywhere

- **Report what the tool returned**, not what you expected it to return.
- **A refusal is a fact to relay, not a problem to route around.** You are
  running inside somebody else's client.
- **Numbers carry the time they were measured.** Quote it.

Referenced files: 11 — file references are metadata, not package contents.

Package details

Publisher declarations from the archived package. These are separate from our research and the live service's terms.

Package author
VMGM Software LLC

Package observed Nov 11, 2026.

Technical details
First seen
Sep 30, 2026 · 22:02 UTC
Last seen
Nov 12, 2026 · 12:00 UTC
Latest observed change
Oct 24, 2026 · 13:14 UTC
Collection status
Collected

plugin_asdk_app_6a974ded9ba88191a1e60a18c0c985a3

Download plugin data (JSON)

Plugin details: freshly prepared. Prepared . Refreshed when plugin data changes or after 6 hours. Your account and Follow status are live.