@cmssy/mcp服务器
MCP服务器 Cmssy CMS --通过i18n支持实现AI驱动的页面创建和管理。
设置
先决条件
- 您的Cmssy后端API URL(例如。
https://api.your-cmssy.com) - API令牌(在Dashboard>API令牌中创建,以
cs_) - 您的工作区ID
添加到克劳德代码
添加 .mcp.json 在项目根目录中:
{
"mcpServers": {
"cmssy": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@cmssy/mcp-server",
"--token",
"cs_YOUR_TOKEN",
"--workspace-id",
"YOUR_WORKSPACE_ID",
"--api-url",
"https://api.your-cmssy.com"
]
}
}
}环境变量
您可以设置以下参数而不是CLI参数:
CMSSY_API_TOKEN-API令牌(cs_xxx)CMSSY_WORKSPACE_ID--工作区IDCMSSY_API_URL-API URL(必需,例如。https://api.your-cmssy.com)
响应形状(书写工具)
从0.6.0开始,大多数写工具都接受可选 response arg:
response: "minimal"(默认)-返回一个小ack(约200字节):
{id, slug, hasUnpublishedChanges, updatedAt} 对于页面工具, {pageId, blockId, hasUnpublishedChanges, updatedAt} 对于块工具, {id, slug, status, updatedAt} 对于成形工具, {id, slug, updatedAt} 对于模型工具, {id, status, updatedAt} 用于记录工具。
response: "full"-返回完整的突变反应(0.6之前的行为)。
使用 "full" 只有当你需要内联写后状态时;否则发布a 后续行动 get_page/get_form/get_model/get_record这让特工 上下文窗口不会被回声内容吃掉。
接受的工具 response: create_page, update_page_blocks, update_page_settings, publish_page, unpublish_page, revert_to_published, update_page_layout, add_block_to_page, update_block_content, remove_block_from_page, create_form, update_form, create_model, update_model, create_record, update_record.
patch_block_content 以及各种 delete_* /仅限状态的工具 (update_form_submission_status, import_records, create_model_from_template) 已经退回了一个紧凑型背包,不要拿走 response.
可用工具
阅读工具
| 工具 | 说明 |
|---|---|
list_pages | 具有层次结构的页面树(可选 search 过滤器) |
get_page | 包含区块和i18n内容的完整页面(按slug或id) |
list_block_types | 所有具有模式和默认值的可用块 |
get_block_schema | 一种块类型的详细模式 |
get_site_config | 语言、导航、网站名称 |
get_workspace_info | 工作区名称、计划、限制 |
list_media | 媒体库列表 |
写入工具
| 工具 | 说明 |
|---|---|
create_page | 创建新页面 |
update_page_blocks | 在页面上设置完整块数组 |
update_page_settings | 更新页面元数据和SEO |
publish_page | 发布页面 |
unpublish_page | 取消发布页面 |
delete_page | 删除页面 |
revert_to_published | 放弃草稿,恢复已发布 |
块助手工具
| 工具 | 说明 |
|---|---|
add_block_to_page | 在位置插入块(自动生成UUID+翻译) |
update_block_content | 将内容合并到现有块中 |
patch_block_content | 手术HTML补丁(在唯一标记周围插入/替换) |
remove_block_from_page | 按ID删除块 |
update_page_layout | 更新布局块和替代 |
patch_block_content
对于长HTML内容字符串的小编辑(例如 docs-article 身体), patch_block_content 代币价格比普通代币便宜约10倍 update_block_content 并在向DB写入任何内容之前捕获标记错误。
{
"pageId": "...",
"blockId": "...",
"locale": "en",
"operations": [
{
"op": "insert_before",
"marker": "
Environment Variables
",
"html": "
cmssy skills install
...
",
},
],
}三个操作: insert_before, insert_after, replace_section.每一个 标记必须匹配 恰好一次 -0或2+与错误匹配 实际计数(无静默半应用状态)。对于 replace_section, startMarker 具有包容性 endMarker 是独家的。
需要 @cmssy/cli-已注册的工作区 PAGES_EDIT 许可。 默认 fieldPath 是 "content" (文档文章上的HTML正文);以(权力)否决 如果修补不同的字符串字段。
模型工具(自定义数据模型)
AI代理可以定义其记录的ModelDefinition和CRUD。架构/字段 跟随 PropertyField 从 @cmssy/types;记录根据 每次写作都要模仿。
| 工具 | 说明 |
|---|---|
list_models | 列出工作区中的所有模型定义 |
get_model | 通过id(ObjectId)或slug获取模型 |
create_model | 创建模型(名称、段符、字段、可选状态字段) |
update_model | 更新模型的任何字段(字段更改会触发架构迁移) |
delete_model | 删除模型-- 它的所有记录都接踵而至 |
list_records | 使用过滤器(JSON)、排序、分页、可选填充列出记录 |
get_record | 按id获取记录 |
create_record | 创建记录; data 按模型字段键键入 |
update_record | 更新记录的数据和/或转换其状态 |
delete_record | 删除记录 |
import_records | 批量导入多达1000条记录;回报 { importedCount, errors } |
list_model_templates | 列出可用模板(电子商务、博客等) |
create_model_from_template | 安装模板;回报 { templateId, installedCount, skippedSlugs } |
需要工作区权限 MODELS_VIEW (阅读)/ MODELS_CREATE / MODELS_EDIT / MODELS_DELETE 这取决于操作。
资源
| URI | 描述 |
|---|---|
cmssy://sitemap | JSON格式的整页树 |
cmssy://blocks | 所有具有模式的块类型 |
cmssy://workspace | 工作区信息+站点配置 |
示例工作流程
> List all pages in my workspace
> Search for pages matching "blog"
> Show me the available block types
> Create a new "Features" page with content in English and Polish
> Add a hero block to the Features page
> Publish the Features page发展
pnpm install
pnpm dev -- --token cs_xxx --workspace-id xxx --api-url http://localhost:4000