Jekyll MCP服务器
A. 模型上下文协议(MCP) 该服务器对Jekyll博客内容进行索引和搜索,使像Claude这样的人工智能助手能够与您的博客帖子进行交互。
特性
- 对Jekyll博客文章和草稿进行索引,并进行前体解析
- 按关键字、类别或标签搜索帖子
- 通过slug检索完整帖子内容
- 将草稿内容与已发布的帖子进行比较,以检测重复内容
- 列出所有类别和标签以及帖子数量
- 支持Markdown(.md)和AsciiDoc(.adoc)格式
- 基于关键字的快速搜索
安装
使用紫外线(推荐)
uv pip install jekyll-mcp-server使用pip
pip install jekyll-mcp-server来源
git clone https://github.com/jottinger/jekyll-mcp-server.git
cd jekyll-mcp-server
uv pip install -e .配置
服务器需要知道你的Jekyll博客内容在哪里。有两种配置方式:
选项1:环境变量
在运行服务器之前设置这些环境变量:
export JEKYLL_POSTS_DIR="/path/to/your/blog/_posts"
export JEKYLL_DRAFTS_DIR="/path/to/your/blog/_drafts" # Optional选项2:从Jekyll项目目录运行
如果您从Jekyll项目根目录运行服务器(其中 _posts 和 _drafts 目录存在),它将自动检测它们。
用法
使用克劳德代码
添加到您的Claude Code MCP配置中:
{
"mcpServers": {
"jekyll-blog": {
"command": "jekyll-mcp-server",
"env": {
"JEKYLL_POSTS_DIR": "/path/to/your/blog/_posts",
"JEKYLL_DRAFTS_DIR": "/path/to/your/blog/_drafts"
}
}
}
}然后重新启动Claude Code。服务器将在需要时自动启动。
手动启动
创建启动脚本(请参见 examples/launch-server.sh):
#!/bin/bash
export JEKYLL_POSTS_DIR="/path/to/your/blog/_posts"
export JEKYLL_DRAFTS_DIR="/path/to/your/blog/_drafts"
jekyll-mcp-server使其可执行并运行:
chmod +x launch-server.sh
./launch-server.sh可用的MCP工具
一旦连接,服务器就会向AI助手提供这些工具:
搜索帖子
按关键字、类别或标签搜索博客文章。
参数:
query(字符串,可选):在标题、内容或slug中查找的搜索词category(字符串,可选):按类别筛选tags(字符串,可选):逗号分隔的标签列表limit(数字,可选):最大结果(默认值:10)
例子:
Search for posts about "AI writing" in the "blog" categoryget_post
通过slug检索特定帖子的完整内容。
参数:
slug(字符串,必填):后段塞
例子:
Get the post with slug "working-with-the-machine"列表_类别
列出所有博客类别和帖子数量。
例子:
Show me all categorieslist_tags
列出所有带有帖子计数的博客标签。
例子:
What tags do I use?比较草稿
将草稿内容与已发布的帖子进行比较,以找到类似的内容(有助于避免重复帖子)。
参数:
draft_content(string,必填):要比较的草稿文本limit(数字,可选):要返回的最大相似帖子数(默认值:5)
例子:
Compare this draft against my published posts:
[paste draft content]工作流示例
以下是如何将其与Claude Code一起使用:
- 在撰写新帖子之前:
Search my posts for "AI writing process"- 检查你是否涵盖了一个主题:
Have I written about MCP servers before?- 防止重复内容:
Compare this draft against my published posts:
[paste draft]- 检索现有内容:
Get the full content of my post "working-with-the-machine"- 分析你的博客:
What categories do I write about most?重新索引内容
服务器在启动时对内容进行索引。发布新帖子或做出重大更改后:
- 停止服务器(如果独立运行)
- 重新启动以刷新索引
使用Claude Code,服务器在需要时会自动重启。
发展
设置
git clone https://github.com/jottinger/jekyll-mcp-server.git
cd jekyll-mcp-server
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv pip install -e ".[dev]"运行测试
pytest项目结构
jekyll-mcp-server/
├── jekyll_mcp/
│ ├── __init__.py
│ ├── server.py # MCP server implementation
│ ├── indexer.py # Post indexing logic
│ ├── parser.py # Front matter parsing
│ └── tools.py # MCP tool implementations
├── examples/
│ ├── claude-code-config.json
│ └── launch-server.sh
├── tests/
├── LICENSE
├── README.md
└── pyproject.toml需求
- Python 3.10或更高版本
- Jekyll博客与标准
_posts目录结构 - 带有YAML封面的帖子
许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
贡献
欢迎投稿!请随时提交拉取请求。
致谢
使用 模型上下文协议 通过Anthropic。
在Claude Code的协助下创建。
