Alsaheem/blogging-mcp
MCP server (FastMCP): draft and publish Markdown to dev.to and Hashnode from Cursor or Claude Desktop
Platform-specific configuration:
{
"mcpServers": {
"blogging-mcp": {
"command": "npx",
"args": [
"-y",
"blogging-mcp"
]
}
}
}Add the config above to .claude/settings.json under the mcpServers key.
[](https://github.com/alsaheem/blogging-mcp/actions/workflows/ci.yml)
Current release: 0.2.0 — set in pyproject.toml ([project].version) and blogging_mcp.__version__. After this lands on main, Docker Hub will publish alsaheem/blogging-mcp:0.2.0, alsaheem/blogging-mcp:0.2.0-<git-sha>, and update alsaheem/blogging-mcp:latest.
Documentation & quick setup: alsaheem.github.io/blogging-mcp
An MCP server built with FastMCP that publishes Markdown articles to dev.to and Hashnode in one call—so your AI agent can draft posts across both platforms while you review and publish. Hashnode uses the GraphQL API (POST https://gql.hashnode.com); see the Hashnode API reference.
Use the remote server—no clone, no Python, no local process. You only need dev.to and Hashnode credentials and a client config.
Endpoint: https://blogging-mcp.adebisiayomide.com/mcp
HTTP clients send three headers. Values must be standard Base64 (UTF-8, then encode). The server decodes Base64 on each request; if decoding fails, the raw string is tried so plain text can still work.
echo -n 'paste-your-real-devto-key-here' | base64
echo -n 'paste-your-hashnode-token-here' | base64
echo -n 'yourblog.hashnode.dev' | base64Use echo -n so you do not add a trailing newline.
| Where to get the value | Header name | |------------------------|-------------| | dev.to API key → DEV Community API Keys | X-DEVTO-API-KEY | | Hashnode PAT | X-HASHNODE-TOKEN | | Your blog host, e.g. username.hashnode.dev | `X-HASHNODE-PUBLICAT
Loading reviews...