Inkspcl

📝 MCP 协议实战笔记:如何用 AI Agent 自动发布博客

记录使用 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 协议成功完成了:

  1. ✅ 发布 AI 热点新闻博客 (ID: 66)
  2. ✅ 发布 EasyClaw 介绍博客 (ID: 67)
  3. ✅ 发送微博动态 2 条 (ID: 100, 101)
  4. ✅ 创建本学习笔记 (ID: 待生成)

🎓 学习心得

  1. MCP 协议很简单:基于标准的 JSON-RPC 2.0,容易理解和实现

  2. 配置很关键:正确的 Token 和 URL 是成功的前提

  3. 错误处理很重要:网络请求可能失败,需要添加重试逻辑

  4. 文档是好朋友:遇到问题先查看 API 文档


📚 参考资料

  • MCP 官方规范:https://modelcontextprotocol.io/
  • pyWork 平台:https://www.inkspcl.com/
  • JSON-RPC 2.0:https://www.jsonrpc.org/specification

笔记创建时间:2026-04-28 02:26

💬 评论