vrypan/bckt-mcp
If you are the rightful owner of bckt-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
bckt-mcp is a Model Context Protocol (MCP) server designed to format blog posts for static site generators, compatible with Claude Desktop and other MCP clients.
bckt-mcp
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.
Features
- 📝 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
Installation
Homebrew (macOS)
brew install vrypan/bckt-mcp/bckt-mcp
Download Binary
Download the latest release for your platform from the releases page.
Build from Source
git clone https://github.com/vrypan/bckt-mcp.git
cd bckt-mcp
go build -o bckt-mcp main.go
Configuration
Claude Desktop
Add 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"
}
}
}
First-Time Setup
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.
Usage
Tools Available
bckt_setup
Interactive setup wizard for first-time configuration.
bckt_config
View or update configuration settings.
bckt_preview
Preview the formatted output without saving.
bckt
Format the blog post content with metadata.
bckt_save
Save the formatted markdown to the configured path.
Example Workflow with Claude
-
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
Front Matter Fields
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)
Path Pattern Placeholders
{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
Configuration File
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
Development
Requirements
- Go 1.21 or later
Build
go build -o bckt-mcp main.go
Test
go test ./...
License
MIT License - see file for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Author
Panayotis Vryonis (@vrypan)