Skip to main content
Glama

publish

Publish a markdown article to Dev.to, Ghost, Hashnode, WordPress, Medium, or Substack. Choose draft or published status, add tags, canonical URL, series, and cover image. Requires platform credentials configured via the setup tool.

Instructions

Publish a markdown article to one CMS platform: devto, ghost, hashnode, wordpress, medium, or substack. Costs 1 credit per call. Requires platform credentials configured via the 'setup' tool. Supports draft|published status, tags, canonical_url, series, and cover image. Substack is published via reverse-engineered cookie auth. Returns: { url, id, platform, status }. Common errors: platform not configured (VALIDATION_ERROR), credit exhaustion (PAYMENT_REQUIRED), upstream 4xx/5xx (PLATFORM_ERROR), network timeout (NETWORK_ERROR).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
platformYesPublishing platform: devto, ghost, hashnode, wordpress, medium, substack
titleYesArticle title
contentYesArticle content in markdown
subtitleNoSubtitle / dek (used by Substack)
tagsNoTags for the article
statusNoPublish statusdraft
featured_image_urlNoFeatured image URL
canonical_urlNoCanonical URL for cross-posting
seriesNoSeries name (supported on Dev.to and Hashnode)
Behavior5/5

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

No annotations provided, so description carries full burden. Discloses Substack's reverse-engineered cookie auth, return structure, common error scenarios, and costs. For a mutation tool, this is exceptional transparency.

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?

Single paragraph packs maximum information: platform list, cost, prerequisites, supported features, auth detail, return format, and common errors. No superfluous content; every sentence adds value.

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?

Despite no output schema or annotations, description covers all necessary context: purpose, usage rules, parameter nuances, error handling, and return value. Agent has sufficient information to invoke correctly.

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

Parameters5/5

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

All 9 parameters are described in schema (100% coverage). Description adds value by noting platform-specific behavior (e.g., 'subtitle' only for Substack, 'series' only for Dev.to/Hashnode) and optionality, exceeding schema 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?

Clearly states action (publish), resource (markdown article), and target (one of six specific CMS platforms). Distinguishes from sibling tools like cross_publish and save_draft by specifying single-platform publishing.

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?

Explicitly mentions prerequisite (platform credentials via 'setup' tool), cost (1 credit per call), and lists common error types with codes. Guides agent on when to use and what to check before calling.

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/MendleM/pipepost'

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