Skip to main content
Glama
viralnote

viralnote-mcp

Official
by viralnote

create_post

Create a new social post as a draft or schedule it for automatic publishing. Use existing media from the library and specify target platforms.

Instructions

Create a new post as a draft or schedule it for automatic publishing. With status='draft' (or is_draft=true) the post is saved with no publish time; with scheduledFor set it is queued and publishes automatically at that time. Returns the created post object including its id. Media must already exist in the library — call import_media or list_media first to get a media id. The user must have connected each target platform (verify with list_social_accounts if unsure). To publish an existing draft immediately, use publish_post rather than creating a new post.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
statusNoExplicit lifecycle state. Overrides is_draft when both are passed.
captionNoThe post text, used for all target platforms. Platform-specific length limits apply at publish time.
is_draftNoConvenience flag: true saves the post as a draft (status='draft'). False with scheduledFor set schedules it.
mediaIdsNoMedia library item ids for a multi-image carousel post, up to 10. Mutually exclusive with libraryItemId. Platform support for carousels varies.
platformsYesPlatforms to publish to. Each must already be connected to the user's ViralNote account.
scheduledForNoWhen to auto-publish, as an ISO 8601 UTC timestamp (e.g. 2026-07-10T09:00:00Z). Must be in the future. Required for scheduled posts; omit for drafts.
libraryItemIdNoId of one media library item to attach (from list_media or import_media). Mutually exclusive with mediaIds.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, description fully discloses behavior: draft vs scheduled, return of created post with id, prerequisites. It doesn't mention error handling or rate limits, but covers key behavioral aspects adequately. Slight deduction for lack of detail on validation failures.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is front-loaded with the main purpose, then logically progresses through draft/scheduled details, return value, prerequisites, and alternative tool. Each sentence adds value with no redundancy, achieving conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (7 params, no output schema), the description covers core functionality, prerequisites, and alternatives. It mentions the return value minimally. Could include more on error scenarios or return structure, but overall adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with detailed descriptions. Description adds value by explaining the draft/scheduled flow and the precedence of status over is_draft. It doesn't repeat schema details but provides contextual semantics beyond the parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool creates a new post as draft or scheduled. It distinguishes from sibling publish_post by explicitly mentioning that to publish an existing draft immediately, use publish_post. This provides specificity and differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description provides explicit preconditions: media must already exist (import_media/list_media), platforms must be connected (list_social_accounts). It also notes the alternative publish_post for immediate publishing of drafts. This gives clear when-to-use and when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/viralnote/mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server