开发博客 MCP 服务器
一个模型上下文协议(MCP)服务器,它使AI助手能够直接将博客文章发布到Dev.to。此服务器提供了一种无缝的方式,将博客发布功能集成到您的AI工作流程中。
特点/特性
- 🚀 表情符号“🚀”通常表示火箭、发射或快速前进,也可以用来形容速度非常快或事情进展迅速。在中文里,这个表情可以直接用,不需要翻译,但可以根据上下文解释为“火箭”、“发射”或“飞快”等意思。例如:“🚀 我们即将发射新项目!” 直接发布到Dev.to通过MCP直接将博客文章发布到Dev.to
- 📝 丰富内容支持全面支持Markdown,包括标签、系列和封面图片
- 🔒 表示“锁”或“安全”的意思,常用于表示信息或系统的安全性,如“🔒 请勿泄露密码”或“🔒 该网站已加密”。 安全API集成使用环境变量来管理API密钥
- 🛠️(扳手/工具) 轻松集成使用uv包管理器进行简单设置
- 📊(图表) 全面日志记录详细的日志记录用于调试和监控
先决条件
在开始之前,请确保已安装以下内容:
- Python 3.13或更高版本
- 紫外线 (Python包管理器)
- Git(版本控制系统) (用于版本控制)
- Dev.to API密钥 (从……获取 Dev.to 设置)
安装
1. 安装 uv(如果尚未安装)
# On macOS and Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# On Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
# Or using pip
pip install uv2. 克隆仓库
git clone https://github.com/anuragck2/dev-blog-mcp-server.git
cd dev-blog-mcp-server3. 安装依赖项
# Install project dependencies using uv
uv sync4. 环境设置
创建一个 .env 项目根目录下的文件:
# Copy the example environment file
cp .env.example .env
# Edit the .env file and add your Dev.to API key
echo "DEVTO_API_KEY=your_devto_api_key_here" > .env获取您的Dev.to API密钥:
- 首选 Dev.to 设置
- 向下滚动到“API密钥”部分
- 生成一个新的API密钥
- 复制密钥并将其添加到您的
.env文件
使用方法
运行MCP服务器
# Activate the virtual environment and run the server
uv run python main.py服务器将启动并监听通过stdio传输的MCP连接。
与MCP Inspector配合使用
MCP Inspector 是一个用于测试和调试 MCP 服务器的强大工具。以下是设置方法:
1. 安装MCP Inspector
# Install MCP Inspector globally
npm install -g @modelcontextprotocol/inspector2. 配置MCP检查器
为MCP Inspector创建一个配置文件:
{
"mcpServers": {
"dev-blog-mcp-server": {
"command": "uv",
"args": ["run", "python", "main.py"],
"cwd": "/path/to/your/dev-blog-mcp-server"
}
}
}3. 运行MCP检查器
# Start the MCP Inspector
mcp-inspector这将打开一个网页界面,在其中您可以:
- 测试
publish_blog_to_devto工具 - 查看服务器日志
- 调试MCP通信
- 监控工具执行情况
与Claude Desktop配合使用
要使用此MCP服务器与Claude Desktop配合:
- 打开Claude桌面设置
- 添加MCP服务器配置
在您的Claude桌面配置中添加以下内容:
{
"mcpServers": {
"dev-blog-mcp-server": {
"command": "uv",
"args": ["run", "python", "main.py"],
"cwd": "/path/to/your/dev-blog-mcp-server"
}
}
}- 重启Claude桌面版
添加配置后,重启 Claude Desktop 以加载新的 MCP 服务器。
API 参考文档
publish_blog_to_devto 工具
在Dev.to上发布一篇博客文章,参数如下:
| 参数 | 类型 | 必需 | 描述 | ||||
|---|---|---|---|---|---|---|---|
| (无对应中文) | (无对应中文) | (无对应中文) | (无对应中文) | title | |||
| 字符串 | ✅ | 博客文章的标题 | body_markdown | ||||
| 字符串 | ✅ | Markdown格式的内容 | tags | ||||
| 字符串列表 | ❌ | 标签列表(例如,\["python", "webdev"\]) | published | true | 布尔值 | ❌ | 设置为 false 立即发布, |
| 用于草稿 | series | ||||||
| 字符串 | ❌ | 本文所属系列的名称 | canonical_url | ||||
| 字符串 | ❌ | 如跨平台发布,则为规范URL | cover_image |
| 字符串 | ❌ | 封面图片的URL |
# Example tool call
publish_blog_to_devto(
title="Getting Started with MCP",
body_markdown="# Introduction\n\nThis is a great article about MCP!",
tags=["mcp", "ai", "tutorial"],
published=False, # Save as draft
series="MCP Fundamentals"
)示例用法
发展
dev-blog-mcp-server/
├── main.py # Main MCP server implementation
├── pyproject.toml # Project configuration and dependencies
├── .env.example # Environment variables template
├── sample_prompt.md # Sample prompts for testing
├── README.md # This file
└── uv.lock # Dependency lock file项目结构
- 添加新功能 添加新工具
@mcp.tool() - 通过创建带有装饰器的函数 更新依赖项
pyproject.toml - 在 使用MCP Inspector进行测试
- 在部署之前 更新文档
在这个README文件中
# Run the server in development mode
uv run python main.py
# Test with MCP Inspector
mcp-inspector测试
故障排除
- 常见问题
- “DEVTO_API_KEY”环境变量未设置 .env 确保你的 - 文件存在且包含正确的API密钥
- 验证API密钥是否有效且具有必要的权限
- 网络或API请求错误 - 检查你的网络连接 - 验证Dev.to API是否可访问
- 确保您的API密钥尚未过期
- MCP Inspector连接问题 - 验证服务器是否正在运行 - 检查配置文件路径
确保所有依赖项都已安装
调试模式 main.py通过修改日志级别来启用调试日志记录
logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s'):
- 贡献;做出贡献
- 为仓库创建分支(或“克隆仓库”)
git checkout -b feature/amazing-feature创建一个特性分支( - )
git commit -m 'Add some amazing feature'提交您的更改( - )
git push origin feature/amazing-feature推送到分支( - )
提交一个拉取请求
许可证 这个项目遵循MIT许可证授权——详见 许可证
文件中有详细信息。
- 支持 📧 电子邮件符号,可直接用作“邮件”或“电子邮件”的代称,在中文中通常不直接翻译,而是保留原样使用。问题 :
- GitHub Issues(GitHub问题) 📖 代表书籍的图标,可译为“书籍”或根据上下文译为“书本”等,具体译文需结合语境确定。文档 :
- MCP 文档 🐦 翅膀(或鸟)Twitter(推特) :
@anuragck2(这个用户名或标签在中文中通常保持不变,因为它们是特定于网络或社交媒体的标识)
- 致谢 模型上下文协议
- 为令人惊叹的MCP框架 Dev.to(注:这是一个技术博客平台的名称,直接翻译为中文可能不常见,因此保留原英文形式,但可根据上下文理解为“开发者技术博客”或类似含义)
- 提供发布API 紫外线
- 用于快速Python包管理器 FastMCP
______________________________________________________________________
对于卓越的MCP服务器框架
