mcp-craft-add-blog
v1.1.1
Published
MCP server for creating and managing blog posts and pages in Craft.do
Maintainers
Readme
mcp-craft-add-blog
An MCP server that publishes local markdown files as blog posts to Craft.do.
Give it a .md file path — it parses the first # Heading as the post title, splits the body into properly sized blocks (respecting Craft's limits), and creates a subpage with all content blocks back-to-back.
Install
npx -y mcp-craft-add-blog@latestSetup
1. Get Your Craft API Credentials
- Open Craft → Settings → API
- Click Create Connection, choose the target document
- Copy the endpoint URL:
https://connect.craft.do/links/<your-key-id>/api/v1 - Note the page ID (UUID) where blog posts should be created
2. Configure Your MCP Client
Claude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"craft-blog": {
"command": "npx",
"args": ["-y", "mcp-craft-add-blog@latest"],
"env": {
"CRAFT_API_URL": "https://connect.craft.do/links/<your-key-id>/api/v1",
"CRAFT_PAGE_ID": "<your-page-uuid>"
}
}
}
}Claude Code
claude mcp add craft-blog \
-e CRAFT_API_URL="https://connect.craft.do/links/<your-key-id>/api/v1" \
-e CRAFT_PAGE_ID="<your-page-uuid>" \
-- npx -y mcp-craft-add-blog@latestEnvironment Variables
| Variable | Required | Description |
|----------|----------|-------------|
| CRAFT_API_URL | Yes | Craft API base URL (auth is embedded in the URL — no headers needed) |
| CRAFT_PAGE_ID | Yes | Default parent page ID where blog posts are created as subpages |
Tool
publish_blog_post
| Parameter | Required | Description |
|-----------|----------|-------------|
| filePath | Yes | Absolute path to the .md file |
| pageId | No | Override parent page (defaults to CRAFT_PAGE_ID) |
What it does:
- Reads the markdown file from disk
- Extracts the first
# Headingas the blog post title - Splits the remaining body into chunks (≤ 8,000 chars each) at heading and paragraph boundaries — small fragments are merged to avoid tiny trailing blocks
- Creates a Craft subpage (card style) with all content blocks in order
Example prompt:
"Publish the blog post at /Users/me/posts/my-article.md to Craft"
Development
git clone https://github.com/yigitkonur/mcp-craft-add-blog.git
cd mcp-craft-add-blog
npm install
npm run build
CRAFT_API_URL="..." CRAFT_PAGE_ID="..." node dist/index.jsLicense
MIT
