Skip to main content
Glama

Get Post Distribution

get_post_distribution
Read-onlyIdempotent

Where a post goes when it is published, and what earlier publishes did there.

For each of the six third-party destinations — dev.to (Republish: the whole post, updated on each publish), X, LinkedIn, Bluesky and Mastodon (Announce: a short Text plus the post's HomeURL, once), and Hashnode, retired and always reported Available: false — whether it is Available, Connected (and as which Account), Selected, the reviewed Copy and the Text an announce would post, the Budget the Copy (else the Text) uses with the link, when it was last delivered, the last Error, whether one is InProgress, and where it landed. ExternalURL links to the delivered post on any destination when available, including disconnected accounts. For the newsletter: Selected, Subject, Summary, how many Recipients it would reach, what Blocker stops it, and SentAt.

publish_post acts on exactly this selection: it is what will go out in the user's name. Read-only.

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": {
      "PostID": "<PostID>"
    },
    "name": "get_post_distribution"
  }
}

Input Schema

NameRequiredDescriptionDefault
PostIDYesPost id, from create_post or list_posts.

Output Schema

NameRequiredDescriptionDefault
PostIDYesPost id.
StatusYesdraft or published.
HomeURLYesThe post's public address every destination links to; empty when it has none yet (announces then fail and the newsletter is blocked).
NewsletterYesThe built-in newsletter.
DestinationsYesThe six third-party destinations, in the order devto, hashnode, x, linkedin, bluesky, mastodon.
SyndicationEnabledYesWhether third-party syndication is available at all.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive/closed-world, so the trailing 'Read-only.' is redundant. The description does earn credit for edge-case behavior beyond annotations: Hashnode is retired and always reported Available: false, and ExternalURL resolves delivered posts even for disconnected accounts, both of which an agent could not guess.

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

Conciseness3/5

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

The opening sentence is well front-loaded, but the body becomes a single dense run-on paragraph mixing destination semantics, per-field enumeration, and newsletter fields, with heavy parenthetical nesting. Much of that field-by-field listing restates what the output schema already provides, so length is not fully earned.

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?

An output schema exists, so the extensive return-value enumeration is largely redundant, but nothing an agent needs in order to call the tool correctly is missing. The only real gap is error behavior for an unknown or deleted PostID, which is not mentioned.

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?

There is a single parameter, PostID, with 100% schema description coverage ('Post id, from create_post or list_posts'). The description never mentions PostID, so the schema carries the full parameter burden; the baseline of 3 applies when coverage is this high.

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

Purpose4/5

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

The description makes clear this is a read of a post's publish-distribution state, enumerating the six destinations plus the newsletter as the resource. It implicitly contrasts with set_post_distribution and publish_post by framing the result as 'what will go out in the user's name.' It stops short of a crisp one-line statement of purpose, leading instead with an oblique 'Where a post goes when it is published.'

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

Usage Guidelines4/5

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

The line 'publish_post acts on exactly this selection: it is what will go out in the user's name' gives a clear reason to call this before publishing and establishes the relationship to the sibling that mutates the same state. It does not explicitly name set_post_distribution as the tool for changing the selection, so an agent must infer the read/write split from names alone.

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.