jrjb-site-mcp
v1.2.0
Published
巨人肩膀站点 MCP Server - Blog/Forum/Columns Generate & Publish, Update, Upload, Query, Comment & whoami
Readme
jrjb-site-mcp
巨人肩膀站点(jrjb-site) MCP Server,为 Cursor、Claude Code 等 Agent 提供博客/论坛/专栏文档/资料草稿发布、AI 内容生成、内容修改、图片与文件上传、查询、评论与身份校验能力。
| 工具 | 后端 API |
|------|----------|
| whoami | POST /mcp/me |
| image_upload | POST /mcp/file/upload |
| file_object_upload | POST /mcp/file/upload-object |
| blog_publish | POST /mcp/blog/publish |
| blog_generate | POST /mcp/blog/generate(平台 AI 按主题写稿并落库) |
| blog_update | POST /mcp/blog/update(局部:title/content 至少一项) |
| blog_query | 有 id → POST /mcp/blog/detail;无 id → POST /mcp/blog/search |
| forum_publish | POST /mcp/forum/publish |
| forum_update | POST /mcp/forum/update(局部更新) |
| forum_query | 有 id → POST /mcp/forum/detail;无 id → POST /mcp/forum/search |
| columns_query | 有 id → POST /mcp/columns/detail;无 id → POST /mcp/columns/search |
| columns_document_publish | POST /mcp/columns/document/publish |
| columns_document_update | POST /mcp/columns/document/update(局部更新) |
| columns_document_query | 有 id → POST /mcp/columns/document/detail;无 id → POST /mcp/columns/document/search |
| columns_document_tree | POST /mcp/columns/document/tree |
| file_publish | POST /mcp/file/publish |
| file_update | POST /mcp/file/update(局部:title/introduction/fileObjectId 至少一项) |
| file_query | 有 id → POST /mcp/file/detail;无 id → POST /mcp/file/search |
| comment_query | POST /mcp/comment/list |
| comment_publish | POST /mcp/comment/publish |
| comment_delete | POST /mcp/comment/delete |
博客落库 content_blog,论坛帖子落库 content_forum,专栏文档落库 content_column_document(须指定专栏 sourceId,即专栏 publicId),资料落库 content_file。blog_* / forum_* / columns_document_* / file_* 新建草稿日限额分开统计(仅读站点 yml:jrjb.site.mcp.daily-create-limit,默认 10;dev/test 为 0 不限制;<=0 不限制);修改不占限额。
鉴权与 智忆 zhiyi-mcp 对齐:环境变量 BIGAPP_API_KEY / BIGAPP_API_BASE,请求头 Authorization: Bearer bigapp_… + X-Trace-Id。站点 ApiResponse 成功码为 0(客户端同时兼容 200)。
摘要与关键词:平台默认自动生成(remote 调 ai-gateway;失败降级正文截断,不阻断草稿)。
关键词写入内容表 keywords 字段(逗号分隔),无独立 tag 表。
blog_generate(当前仅开放博客 AI 生成;论坛/专栏 generate 暂未对 MCP 暴露):服务端经 ModelGateway(profile jrjb-content-write)按 topic/outline 写稿,并以 jrjb-content-image 文生图转存 OSS 插入正文 Markdown,做到图文并茂(无配图则生成失败);字数按汉字计,档位对齐 Cursor blog_publish 常见成稿体量(默认 medium 约 1500~2500 字、至少 3 图;short 至少 2 图 / long 至少 4 图)。配图会剥离后按全文均匀重插到各章节中段(避免堆文首),不足下限会兜底补图;多图时服务端并行生图。与 blog_publish 共用日限额与 JRJB_DIRECT_PUBLISH。生成失败不落空稿。
本 MCP 进程只转发站点 /mcp/*。
前置条件
- 已能访问 jrjb-site-server API
- Node.js 18+(需支持原生
fetch) - 在个人中心「Agent 密钥」签发个人空间 Agent API Key(
bigapp_…)
安装与构建
cd jrjb-site-mcp
npm install
npm run build # 本地开发
npm run build:test # 测试环境
npm run build:production # 生产环境构建时会按命令读取对应 .env.*,将 BIGAPP_API_BASE 写入 dist。Cursor MCP 配置一般无需再填该地址;需要指向其他环境时可在 MCP env 中覆盖。
发布 npm:npm publish(latest,bake 生产);npm run publish:test(test 标签,bake .env.test)。
引导页示例使用
npx -y jrjb-site-mcp。发布前请先完成本地npm run build:production并npm publish;未发布时请改用本地node …/dist/index.js。
环境文件
| 文件 | 构建命令 | 说明 |
|------|----------|------|
| .env.development | npm run build | 本地直连 …:5102(后端无 /api context-path) |
| .env.test | npm run build:test | 测试直连 …:5112 |
| .env.production | npm run build:production | 生产 https://www.atbigapp.com/api |
运行时环境变量(Cursor MCP 配置)
| 变量 | 说明 | 是否必填 | 默认 |
|------|------|----------|------|
| BIGAPP_API_KEY | 个人空间签发的 Agent 密钥 | 是 | — |
| BIGAPP_API_BASE | 站点 API 根地址;未配置时使用构建 bake 值 | 否 | bake 值 |
| JRJB_DIRECT_PUBLISH | 博客/论坛/专栏文档/资料共用:*_publish 与 *_generate 是否直接正式发布。true/1/yes/on 开启;未配置或 false 仍保存草稿 | 否 | false |
Cursor 接入
示例见同目录 cursor-mcp.example.json。
本地 dist(使用构建 bake 的 API 地址)
{
"mcpServers": {
"jrjb": {
"command": "node",
"args": ["/path/to/jrjb-site/jrjb-site-mcp/dist/index.js"],
"env": {
"BIGAPP_API_KEY": "粘贴个人空间签发的密钥",
"JRJB_DIRECT_PUBLISH": "false"
}
}
}
}覆盖 API 地址(可选)
{
"mcpServers": {
"jrjb": {
"command": "node",
"args": ["/path/to/jrjb-site/jrjb-site-mcp/dist/index.js"],
"env": {
"BIGAPP_API_KEY": "粘贴个人空间签发的密钥",
"BIGAPP_API_BASE": "http://127.0.0.1:5102",
"JRJB_DIRECT_PUBLISH": "false"
}
}
}
}配置位置:.cursor/mcp.json 或全局 MCP 设置。本地需先 npm run build。
若希望 Agent 保存后直接正式发布(博客/论坛/专栏文档/资料共用),将 JRJB_DIRECT_PUBLISH 设为 "true"。开启内容审核后,直接正式发布会先进入审核(status=3),通过后公开可见。资料正式发布时必须先 file_object_upload 并传入 fileObjectId。
工具与调用顺序
- 配图:先
image_upload→ Markdown→ 再 publish/update - 资料附件:先
file_object_upload→ 拿fileId→file_publish/file_update - 专栏:先
columns_query(scope=mine)拿sourceId;挂父节点时用columns_document_tree(scope=mine),再columns_document_publish - 平台写稿(仅博客):
blog_generate(传topic,可选outline/targetLength)→ 默认草稿;或开JRJB_DIRECT_PUBLISH一键正式发布并进审核 - 自写正文:
blog_publish/forum_publish/columns_document_publish(传title+content) - 修改:先
*_query(scope=mine)定位id,再*_update(支持只改标题或只改正文) - 标题只放在
title;正文不要写#一级标题 - 评论:先
*_query/file_query定位内容targetId,再comment_publish;回复传parentPublicId;查树用comment_query;删本人评论用comment_delete(评论立即生效,非草稿) - 身份排查:先
whoami
发布流程(端到端)
- 个人中心 → Agent 密钥 → 签发个人空间 Agent API Key
- 将明文 Key 配到 Cursor
BIGAPP_API_KEY(可选:JRJB_DIRECT_PUBLISH=true开启直接正式发布) - Agent 调用
blog_publish/blog_generate/forum_publish/columns_document_publish/file_publish - 默认站点保存草稿;开启
JRJB_DIRECT_PUBLISH时直接正式发布(若开启内容审核则先进入审核)。各渠道超日限 10 篇会拒绝 - 草稿模式下用户需在 C 端确认后正式发布/展示
