Model Context Protocol

Blogging MCP

Problem

You know the situation: you’re stuck on something technical, you pour hours into it, and when you finally solve it you want to write it up—so the next person finds the answer faster.

But turning that into posts on multiple platforms is a slog: tabs, formatting, logging into each site, and the friction means you never publish—or you publish in one place and nowhere else.

This MCP is for that gap. Point your AI agent at it (from Cursor or Claude Desktop) and it can draft the same article in Markdown across dev.to and Hashnode in one flow. You stay in control: review, edit, and publish (or approve) manually when you’re ready.

The rest of this page is the fast path: get API keys, Base64-encode them for headers, and paste the remote configs below—no local server required.

Get your API keys

dev.to

  1. Open Settings → Extensions.
  2. Under DEV Community API Keys, create a key and copy it (you will Base64-encode it in the next section).

Hashnode

  1. Open Developer settings.
  2. Create a Personal Access Token and copy it.
  3. Your publication host is your blog hostname, e.g. yourname.hashnode.dev (or your custom domain).

Encode values for MCP headers

The server expects three HTTP headers with Base64-encoded UTF-8 strings. On macOS or Linux:

echo -n 'YOUR_DEVTO_API_KEY' | base64
echo -n 'YOUR_HASHNODE_PAT' | base64
echo -n 'yourblog.hashnode.dev' | base64

Use echo -n so you do not add a newline. Paste each single-line output into the configs below (replace the placeholder Base64).

https://blogging-mcp.adebisiayomide.com/mcp

Cursor (remote)

File: ~/.cursor/mcp.json (macOS/Linux) or %USERPROFILE%\.cursor\mcp.json (Windows). Edit from Cursor Settings → MCP if you prefer.

mcp.json

{
  "mcpServers": {
    "blogging-mcp": {
      "url": "https://blogging-mcp.adebisiayomide.com/mcp",
      "headers": {
        "X-DEVTO-API-KEY": "ZXhhbXBsZS1kZXZ0by1rZXktcGxhY2Vob2xkZXI=",
        "X-HASHNODE-TOKEN": "MDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAx",
        "X-HASHNODE-PUBLICATION-HOST": "ZXhhbXBsZWJsb2cuaGFzaG5vZGUuZGV2"
      }
    }
  }
}

Fully quit Cursor and reopen so MCP reloads.

Claude Desktop (remote)

Install Node.js 20 (LTS) from nodejs.org if you don’t have it yet. Claude Desktop runs mcp-remote via npx; a global install avoids download prompts and PATH issues:

npm install -g mcp-remote

In claude_desktop_config.json, use the same hosted URL as above and pass each credential as --header with Base64 after Name: (space after the colon).

File: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS), %APPDATA%\Claude\claude_desktop_config.json (Windows), or ~/.config/Claude/claude_desktop_config.json (Linux). Keep "preferences" in the same JSON object if you already have them.

claude_desktop_config.json

{
  "mcpServers": {
    "blogging-mcp": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://blogging-mcp.adebisiayomide.com/mcp",
        "--header",
        "X-DEVTO-API-KEY: ZXhhbXBsZS1kZXZ0by1rZXktcGxhY2Vob2xkZXI=",
        "--header",
        "X-HASHNODE-TOKEN: MDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAx",
        "--header",
        "X-HASHNODE-PUBLICATION-HOST: ZXhhbXBsZWJsb2cuaGFzaG5vZGUuZGV2"
      ]
    }
  }
}

If npx asks to install on first run, add "-y" before "mcp-remote" in args. Fully quit Claude Desktop and reopen.