blogcaster-mcp
v1.0.1
Published
An MCP server for the BlogCaster project - publish, list, and delete posts across multiple blogging platforms
Downloads
20
Maintainers
Readme
🚀 BlogCaster MCP — Your Blog Ecosystem, One MCP Server
Cloud-hosted MCP server that lets you publish, list, and delete posts across multiple blogging platforms from any MCP-enabled client (Claude Desktop, Cursor/Cline, etc.). No local installs — just point your client at the URL.
Architecture: Secure Session-Based Storage
Tokens are stored encrypted in dedicated, ephemeral Durable Objects. Each chat session gets a unique storage box.
📦 Installation
Option 1: NPM Package (Recommended)
Install via NPM for local stdio transport:
npm install -g blogcaster-mcpThen configure your MCP client:
Claude Desktop:
{
"mcpServers": {
"blogcaster": {
"command": "npx",
"args": ["-y", "blogcaster-mcp"]
}
}
}Cursor / Cline:
{
"blogcaster": {
"command": "npx",
"args": ["-y", "blogcaster-mcp"]
}
}Option 2: Remote Cloud Endpoint
Use the hosted Cloudflare Worker (no installation required):
MCP Endpoint:
https://blogcaster-mcp.rrpb2580.workers.dev/mcpClaude Desktop:
{
"mcpServers": {
"blogcaster": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://blogcaster-mcp.rrpb2580.workers.dev/mcp"]
}
}
}Cursor / Cline:
{
"blogcaster": {
"url": "https://blogcaster-mcp.rrpb2580.workers.dev/mcp"
}
}Restart the client after saving the config.
🛠️ Tools you can call
getTokenManagementLink()— Start here. Generates a secure link to manage your tokens.publishPost(title, contentMarkdown, platforms, coverImageURL?)— publish to one or many blogs.getBlogs(platforms)— list recent posts per platform.deletePost(platforms, postId)— delete by ID on one or many platforms.
🚦 Quickstart flow
1) Setup Tokens (Do this once per session)
- Ask AI: "Give me the link to manage my tokens"
- Click the link generated by
getTokenManagementLink() - Add your platform keys (Hashnode, Dev.to, WordPress) in the secure web portal.
2) Publish a post
publishPost(
title: "My First BlogCaster Demo",
contentMarkdown: "# Hello World\\nPublished via MCP!",
platforms: ["hashnode", "devto", "wordpress"],
coverImageURL: "https://example.com/cover.jpg"
)3) List posts
getBlogs({ platforms: ["hashnode", "devto", "wordpress"] })4) Delete a post by ID
deletePost({ platforms: ["devto", "wordpress"], postId: "12345" })🌐 Platform support
| Platform | Status | Notes | |------------|--------|-------| | Hashnode | ✅ | Cover images ignored (API limitation) | | Dev.to | ✅ | Cover image URL supported | | WordPress | ✅ | Supports self-hosted + WordPress.com | | Medium | 🔜 | Planned |
❓ FAQ
Do I install anything?
No — everything runs on Cloudflare Workers (remote mode) or via NPM (local mode).
Where are tokens stored?
Secure Durable Object storage scoped to your session.
Does it remember me tomorrow?
Sessions are ephemeral. If you start a new chat, you'll need to link again (this is a security feature).
Can I self-host?
Yes, deploy the Worker and point your MCP client to your URL.
Does BlogCaster store my posts?
Only temporarily to publish; no retention.
🔧 Development
# Clone the repository
git clone https://github.com/BamaCharanChhandogi/BlogCaster-MCP.git
cd BlogCaster-MCP
# Install dependencies
npm install
# Run locally
npm run dev
# Deploy to Cloudflare Workers
npm run deploy📄 License
MIT License - see LICENSE for details.
🤝 Contributing
Contributions are welcome! Please open an issue or submit a pull request.
