@cloudhal/mcp-server

中文文档
0.6.5发布于 2026/11/09Apache-2.0TypeScriptES Module构建来源已验证近 30 天下载 4394

Cloudhal MCP 服务器:由政策引擎规范的语义网站工具(页,文章,快照,预览,发布)

中文使用文档

@ cloudhal/ mcp- 服务器

Cloudhal的模型上下文协议表面(第2026-07-28段, @modelcontextprotocol/server 2.3. ADR-0004和ADR-0011.

工具 : 每一个工具, 及其范围, 以及一个人是否批准它 工具参考 定义产生的 src/tools.ts (单位:千美元)node scripts/mcp-tools-doc.ts; CI 失效时已失效)。 服务器按固定顺序列出它们. 每个工具都有JSON Schema输入/输出(由合同计划建造)、诚实的说明和 structuredContent。更新需要当前 rev (乐观地锁定). 每个突变快照自动显示( 每个呼叫一个快照; 治理快照携带) cloudhal.opId) (中文(简体) ).

分类学(RFC-0002): create_entry 编号 : update_entry 带 terms: { [taxonomy]: { set?, add?, remove?, primary? } } 以 id 、 shell 、 旧 shell 、 名称、同义词或单数/ plural 计值, 由商店解决; 未知或模棱两可的值是带有建议的错误(unknown_term, (中文(简体) ), ambiguous_term绝不是隐含的创造. tags 是一个被折旧的别名,用于 terms.tag.add。 。 。 . list_entries 取 RFC 第 5 节 filter代理人只通过 propose_term (单位:千美元)allowNewTerms:没有 = 拒绝、提议 = 提议、免费 = 活动;现有匹配被退回。 结构工具(site:write)总是等待一个人;他们的提示列出被触动的文章和每一个方向. 特工从不调离现场,从不回收弹壳,也从不批准他们自己的建议(在询问任何人之前先检查)。 将不变量错误映射到稳定代码( E)required_term, (中文(简体) ), too_many_terms,.),在文本中的下一步. 任务三角洲和治理结果opId,计数,重定向)进入审计行 input.effect。 。 。 .

核准: publish, (中文(简体) ), rollback, (中文(简体) ), delete_* 和结构分类/再定向工具返回 MCP 的多回转 input_required 带有引出(电文带有diff摘要)和HMAC署名 requestState 与工具、论据和主因联系在一起。 当事人在客户端中回答;电话仅以明确接受完成. 不引人注意的客户 confirmToken 接通第二通相同的电话confirmTokenFallback: false 关掉它.

技能: skill://<name>/SKILL.md 财务报告和审定财务报表 skill://<name>/references/<file> 资源。 跟踪技能的客户端发送 _meta["cloudhal.skill"] = "<name>";政策引擎然后将呼叫限制在该技能宣布的范围.

import { createCloudhalMcpServer } from "@cloudhal/mcp-server";          // McpServer for one principal
import { serveCloudhalStdio } from "@cloudhal/mcp-server/stdio";          // what `cloudhal mcp` runs
import { createCloudhalMcpHandler } from "@cloudhal/mcp-server/http";     // fetch(request, principal) — mounted at /mcp by @cloudhal/api

tools.ts 是 SDK 独立的( S)defineTools(), (中文(简体) ), runTool() = 政策 = 审计 = 处理者),是首先进行的测试; test/e2e.test.ts 运行一个真实的客户端 QQ 服务器对通过内存传输,并证明 Sprint 5 退出标准.

工具参考

110个工具,在服务器列出它们的顺序中.

