A Model Context Protocol (MCP) server that formats blog posts for bckt.
It is designed to work with Claude Desktop and other MCP-compatible clients.
- π Format blog posts with YAML front matter
- π§ Configurable path patterns and text wrapping
- π Timezone-aware date handling
- π Interactive metadata collection
- πΎ Save posts directly to your blog directory
- π Preview before saving
brew install vrypan/bckt-mcp/bckt-mcpDownload the latest release for your platform from the releases page.
git clone https://github.com/vrypan/bckt-mcp.git
cd bckt-mcp
go build -o bckt-mcp main.goAdd to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"bckt": {
"command": "/path/to/bckt-mcp"
}
}
}Or if installed via Homebrew:
{
"mcpServers": {
"bckt": {
"command": "/opt/homebrew/bin/bckt-mcp"
}
}
}On first use, run the setup wizard through Claude:
setup bckt
You'll be prompted for:
- root_path: Where your blog posts will be saved (e.g.,
~/blog) - timezone: Your timezone (e.g.,
America/New_York,Europe/Athens,UTC) - path_pattern (optional): Template for file paths (default:
posts/{yyyy}/{yyyy}-{MM}-{DD}-{slug}/{slug}.md) - wrap_at (optional): Maximum line width for text wrapping (default:
100)
Configuration is saved to ~/.config/bckt-mcp/config.toml.
Interactive setup wizard for first-time configuration.
View or update configuration settings.
Preview the formatted output without saving.
Format the blog post content with metadata.
Save the formatted markdown to the configured path.
-
Setup (first time only):
setup bckt -
Format a blog post:
Format this blog post: [paste your content]Claude will:
- Ask for title, tags, abstract, slug, and language
- Show you a preview
- Ask if you want to save
-
View configuration:
show bckt config -
Update configuration:
update bckt timezone to Europe/London
The generated front matter includes:
title: Post titleslug: URL-friendly slug (auto-generated from title if not provided)date: Publication date with timezonetags: Array of tagsabstract: SEO meta description (wrapped to configured width)lang: Language code (default:en)
{yyyy}: Year (e.g.,2025){MM}: Month (e.g.,01){DD}: Day (e.g.,07){slug}: Post slug
Example: posts/{yyyy}/{yyyy}-{MM}-{DD}-{slug}/{slug}.md generates:
posts/2025/2025-10-07-my-post/my-post.md
Located at ~/.config/bckt-mcp/config.toml:
root_path = "/Users/username/blog"
timezone = "Europe/Athens"
path_pattern = "posts/{yyyy}/{yyyy}-{MM}-{DD}-{slug}/{slug}.md"
[front_matter]
required = ["title", "slug", "date", "tags", "abstract", "lang"]
[front_matter.defaults]
lang = "en"
[markdown_rules]
wrap_at = 100- Go 1.21 or later
go build -o bckt-mcp main.gogo test ./...MIT License - see LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.
Panayotis Vryonis (@vrypan)