Skip to main content
Glama

Publish article

publish-article
Destructive

Publish an article. Auto-routes to a connected CMS integration when exactly one is connected for the article's domain. With several connected, target_provider picks one. With none, deployed_url records where the article was deployed by hand. In all cases the article's local status is set to "published" with a timestamp.

Input Schema

NameRequiredDescriptionDefault
wp_statusNoWhen publishing to WordPress, whether the WP post should be live ("publish") or saved as a draft ("draft").publish
article_idYesArticle ID
deployed_urlNoRequired when no CMS integration is connected. The public URL where the article was deployed manually.
target_providerNoRequired when multiple CMS integrations are connected for the article's domain.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, destructiveHint=true and openWorldHint=true, so the safety profile is covered. The description earns credit by adding behavior beyond that: outbound CMS routing, the side effect of recording deployed_url for manual deployments, and the guaranteed local status/timestamp mutation in every case. It does not explain what the destructive aspect actually destroys (e.g., an existing live WP post being overwritten).

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?

Four short sentences, front-loaded with the action and then ordered by the routing decision tree. Minor redundancy with the schema's own "Required when..." descriptions, but no filler.

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?

With no output schema, the description carries the return burden and largely discharges it by stating the resulting status and timestamp. It is still silent on the response payload shape, error behavior when routing fails, and the wp_status draft interaction, which leaves small gaps for a destructive, open-world tool.

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 description coverage is 100%, so all four parameters are already documented, including the conditional conditions for target_provider and deployed_url. The description largely restates those conditions rather than adding new semantics, and it never addresses wp_status or how a "draft" WP post squares with the claim that local status is always set to "published". Baseline 3 is appropriate.

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 opens with a specific verb+resource ("Publish an article") and immediately adds the distinguishing behavior: CMS auto-routing plus a local status transition to "published" with a timestamp. That is enough to separate it from update-article and archive-article, though those siblings are never named, so the contrast is inferred rather than stated.

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 three routing cases are laid out explicitly: exactly one integration means automatic routing, several means use target_provider, none means supply deployed_url. That is unusually clear conditional guidance. What is missing is any statement of when this tool is preferred over update-article (e.g., status-only changes) or any prerequisite/precondition.

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