test_api_connectionLABSCO SUMMARY
Writing and publishing in the same window.
Markdown drafted in the conversation goes to Hashnode as a real article and comes back for edits without a trip through the dashboard. The search and detail reads make it useful for tidying a blog you already have, not only for posting to it.
What it is
A Python server over Hashnode's GraphQL API. It creates and updates articles, searches published content by keyword, pulls one article's details, reads user profiles and fetches the latest posts from a publication.
What you get
- New articles created from a title and a markdown body, published or held back as a draft (create_article)
- Existing articles edited in place — title, body, tags, published state (update_article)
- Keyword search across articles (search_articles)
- One article's full details pulled back (get_article_details)
- The latest posts from a publication (get_latest_articles)
- Profile information for a Hashnode user (get_user_info)
- A connection check before you rely on any of it (test_api_connection)
Requirements
Python with the repo's requirements installed, and a Hashnode personal access token plus the API URL in a .env file. It listens on localhost over SSE by default, or your client can launch mcp_server.py in the repository root for you.
Setup effort
Build from source — Clone the repository: git clone https://github.com/sbmagar13/hashnode-mcp-server.git && cd hashnode-mcp-server
USE CASES
Publishing a post you just drafted
Title, markdown body and tags go up in one call, either live or as a draft you finish later in Hashnode.
Fixing a post that is already live
Title, body, tags and published state can all be changed on an existing article, so a typo or a stale link is a single correction.
Finding what you already wrote about a topic
Keyword search across articles, then the full details of the one you meant — useful before writing something you may have covered before.
Catching up on a publication
The most recent posts from a publication come back in the conversation, so a co-author or a competitor's blog can be reviewed without opening it.
Checking the token still works
A connection test confirms the credentials before you spend a writing session finding out they expired.
7 tools
Listed in project docs. Your client may show a different list.
create_articleupdate_articleget_latest_articlessearch_articlesget_article_detailsget_user_infoBEFORE YOU INSTALL
What to know first
Tools you get
7 tools named in the project's documentation. create_article publishes and update_article edits a live post. Comments, series and newsletters are planned, not available.
Requires
HASHNODE_PERSONAL_ACCESS_TOKEN in your environment
Where it runs
Both documented clients run the server on your machine.
INSTALLATION
Connect your client
You clone this one yourself.
Server setup
Clone the repository: git clone https://github.com/sbmagar13/hashnode-mcp-server.git && cd hashnode-mcp-server
Create a virtual environment and activate it: python -m venv .venv then source .venv/bin/activate (Windows: .venv\Scripts\activate)
Install the dependencies:
pip install -r requirements.txtCreate a .env file in the root directory containing HASHNODE_PERSONAL_ACCESS_TOKEN and HASHNODE_API_URL
Add the mcpServers block to the Cline settings file (cline_mcp_settings.json) or to claude_desktop_config.json, pointing command at the venv python and args at the root mcp_server.py
MCP Clients
Cline, Claude Desktop
{
"mcpServers": {
"hashnode": {
"command": "<YOUR_PATH_TO_VENV>/bin/python",
"args": [
"<YOUR_PATH_TO_HASHNODE_MCP_SERVER>/mcp_server.py"
],
"env": {
"HASHNODE_PERSONAL_ACCESS_TOKEN": "<YOUR_HASHNODE_PERSONAL_ACCESS_TOKEN>"
}
}
}
}