Skip to main content
Glama
kieksme
by kieksme

hashnode-mcp-server

npm version Release

MCP server for the Hashnode GraphQL API.
Create drafts, publish posts, manage your blog — all via Claude.

Tools

Tool

Description

hashnode_get_me

Get your profile and publication IDs

hashnode_get_publication

Get publication info by host

hashnode_list_posts

List published posts

hashnode_get_post

Get a single post by slug

hashnode_create_draft

Create a draft

hashnode_update_draft

Update an existing draft

hashnode_list_drafts

List drafts in a publication

hashnode_publish_draft

Publish a draft → live post

hashnode_publish_post

Publish directly (no draft step)

hashnode_update_post

Update a published post

hashnode_delete_post

Delete a post ⚠️

Related MCP server: mcp-blog

Setup

1. Get your Personal Access Token

Go to hashnode.com/settings/developer and click Generate new token.

2. Install

Via npx (no install needed — recommended):

npx -y hashnode-mcp-server

Via global install:

pnpm add -g hashnode-mcp-server

Build from source:

git clone https://github.com/kieksme/mcp-hashnode.git
cd mcp-hashnode
pnpm install && pnpm run build

3. Configure your MCP client

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "hashnode": {
      "command": "npx",
      "args": ["-y", "hashnode-mcp-server"],
      "env": {
        "HASHNODE_TOKEN": "your-token-here"
      }
    }
  }
}

Claude Code (CLI)

claude mcp add hashnode \
  --command npx \
  --args "-y hashnode-mcp-server" \
  --env HASHNODE_TOKEN=your-token-here

Cursor

Add to .cursor/mcp.json in your project root, or to ~/.cursor/mcp.json globally:

{
  "mcpServers": {
    "hashnode": {
      "command": "npx",
      "args": ["-y", "hashnode-mcp-server"],
      "env": {
        "HASHNODE_TOKEN": "your-token-here"
      }
    }
  }
}

VS Code (GitHub Copilot)

Add to .vscode/mcp.json in your workspace:

{
  "servers": {
    "hashnode": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "hashnode-mcp-server"],
      "env": {
        "HASHNODE_TOKEN": "your-token-here"
      }
    }
  }
}

Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "hashnode": {
      "command": "npx",
      "args": ["-y", "hashnode-mcp-server"],
      "env": {
        "HASHNODE_TOKEN": "your-token-here"
      }
    }
  }
}

Usage examples

"What's my publication ID?"
→ hashnode_get_me

"Create a draft called 'Cloud Security Best Practices' with this content: ..."
→ hashnode_create_draft

"Publish the draft with ID xyz"
→ hashnode_publish_draft

"List my last 10 posts on thinkport.hashnode.dev"
→ hashnode_list_posts

Authentication

Hashnode requires Authorization: <token> (no Bearer prefix).
All mutations need the token; most read queries are public.

Rate limits

  • Queries: 20,000 req/min

  • Mutations: 500 req/min

Tags format

Tags must be objects — not plain strings:

[
  { "name": "Cloud Computing", "slug": "cloud-computing" },
  { "name": "DevOps", "slug": "devops" }
]

Releases

This project uses release-please for automated releases.

  • Commits to main that follow Conventional Commits (feat:, fix:, chore: etc.) are tracked automatically.

  • release-please opens a Release PR that bumps the version and updates CHANGELOG.md.

  • Merging the Release PR creates a GitHub Release and triggers an automated npm publish.

Required secret

Add NPM_TOKEN to the repository secrets (Settings → Secrets → Actions):
Generate at npmjs.com/settings/tokens — choose Automation type.

License

MIT

F
license - not found
-
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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