Skip to main content
Glama

Publish now

publish_now
Destructive

Publishes a saved post now to every network in its destinations, including any media already stored on the draft by save_draft. LinkedIn is published during the call and returns linkedin_url; X, Facebook, Instagram, Threads and YouTube go out within a minute or two (queued: true; a long YouTube upload takes a few minutes more), and list_posts shows each network’s link in post.networks once it is out. Refused unless confirm is true, and while a network cannot take the post as it is. destination optionally changes the LinkedIn profile or company page from list_destinations. Media is not accepted here. Like schedule_post, a post with several destinations becomes one post per network; split_posts lists the others.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "id": "<id>",
      "confirm": "<confirm>"
    },
    "name": "publish_now"
  }
}

Input Schema

NameRequiredDescriptionDefault
idYesPost id to publish.
confirmYesMust be true. Publishing sends the post to its networks now.
destinationNoWhere the post goes on LinkedIn: a LinkedIn id from list_destinations. "personal" (the default on a new draft) is the personal LinkedIn profile; a company page is identified by its id from list_destinations (usually the organization URN). On schedule_post and publish_now, leaving it out keeps a company destination already saved on the draft, and "personal" switches to the profile. To post to X, Facebook, Instagram, Threads or YouTube, use destinations on save_draft.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / confirm / description
      Previous value: -"Must be true. Publishing sends the post to LinkedIn now."New value: +"Must be true. Publishing sends the post to its networks now."
    • changedInput schema / properties / destination / description
      Previous value: -"Where to post: an id from list_destinations. Each destination has a network (linkedin today). \"personal\" (the default on a personal draft) is the personal LinkedIn profile; a company page is identified by its id from list_destinations (usually the organization URN). On schedule_post and publish_now, leaving it out keeps a company destination already saved on the draft, and \"personal\" switches to the profile."New value: +"Where the post goes on LinkedIn: a LinkedIn id from list_destinations. \"personal\" (the default on a new draft) is the personal LinkedIn profile; a company page is identified by its id from list_destinations (usually the organization URN). On schedule_post and publish_now, leaving it out keeps a company destination already saved on the draft, and \"personal\" switches to the profile. To post to X, Facebook, Instagram, Threads or YouTube, use destinations on save_draft."
  2. Changed2 schema fields changed
    • changedInput schema / properties / confirm / description
      Previous value: -"Must be true. Publishing sends the post to its networks now."New value: +"Must be true. Publishing sends the post to LinkedIn now."
    • changedInput schema / properties / destination / description
      Previous value: -"Where the post goes on LinkedIn: a LinkedIn id from list_destinations. \"personal\" (the default on a new draft) is the personal LinkedIn profile; a company page is identified by its id from list_destinations (usually the organization URN). On schedule_post and publish_now, leaving it out keeps a company destination already saved on the draft, and \"personal\" switches to the profile. To post to X, Facebook, Instagram or Threads, use destinations on save_draft."New value: +"Where to post: an id from list_destinations. Each destination has a network (linkedin today). \"personal\" (the default on a personal draft) is the personal LinkedIn profile; a company page is identified by its id from list_destinations (usually the organization URN). On schedule_post and publish_now, leaving it out keeps a company destination already saved on the draft, and \"personal\" switches to the profile."
  3. Changed2 schema fields changed
    • changedInput schema / properties / confirm / description
      Previous value: -"Must be true. Publishing sends the post to LinkedIn now."New value: +"Must be true. Publishing sends the post to its networks now."
    • changedInput schema / properties / destination / description
      Previous value: -"Where to post: an id from list_destinations. Each destination has a network (linkedin today). \"personal\" (the default on a personal draft) is the personal LinkedIn profile; a company page is identified by its id from list_destinations (usually the organization URN). On schedule_post and publish_now, leaving it out keeps a company destination already saved on the draft, and \"personal\" switches to the profile."New value: +"Where the post goes on LinkedIn: a LinkedIn id from list_destinations. \"personal\" (the default on a new draft) is the personal LinkedIn profile; a company page is identified by its id from list_destinations (usually the organization URN). On schedule_post and publish_now, leaving it out keeps a company destination already saved on the draft, and \"personal\" switches to the profile. To post to X, Facebook, Instagram or Threads, use destinations on save_draft."
  4. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only say this mutates, is destructive and open-world. The description adds the real behavior: LinkedIn publishes synchronously and returns linkedin_url, other networks queue (queued: true) with YouTube taking minutes, refusal conditions when a network cannot accept the post, and the one-post-per-network fan-out. That is materially more than the annotations convey.

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

Conciseness4/5

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

Front-loaded with what happens and the sync/async split, then conditions, then parameter notes. Nearly every clause earns its place, though the long parenthetical about timing and the trailing split_posts note make sentences denser than needed.

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

Completeness5/5

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

No output schema, yet the description covers return behavior (linkedin_url, queued: true, post.networks via list_posts), timing expectations, refusal conditions, and side effects (post splitting). Nothing an agent needs to invoke this correctly is missing.

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

Parameters3/5

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

Schema coverage is 100% and the schema already explains id, confirm and the destination inheritance/'personal' switch in detail. The description mostly restates that ground (destination changing the LinkedIn profile or page) rather than adding syntax or edge cases the schema lacks, so baseline 3 applies.

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?

States a specific verb+resource ('Publishes a saved post now to every network in its destinations') and immediately scopes it against schedule_post, the nearest sibling. An agent can tell this apart from schedule_post and save_draft without opening any schema.

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?

Explicit preconditions ('Refused unless confirm is true'), explicit exclusions ('Media is not accepted here'), and explicit routing to siblings: save_draft for media and non-LinkedIn destinations, list_destinations for LinkedIn targets, list_posts and split_posts for observing/splitting results. When-not conditions are named, not implied.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources