Skip to main content
Glama
kieksme
by kieksme

Publish a post directly to Hashnode (no draft step)

hashnode_publish_post

Publish a new blog post directly to Hashnode by providing publication ID, title, and Markdown content. Optionally add tags, cover image, SEO fields, or schedule publication.

Instructions

Publish a new blog post directly without creating a draft first. Prefer hashnode_create_draft + hashnode_publish_draft for a safer workflow.

Args:

  • publication_id (string, required): Publication ID (from hashnode_get_me)

  • title (string, required): Post title

  • content_markdown (string, required): Post content in Markdown

  • subtitle (string, optional): Short subtitle

  • tags (array, optional): [{ name, slug }] — max 5 tags

  • cover_image_url (string, optional): URL of cover image

  • slug (string, optional): Custom URL slug

  • original_article_url (string, optional): Canonical URL for cross-posts

  • meta_title (string, optional): SEO title

  • meta_description (string, optional): SEO description

  • scheduled_at (string, optional): ISO 8601 datetime for scheduled publishing

  • response_format: 'markdown' or 'json'

Returns: post id, title, slug, url, publishedAt, tags

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
slugNoCustom URL slug
tagsNoTags as [{ name: 'Cloud Computing', slug: 'cloud-computing' }]
titleYesPost title
subtitleNoShort subtitle
meta_titleNoSEO meta title
scheduled_atNoISO 8601 datetime for scheduled publishing, e.g. '2025-12-31T10:00:00Z'
publication_idYesPublication ID
cover_image_urlNoURL of cover image
response_formatNoOutput format: 'markdown' (default) or 'json'markdown
content_markdownYesPost content in Markdown
meta_descriptionNoSEO meta description
original_article_urlNoCanonical URL for cross-posted content
Behavior4/5

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

Annotations already indicate this is a mutating, non-idempotent operation. The description adds context that the publication happens directly without a draft step, emphasizing immediacy and the lack of a review buffer. It also lists the returned fields, which is helpful behavioral output information.

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?

The description is front-loaded with purpose and workflow guidance, followed by a structured parameter list and return values. It is somewhat long due to 12 parameters, but every section is purposeful and there is no filler. The format is easy to scan.

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?

For a complex publishing tool with 12 parameters and no output schema, the description covers the essential context: what it does, when to use an alternative, all parameters, and the return structure. It is complete enough for an agent to select and invoke the tool correctly without needing additional external context.

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?

The input schema already covers all 12 parameters with detailed descriptions (100% coverage). The description adds a useful cross-reference for publication_id ('from hashnode_get_me') and restates the parameters in a compact list, making the tool self-contained. This goes slightly beyond the schema but is not a major extension.

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?

The description uses a specific verb and resource: 'Publish a new blog post directly' and explicitly distinguishes itself from the draft workflow by stating 'without creating a draft first.' It is clearly differentiated from sibling tools like hashnode_create_draft and hashnode_publish_draft.

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?

The description explicitly recommends an alternative workflow: 'Prefer hashnode_create_draft + hashnode_publish_draft for a safer workflow.' This tells the agent when not to use the tool and names the safer alternative, making the usage context clear.

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/kieksme/mcp-hashnode'

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