Skip to content

MCP Integration

one-ea edited this page Apr 25, 2026 · 2 revisions

🤖 MCP 集成

通过 Monolith-MCP 让 AI 助手用自然语言驱动 Monolith。


什么是 MCP?

Model Context Protocol (MCP) 是 Anthropic 开源的协议,标准化「AI 助手 ↔ 工具」的双向通信。Monolith-MCP 是按 MCP spec 实现的服务器,把博客的 30+ REST 端点封装成 AI 可调用的工具。


支持的 AI 客户端

客户端 配置位置 备注
Claude Desktop ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) 官方主推
Cursor ~/.cursor/mcp.json IDE 内集成
Antigravity / Trae 设置 → MCP 服务器 国内 IDE 友好
任何兼容 MCP 的客户端 标准 stdio / sse 协议 自由扩展

安装与配置

1. 启动 MCP 服务器

git clone https://github.com/one-ea/Monolith-MCP
cd Monolith-MCP
npm install
npm run build

# 测试运行
MONOLITH_API_BASE=https://your-worker.workers.dev \
MONOLITH_TOKEN=eyJ... \
node dist/index.js

2. 配置 Claude Desktop

编辑 claude_desktop_config.json

{
  "mcpServers": {
    "monolith": {
      "command": "node",
      "args": ["/absolute/path/to/Monolith-MCP/dist/index.js"],
      "env": {
        "MONOLITH_API_BASE": "https://your-worker.workers.dev",
        "MONOLITH_TOKEN": "your-jwt-token"
      }
    }
  }
}

重启 Claude Desktop 即可。

3. 配置 Cursor

编辑 ~/.cursor/mcp.json

{
  "mcpServers": {
    "monolith": {
      "command": "node",
      "args": ["/absolute/path/to/Monolith-MCP/dist/index.js"],
      "env": {
        "MONOLITH_API_BASE": "https://your-worker.workers.dev",
        "MONOLITH_TOKEN": "your-jwt-token"
      }
    }
  }
}

可用工具

文章管理 (10+)

  • list_posts — 列出文章
  • get_post — 获取详情
  • create_post — 创建
  • update_post — 更新
  • delete_post / restore_post
  • publish_post / unpublish_post
  • pin_post / unpin_post
  • list_post_versions / restore_post_version
  • localize_images — 本地化远程图片

评论审核 (4)

  • list_comments
  • approve_comment / reject_comment
  • delete_comment

分类系列 (6)

  • list_categories / create_category / update_category / delete_category
  • list_series / create_series

媒体管理 (3)

  • list_media
  • upload_media
  • delete_media

数据分析 (3)

  • analytics_overview
  • analytics_top_posts
  • analytics_referrers

备份恢复 (2)

  • create_backup
  • restore_backup

自然语言示例

我: 列出我最近发的 5 篇文章
AI: (调用 list_posts pageSize=5)
    1. 边缘计算实践 (2026-04-20)
    2. ...

我: 把第一篇置顶
AI: (调用 pin_post slug="edge-computing-practice")
    已置顶 ✓

我: 帮我写一篇关于 Bun 的文章草稿,关键点:性能、兼容性、生态
AI: (生成内容后调用 create_post status="draft")
    草稿已创建:/admin/editor?slug=bun-deep-dive

我: 看看本月哪篇文章流量最高
AI: (调用 analytics_top_posts month=2026-04)
    Top 1: ... (12,345 views)

与 cf-deploy-runner Skill 协同

仓库内置 .claude/skills/cf-deploy-runner 在自然语言里说"部署到 cf"会自动触发 npm run deploy:cloudflare 流程。MCP 工具负责内容管理,Skill 负责部署 — 两者形成完整闭环。


安全建议

  • ⚠️ MCP token 等同于管理员密码,务必妥善保管
  • ✅ 推荐为 MCP 创建专属短期 token(如果未来支持)
  • MONOLITH_TOKEN 通过环境变量传入,不要硬编码
  • ✅ 生产环境建议为 MCP 单独配置只读子域 / IP 白名单

常见问题

Q: 启动报 connection refused

确认 MONOLITH_API_BASE 可达,浏览器先访问 /api/health

Q: 工具调用 401

token 过期。重新登录获取新 token,更新 MCP 配置后重启客户端。

Q: 想添加自定义工具

Fork Monolith-MCP,在 src/tools/ 新增工具定义并 PR 回馈。


延伸阅读

Clone this wiki locally