工具范围仁爱核准它会做什么
list_sitessite:read读取—— 说这个主机可以运行.
get_sitesite:read读取—— 说网站的页面顺序、地点、主题、出版的快照和每次收集的设置(collections.<key>.permalink,例如/blog/{slug};一个没有一个人活在/<c
list_pagescontent:read读取—— 说按导航顺序排列的站点页(所有状态).
get_pagecontent:read读取—— 说附有各节和当前修订版的一页 rev )),更新时返回.
create_pagecontent:write写入按键模式创建页面草稿并附加到网站的导航上 .
update_pagecontent:write写入按键模式替换页面的标题、路径、段落或seo,或设置自己的运动关卡和铬(RFC-0025:页眉默认 + 透明 + 隐藏 ;页脚默认 + minimal + 隐藏 ;无效返回 t...)
get_catalogcontent:read读取—— 说页面表面可在该网站使用的组件(RFC-0020): Cloudhal的布局,内容和互动原始人加上主题的块类型,带有道具,孩子规则,b
patch_draftcontent:write写入按键模式与 RFC 6902 JSON Patch 操作在 /title,/ sisters 和/seo 上一步一步地构建或更改一页操作,例如 {"op":"add""path":"/ sessions/-""值":{... a surface...}{.
import_surfacecontent:write写入按键模式添加(或替换)来自另一个基因UI格式的页面表面: a2ui 取 A2UI v0.9 消息( 创建 Surface, 更新组件, 更新 DataModel; 基本目录), json-render.
export_surfacecontent:read读取—— 说一个页面的表面部分, 以另一种基因UI格式: a2ui (A2UI v0.9 基本目录的信息,当网站有主域时,图像作为绝对 URL)或 json-re.
delete_pagecontent:write写入( 破坏性)按键模式删除一页并将其从导航中删除.
list_entriescontent:read读取—— 说内容条目,最新第一.
get_entrycontent:read读取—— 说附有正文和当前修订版的一个内容条目.
create_entrycontent:write写入按键模式在现有收藏( list Collections; 一个新的收藏需要创建 Collection first) 中创建内容条目草稿( markdown body), 可选择根据现有条款存档(terms; . (中文(简体) )
update_entrycontent:write写入按键模式更新标题、摘要、正文、正文、现况(审查- 草案-公布),术语(terms: 由 id、 swit 或 name 添加、去除或设置分类和标记或输入自定义字段(fields.
add_correctioncontent:write写入按键模式当所发表的故事发生实质变化时,在文章(RFC-0019§2)中添加更正、澄清或更新通知.
delete_entrycontent:write写入( 破坏性)按键模式删除内容条目.
list_translationscontent:read读取—— 说页面或条目的每个语言版本(其翻译组): 地语,状态,方法(原作,人文,机器,机器审查),是否是 stale (其来源已改变罪.....
list_stale_translationscontent:read读取—— 说译出源自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出自出.
get_translation_sourcecontent:read读取—— 说您需要将页面或条目翻译为 locale:源(翻译其标题,文本,摘要和SEO;保留部分ID,类型,链接,数字,图像和绑定),fo
save_translationcontent:write写入按键模式保存页面或条目的翻译 locale 作为与源当前修改相关的草案,以你的模型为出处.
search_sitecontent:read读取—— 说通过单词查找节点, 而不是列出全部 .
get_theme_settingscontent:read读取—— 说主题的设计设置(RFC-0017):他们的方案(颜色为#rrggbb, enums, 数字;每个本地标题),对比规则颜色必须满足,以及站点的当前值.
set_theme_settingssite:write写入总是一个人更改站点的设计设置( 颜色, 类型, 间隔 : get them settings listed them) .
list_block_typescontent:read读取—— 说这个站点可以使用的打出块(RFC-0015):呼号,按钮,视频嵌入,FAQ和主题的自有.
get_bodycontent:read读取—— 说读出下标正体(一篇文章,或一页的丰富文本部分)为块:每个块有其id,散列,类型,下标和到底是谁修改了.
edit_bodycontent:write写入取决于电话按块来修改标记下体,而不是重写: 替换一个块,在一块内替换文本,插入,移动或删除块,插入打出块(插入Block:一个叫出,一个b
diff_nodecontent:read读取—— 说在两个版本之间比较一页或一篇文章:变化的字段,及其正文(或每个丰富文本部分)块,与编辑块内所变化的单词相接.
get_designsite:read读取—— 说在构建或重新设计页面时首先读取(RFC-0021).
get_design_tokenssite:read读取—— 说站点设计标志为W3C Design Tokens (DTCG 2025.10)文件,为Figma (Tokens Studio),"风格词典"或设计师:光和暗的颜色角色,角光,s
set_designsite:write写入总是一个人替换网站的设计规则(DESIGN.md,Markdown,最多24000个字符;无效去掉.
get_chromesite:read读取—— 说网站的页眉,页脚和品牌(RFC-0025):设置什么,显示什么页面(默认填充),每个允许值的表单计划,菜单按住页眉和
set_chromesite:write写入总是一个人更改站点头和页脚( get chrome 列出字段和允许值) .
set_brandsite:write写入总是一个人更改网站的品牌(get chrome将字段列出):标志和标志Dark作为网站的图像资产(资产:<id>,从list assets或上传 asset;网站名称显示没有
render_pagepreview:create读取—— 说看一页的草稿,人们会看到:在桌面(1440年),平板电脑(768年)和电话(390年)的正版浏览器中制作,宽度和回放截图加自动检查(si
list_taxonomiessite:read读取—— 说站点分类法(如分类法,标签法)及其规则: required (审查/发表的文章需要一个主要术语), maxPerEntry, (中文(简体) ), allowNewTerms (无:只有人们会添加条件.....
list_termscontent:read读取—— 说一种分类学术语,每个语系都有名称,同义词(altnames),旧鼻涕(slugHistory),父词,状态,能见度和用法(文章总计并发表,最后使用).
resolve_termscontent:read读取—— 说给定的 ID 、 sults 、 名称或同义词的现有分类词是指什么( 与 指定 相同的规则 ) terms: id → sult → 旧 sult → 取名 →同义词 → 单数/平分.
propose_termcontent:draft:own写入按键模式在当前不匹配时建议新名词( 请检查 list terms / solution terms first) .
update_termcontent:write写入按键模式只更改一个名词的文本:名,同义词,存档内涵(描述)和每个地块的SEO,及其图像.
rename_termsite:write写入总是一个人更改术语的 swit( 其存档 URL) .
merge_termssite:write写入总是一个人将重复名词合并为同一分类法的一个目标名词:每篇文章被重新放入目标名下(主要名词如下),来源退休并被取出姓名和鼻涕
retire_termsite:write写入( 破坏性)总是一个人退去一个名词:它从每篇文章中删除,它的子名词向上移动,它的档案重定向(301)到 redirectToId (或为类别,取其母)-而无取向
set_term_parentsite:write写入总是一个人将一个名词移动到同一等级分类学的另一个名词下(null: to the top level).
set_term_visibilitysite:write写入总是一个人制作一个公共名词(archive, feed and sitemap enter;在文章上显示)或内部名词(没有公共URL;主题和过滤器可能仍然使用).
review_termsite:write写入总是一个人就拟议术语作出决定:批准(它变得活跃,如果公开,则获得其档案)、拒绝(退休和从文章中删除)或合并(纳入现有术语, mergeIntoId) (中文(简体) ).
taxonomy_reportcontent:read读取—— 说关于词汇的发现:单用和未用名词,相近重复(编辑相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去
create_taxonomysite:write写入总是一个人创建包含其规则和存档路径的分类学(如系列,区域).
update_taxonomysite:write写入总是一个人更改分类的规则,标签或归档(密钥永不变).
list_redirectssite:read读取—— 说该站点的改道(从 到301/302,准确/前缀,理由,出处节点).
create_redirectsite:write写入总是一个人将站点不再服务的路径重定向到此站点的另一路径(代理无法重定向到其他主机).
delete_redirectsite:write写入( 破坏性)总是一个人删除重定向, 其旧路径将回答 404, 除非有东西为它服务 .
list_collectionscontent:read读取—— 说该网站的藏品(RFC-0040):已申报的藏品,已有入场的藏品,并有帖子.
create_collectionsite:write写入总是一个人宣告新的收藏(RFC-0040),例如事件,团队或工作,其名称出自站点默认地块(labels),可选图标,permalink(/<prefix>/{slug},默认/<key>
update_collectionsite:write写入总是一个人更改收藏的名称( 每个地方合并), 图标, 种子, 站点地图, 默认排序( RFC- 0040) 或其已输入自定义字段( )fields,整个列表; RFC-0041, 列表字段, 日期- dr..
preview_structured_datacontent:read读取—— 说JSON-LD文档的一个条目的页面在其收藏的结构数据预设(RFC-0042:事件,JobPosting,Product, Recipe)下发出出,其构建与站点的构建完全相同,带有
rename_fieldsite:write, (中文(简体) ), content:write写入总是一个人重命名已输入自定义字段的密钥( RFC- 0041 §6): 每个条目的值从 from 改为 to; 没有转换.
change_field_typesite:write, (中文(简体) ), content:write写入( 破坏性)总是一个人更改已打入自定义字段的类型, 或选择的多值( RFC- 0041 §6) , 用一个封闭的表格转换每个值( text {richText, text- number, text- select, text- ↔url, date- -- datetim...)
set_field_localizedsite:write, (中文(简体) ), content:write写入总是一个人使一个已打入的自定义字段本地化(每个语言版本都有自己的价值;翻译回原作)或共享(只有原作持有;翻译自有同
remove_fieldsite:write, (中文(简体) ), content:write写入( 破坏性)总是一个人删除一个已打入的自定义字段(RFC-0041 §6):其值从每个条目被删除,然后是定义.
set_collection_permalinksite:write写入总是一个人移动收藏条目的活性位置(RFC-0038):permarink"/blog/{slug}"将收藏"posts"放入/blog/<slug>;无效回溯到默认/<collection>/{slug}.
list_menussite:read读取—— 说站点导航菜单(主页:页眉,页脚,侧边栏,自定义密钥)有id,rev,max Depth,项数和站点上隐藏了多少项.
get_menusite:read读取—— 说一个菜单:存储的树(写作时将其回放),以及每个地方的项目,网站是否显示(state),为什么不(reason:失踪,未公布,其他地方,.....
update_menusite:write写入总是一个人编辑有操作的菜单,按顺序和全部或无操作: 添加 {项目, 父?, 索引?} , 删除 {项目Id} (及其子树), 移动 {项目Id, 父?, 索引?}, 更新 {项目Id,..
set_menusite:write写入总是一个人替换菜单的整棵树(或创建菜单:省略rev).
delete_menusite:write写入( 破坏性)总是一个人删除菜单; 站点掉回该密钥的主题衍生出默认值( 如页眉中的顶级页面) .
list_assetscontent:read读取—— 说一个网站的媒体库的文件,最新的第一:图像、视频、音频、文件和数据.
get_assetcontent:read读取—— 说媒体库的一个文件有它的URL,校验和文件以及每一个使用它的地方(节点,字段和标题).
upload_assetasset:upload写入按键模式从基数64数据(最多为4 MB已解码)向站点的媒体库中添加一个文件.
fetch_asset_urlasset:upload写入按键模式让服务器将一个公共的 https 文件( 最多25 MB) 下载到网站的媒体库: 服务器按照严格的规则获取( 仅https, 没有内部主机或 IP 地址...)
update_assetasset:upload写入按键模式更改文件的备选案文文本、标题或标题( in) locale),信用,许可,装饰性旗帜,URL sult或图像的焦点(focal:主题所在,从0到1的x和y..
retire_assetasset:manage写入按键模式从库中隐藏一个文件和拾取器,所以没有新的用途.
restore_assetasset:manage写入按键模式再次提供已退休文件.
delete_assetasset:manage写入( 破坏性)按键模式从媒体库中删除一个文件.
create_snapshotcontent:draft:own写入按键模式作为不可改变的、贴有标签的快照,冻结网站的现状.
list_snapshotssite:read读取—— 说最新地点的快照 哪个现场直播.
diff_snapshotssite:read读取—— 说在两个快照之间添加,更改并去除节点.
preview_pagepreview:create读取—— 说将一个页面(或通过条目Id)渲染到 HTML 上,因为网站会显示它,加上一个预览链接(签名,到部署的站点,或 cloudhal dev URL) (中文(简体) ).
publishsite:publish写入( 破坏性)总是一个人抓取当前状态并让它活下来.
rollbacksite:rollback写入( 破坏性)总是一个人将制作点放在更早的快照上(必须是活生生的祖先).
get_analyticsanalytics:read读取—— 说网站如何在一定范围内进行:页面浏览,访问(来自其他网站或输入),网站盘点时的独特访客,预估的缓存-受袭比率(上云
top_contentanalytics:read读取—— 说在一定范围内浏览最多的页面,文章和档案,其目前的标题和路径(被更名的文章显示其新内容;被删除的则被读作已去)和页面更改.
content_statsanalytics:read读取—— 说一个页面的读者,文章或存档(由id所写,所以历史活下来了 switt 的修改):与上个时期的页面浏览和访问,一个系列,通过频道的访问,裁判主机,.....
broken_linksanalytics:read读取—— 说请求在404或410中以一个范围结束,大多数点击率第一,与它们连接的同站点页,当它们最后一次被看到时和一个建议的目标(一个现有的重定向,o
list_commentscomments:read读取—— 说网站的读者评论,最先更新(状态待决,批准,隐藏,垃圾邮件,删除,或报告为公开报告).
get_comment_threadcomments:read读取—— 说一条文章的评论按显示顺序排列(最上层最古老,每篇后有答复),有线程状态和开放报告的细节.
comments_summarycomments:read读取—— 说计算一个站点的评论:按状态,待定年龄,开放报告,最繁忙的线程,标签,未解的问题和日封盖.
label_commentscomments:moderate写入取决于电话最多50个评论(垃圾-可疑、有毒、离题、问题、需要-重写、赞誉、个人数据.)上添加或去除咨询标签.
moderate_commentscomments:moderate写入取决于电话更改最多50个评论的状态.
draft_comment_replycomments:reply写入取决于电话代表网站起草对核准的评论的答复(解释性案文,2至5 000个字符).
set_comment_threadcomments:moderate写入取决于电话设定文章的评论线索: 已关闭( 无新评论, 已有评论保留) 并隐藏( 无显示) 降低能见度 ; 打开、 默认和关闭日期 等待在..
list_scheduleschedules:read读取—— 说网站在从和到(最多62天)之间发生的情况:发布(定期发布)、时间门(文章和网页上的禁止和过期)和自动化运行,以及
get_scheduleschedules:read读取—— 说列表列表中的一个项,按其编号排列(rel .,出站口:<nodeId>:from turn, occ:<automationId>:<at>),详细内容.
list_releasesschedules:read读取—— 说网站的发布(排定发布时间)按时间顺序,按州:草案,等待 批准,安排,运行,发布,冲突,错过,过期,失效,取消.
get_releaseschedules:read读取—— 说带有被封被封被封被封被封被封被封被封被封被封被封的被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被封被被封被封被封被封被封被封被封被封被
propose_releaseschedules:write写入取决于电话给一个人留一份发行稿:命名的文章和页被固定在他们现在的版本上(加上他们需要的尚未活下来的东西),可选择有一段时间.
schedule_releaseschedules:write写入取决于电话一次发布一个发布会(或取名文章和页面,现在被贴上),或"在批准后".
rescheduleschedules:write写入取决于电话将释放移至另一个时间.
cancel_scheduleschedules:write写入取决于电话撤出一出:内无所出.
set_embargoschedules:write, (中文(简体) ), content:write写入取决于电话在现场保留文章或页面直至 from (一瞬间):它一直没有出现在每一页,列表,饲料和站点地图中,由站点本身执行.
lift_embargoschedules:write写入取决于电话要求某人在封锁前发表一篇文章或一页(删除) from,或移动它更早).
schedule_unpublishschedules:write, (中文(简体) ), content:write写入取决于电话一次从现场取出一篇文章或一页(从此从每一页,列表,饲料和站点地图中消失,由站点本身执行).
list_automationsschedules:read读取—— 说站点自动化:内置任务和计划代理任务,及其再现,状态和下跑.
list_runsschedules:read读取—— 说每次出现自动化或发布时发生的情况,首先是最新的情况:状态(不论是否)和结果(是否做了某些事情)、使用、纹饰和摘要.
get_runschedules:read读取—— 说一次与审计行、快照和核准申请一起运行.
begin_run读取—— 说在其窗口打开时启动此自动化运行( 它的密钥只在运行内工作) .
end_run读取—— 说以简短的简写摘要(你做了什么,一个人应该看什么)及其结果来结束你的运行:做工作,无所事事,提议(你留下了建议)或等待应用.....
pause_automation读取—— 说阻止自动化再次运行(你自己的自动化钥匙,或钥匙背后的人的自动化).
get_mode读取—— 说您当前的模式, 您的密钥本身的模式, 任何生效的时框高地( 以及结束时), 以及您最新的高地请求的状况 .
request_elevationsite:read读取—— 说要求一个人在有限的时间内(5–1440分)使用更自主的模式,例如AUTO一小时发布一系列小文章更新.

版本与发布记录

@cloudhal/mcp-server 共发布 26 个版本,首次发布于 2026/10/20;过去 12 个月发布了 26 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.6.5latest2026/11/091 天前
0.6.42026/11/081 天前
0.6.32026/11/081 天前
0.6.22026/10/2614 天前
0.6.12026/10/2417 天前
0.6.02026/10/2317 天前

关于 @cloudhal/mcp-server 的常见问题

@cloudhal/mcp-server 是什么?

Cloudhal MCP 服务器:由政策引擎规范的语义网站工具(页,文章,快照,预览,发布)

如何安装 @cloudhal/mcp-server?

在项目目录运行 npm install @cloudhal/mcp-server,或使用 pnpm add / yarn add / bun add。

@cloudhal/mcp-server 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@cloudhal/mcp-server 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@cloudhal/mcp-server 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=24。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@cloudhal/mcp-server 可以商用吗?

@cloudhal/mcp-server 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@cloudhal/mcp-server 的下载量有多少?

根据 npm 官方下载统计,@cloudhal/mcp-server 在 2026/10/10 – 2026/11/08 这 30 天内被下载 4,394 次,日均约 146 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@cloudhal/mcp-server 还在维护吗?

最新版本 0.6.5 发布于 2026/11/09(1 天前);至今共发布 26 个版本,其中过去 12 个月发布了 26 个;首次发布于 2026/10/20。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。