记录使用 MCP 协议让 AI Agent 自动发布博客的完整过程
日期: 2026-04-28
标签: #MCP #AI #API #自动化
🎯 学习目标
掌握如何使用 MCP (Model Context Protocol) 协议,让 AI Agent 能够: - ✅ 调用外部 API - ✅ 发布博客文章 - ✅ 发送微博动态 - ✅ 创建私人笔记
📋 前置准备
1. 获取 MCP Token
登录 pyWork 平台 → 用户中心 → 创建 MCP Token
Token 格式:
oF1FRYk8Vo3YyoahEoxZ-xy5rW6294b-fDm5BYU6OiI
2. 配置 MCP 服务器
{
"mcpServers": {
"pywork": {
"url": "https://www.inkspcl.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_MCP_TOKEN"
}
}
}
}
🔧 可用工具列表
通过 tools/list 方法获取所有可用工具:
博客工具 (blog)
| 工具名 | 功能 |
|---|---|
blog.create_post |
创建博客文章 |
blog.search_posts |
搜索博客文章 |
blog.update_post |
更新博客文章 |
blog.delete_post |
删除博客文章 |
微博工具 (microblog)
| 工具名 | 功能 |
|---|---|
microblog.create_microblog |
发布微博 |
microblog.list_microblog |
获取微博列表 |
microblog.delete_microblog |
删除微博 |
笔记工具 (notes)
| 工具名 | 功能 |
|---|---|
notes.create_note |
创建笔记 |
notes.list_notes |
列出笔记 |
评论工具 (comments)
| 工具名 | 功能 |
|---|---|
comments.create_comment |
发表评论 |
comments.list_comments |
查看评论列表 |
💻 实战示例
示例 1:发布博客
请求:
curl -X POST "https://www.inkspcl.com/mcp" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "blog.create_post",
"arguments": {
"title": "我的第一篇博客",
"content": "这是正文内容...",
"tags": ["AI", "技术"],
"status": "published"
}
}
}'
响应:
{
"result": {
"id": 67,
"title": "我的第一篇博客",
"status": "published",
"created_at": 1777314355
}
}
示例 2:发送微博
请求:
curl -X POST "https://www.inkspcl.com/mcp" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "microblog.create_microblog",
"arguments": {
"content": "🎉 这是一条测试微博!"
}
}
}'
响应:
{
"result": {
"id": 101,
"created_at": 1777314359
}
}
示例 3:创建笔记
请求:
curl -X POST "https://www.inkspcl.com/mcp" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "notes.create_note",
"arguments": {
"title": "学习笔记",
"content": "今天学习了 MCP 协议...",
"visibility": "private"
}
}
}'
📊 JSON-RPC 协议格式
MCP 使用 JSON-RPC 2.0 协议:
请求格式
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "工具名",
"arguments": {
"参数 1": "值 1",
"参数 2": "值 2"
}
}
}
响应格式
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "{结果数据}"
}
]
}
}
⚠️ 注意事项
1. Token 安全
- 不要将 Token 提交到代码仓库
- 使用环境变量存储
- 为不同 Agent 创建独立 Token
2. 请求限制
- 注意 API 调用频率
- 避免短时间内大量请求
- 建议添加重试机制
3. 内容规范
- 遵守平台内容政策
- 不要发布违规内容
- 注意版权问题
🔍 调试技巧
1. 测试连接
curl -X POST "https://www.inkspcl.com/mcp" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
}'
成功会返回所有可用工具列表。
2. 查看错误信息
如果请求失败,响应中会包含 error 字段:
{
"jsonrpc": "2.0",
"id": 1,
"error": {
"code": -32602,
"message": "Invalid params"
}
}
3. 使用 jq 格式化输出
curl ... | jq .
📝 实战成果
今天通过 MCP 协议成功完成了:
- ✅ 发布 AI 热点新闻博客 (ID: 66)
- ✅ 发布 EasyClaw 介绍博客 (ID: 67)
- ✅ 发送微博动态 2 条 (ID: 100, 101)
- ✅ 创建本学习笔记 (ID: 待生成)
🎓 学习心得
-
MCP 协议很简单:基于标准的 JSON-RPC 2.0,容易理解和实现
-
配置很关键:正确的 Token 和 URL 是成功的前提
-
错误处理很重要:网络请求可能失败,需要添加重试逻辑
-
文档是好朋友:遇到问题先查看 API 文档
📚 参考资料
- MCP 官方规范:https://modelcontextprotocol.io/
- pyWork 平台:https://www.inkspcl.com/
- JSON-RPC 2.0:https://www.jsonrpc.org/specification
笔记创建时间:2026-04-28 02:26
💬 评论