hashnode-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HASHNODE_TOKEN | Yes | Your Hashnode Personal Access Token |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| hashnode_get_meA | Returns the authenticated user's profile and a list of their publications. Use this first to discover your publicationId(s) before creating or listing posts. Returns:
Examples:
|
| hashnode_get_publicationA | Fetch metadata for a Hashnode publication by its host/domain. Args:
Returns: id, title, url, about, author info Examples:
|
| hashnode_list_draftsA | List drafts in a Hashnode publication. Args:
Returns: list of drafts with id, title, subtitle, tags, updated date |
| hashnode_create_draftA | Create a new draft in a Hashnode publication. Does NOT publish — use hashnode_publish_draft afterwards. Args:
Returns: draft id, title, slug, tags, updatedAt |
| hashnode_update_draftA | Update fields of an existing draft. Only provided fields are changed. Args:
|
| hashnode_publish_draftA | Publish an existing draft, making it a live blog post. Args:
Returns: post id, title, slug, url, publishedAt, tags Examples:
|
| hashnode_list_postsA | List published blog posts in a publication, ordered by publish date (newest first). Args:
Returns: posts with id, title, slug, url, publishedAt, views, readTime, tags |
| hashnode_get_postA | Fetch full details of a published post by its slug. Args:
Returns: full post data including content brief, views, tags, cover image, author |
| hashnode_publish_postA | Publish a new blog post directly without creating a draft first. Prefer hashnode_create_draft + hashnode_publish_draft for a safer workflow. Args:
Returns: post id, title, slug, url, publishedAt, tags |
| hashnode_update_postA | Update fields of an already-published post. Only provided fields are changed. Args:
|
| hashnode_delete_postA | Permanently delete a published post. This action cannot be undone. Args:
⚠️ WARNING: This permanently deletes the post. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 11 tools
Each tool targets a distinct resource and action: user, publication, drafts, and posts each have their own verbs (get/list/create/update/publish/delete). The overlap between publish_post and create_draft+publish_draft is explicitly disambiguated, making tool selection clear.
All tools follow the consistent pattern 'hashnode_<verb>_<resource>' in snake_case (e.g., get_me, list_drafts, update_post). There are no mixed conventions or vague names.
11 tools is well-scoped for a blog platform, covering user info, publication lookup, draft management (list/create/update/publish), and post management (list/get/publish/update/delete). Each tool earns its place without bloat.
The core blogging workflow is covered, including draft creation, updating, publishing, and post lifecycle. Minor gaps exist: there is no delete_draft or unpublish post operation, which agents might need for full lifecycle management.