@cloudbase/cloudbase-mcp 2.20.0 → 2.20.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.cjs +3 -3
- package/dist/index.cjs +62 -39
- package/dist/index.js +62 -39
- package/package.json +2 -1
package/dist/index.cjs
CHANGED
|
@@ -2854,8 +2854,8 @@ function registerEnvTools(server) {
|
|
|
2854
2854
|
});
|
|
2855
2855
|
// envQuery - 环境查询(合并 listEnvs + getEnvInfo + getEnvAuthDomains)
|
|
2856
2856
|
server.registerTool?.("envQuery", {
|
|
2857
|
-
title: "环境查询",
|
|
2858
|
-
description: "
|
|
2857
|
+
title: "CloudBase 环境查询",
|
|
2858
|
+
description: "查询 CloudBase 环境相关信息,支持查询环境列表、指定环境详情和安全域名。(原工具名:listEnvs/getEnvInfo/getEnvAuthDomains,为兼容旧AI规则可继续使用这些名称)当 action=list 时,会按 DescribeEnvs 语义做列表/筛选,标准返回字段为 EnvId、Alias、Status、EnvType、Region、PackageId、PackageName、IsDefault,并支持通过 fields 白名单裁剪这些字段;aliasExact=true 时会按别名精确筛选,避免把前缀相近的环境误当作候选;即使传入 envId,action=list 也只返回摘要,不会返回完整资源明细或 expiry。如需查询某个已知 EnvId 对应环境的详细信息(包括资源字段和计费信息),必须使用 action=info 并传入目标环境的 envId 参数。action=info 会在可用时补充 BillingInfo(如 ExpireTime、PayMode、IsAutoRenew 等计费字段)。",
|
|
2859
2859
|
inputSchema: {
|
|
2860
2860
|
action: zod_1.z
|
|
2861
2861
|
.enum(["list", "info", "domains"])
|
|
@@ -3059,8 +3059,8 @@ function registerEnvTools(server) {
|
|
|
3059
3059
|
});
|
|
3060
3060
|
// envDomainManagement - 环境域名管理(合并 createEnvDomain + deleteEnvDomain)
|
|
3061
3061
|
server.registerTool?.("envDomainManagement", {
|
|
3062
|
-
title: "环境域名管理(安全域名 / CORS 白名单)",
|
|
3063
|
-
description: "
|
|
3062
|
+
title: "CloudBase 环境域名管理(安全域名 / CORS 白名单)",
|
|
3063
|
+
description: "管理 CloudBase 环境的安全域名(安全域名 / CORS 白名单),支持添加和删除操作。(原工具名:createEnvDomain/deleteEnvDomain,为兼容旧AI规则可继续使用这些名称)当浏览器 Web 应用需要从本地 Vite / dev server 直接访问 CloudBase 资源时,应先用 envQuery(action=domains) 检查当前实际浏览器 origin 对应的 host:port 是否已在白名单中,再按该实际值添加。新增或删除后通常需要继续轮询 envQuery(action=domains) 确认状态收敛;安全域名一般约 10 分钟生效。⚠️ 重要:此工具仅用于 CORS/请求来源验证,不涉及 SSL 证书。如需绑定自定义域名供公网 HTTPS 访问,请使用 manageGateway(action=\"bindCustomDomain\")。",
|
|
3064
3064
|
inputSchema: {
|
|
3065
3065
|
action: zod_1.z
|
|
3066
3066
|
.enum(["create", "delete"])
|
|
@@ -28294,6 +28294,22 @@ const MANAGE_APP_AUTH_ACTIONS = [
|
|
|
28294
28294
|
"createCustomLoginKeys",
|
|
28295
28295
|
];
|
|
28296
28296
|
const APP_AUTH_KEY_TYPES = ["publish_key", "api_key"];
|
|
28297
|
+
const APP_AUTH_PROVIDER_TYPES = [
|
|
28298
|
+
"OAUTH",
|
|
28299
|
+
"OIDC",
|
|
28300
|
+
"SAML",
|
|
28301
|
+
"WX_MICRO_APP",
|
|
28302
|
+
"WX_QRCODE_MICRO_APP",
|
|
28303
|
+
"WX_CLOUDBASE_MICRO_APP",
|
|
28304
|
+
"WX_MP",
|
|
28305
|
+
"WX_OPEN",
|
|
28306
|
+
"WX_WORK_INTERNAL",
|
|
28307
|
+
"WX_WORK_AGENT",
|
|
28308
|
+
"WX_WORK_THIRD_PARTY",
|
|
28309
|
+
"WX_WORK_THIRD_PARTY_ASSOCIATION",
|
|
28310
|
+
"CUSTOM",
|
|
28311
|
+
"EMAIL",
|
|
28312
|
+
];
|
|
28297
28313
|
const SUPABASE_LIKE_SDK_HINTS = {
|
|
28298
28314
|
phoneOtp: "auth.signInWithOtp({ phone })",
|
|
28299
28315
|
emailOtp: "auth.signInWithOtp({ email })",
|
|
@@ -28539,8 +28555,8 @@ function registerAppAuthTools(server) {
|
|
|
28539
28555
|
};
|
|
28540
28556
|
};
|
|
28541
28557
|
server.registerTool?.("queryAppAuth", {
|
|
28542
|
-
title: "
|
|
28543
|
-
description: "应用侧认证配置只读入口。用于查询登录方式、provider、publishable key、API key、client 配置和静态域名等认证准备状态。⚠️ 本工具为管理端配置查询工具,不执行用户登录。当任务要求编写客户端登录代码时(例如「用 JS SDK 登录」),应先通过本工具确认配置状态,再在项目代码中编写 @cloudbase/js-sdk 客户端登录代码(如 auth.signInWithPassword()),而非使用本工具完成登录。若业务要接受普通用户名样式标识符,先查询 action=getLoginConfig;若 usernamePassword=false,下一步应立即调用 manageAppAuth(action=patchLoginStrategy, patch={ usernamePassword: true }),不要直接写 email 登录 API。",
|
|
28558
|
+
title: "查询 CloudBase 应用认证配置",
|
|
28559
|
+
description: "CloudBase 应用侧认证配置只读入口。用于查询登录方式、provider、publishable key、API key、client 配置和静态域名等认证准备状态。⚠️ 本工具为管理端配置查询工具,不执行用户登录。当任务要求编写客户端登录代码时(例如「用 JS SDK 登录」),应先通过本工具确认配置状态,再在项目代码中编写 @cloudbase/js-sdk 客户端登录代码(如 auth.signInWithPassword()),而非使用本工具完成登录。若业务要接受普通用户名样式标识符,先查询 action=getLoginConfig;若 usernamePassword=false,下一步应立即调用 manageAppAuth(action=patchLoginStrategy, patch={ usernamePassword: true }),不要直接写 email 登录 API。",
|
|
28544
28560
|
inputSchema: {
|
|
28545
28561
|
action: zod_1.z.enum(QUERY_APP_AUTH_ACTIONS),
|
|
28546
28562
|
providerId: zod_1.z.string().optional().describe("provider 标识,如 email、google"),
|
|
@@ -28650,8 +28666,8 @@ function registerAppAuthTools(server) {
|
|
|
28650
28666
|
}
|
|
28651
28667
|
}));
|
|
28652
28668
|
server.registerTool?.("manageAppAuth", {
|
|
28653
|
-
title: "
|
|
28654
|
-
description: "应用侧认证配置写入口。用于修改登录方式、provider、client 配置,确保 publishable key,以及创建或删除 API key、自定义登录密钥。⚠️ 本工具为管理端配置工具,不执行用户登录。当任务要求编写客户端登录代码时(例如「用 JS SDK 登录」),应先通过本工具完成配置(如启用 usernamePassword、获取 publishable key),再在项目代码中编写 @cloudbase/js-sdk 客户端登录代码(如 auth.signInWithPassword()),而非使用本工具完成登录。若前端要接受普通用户名样式标识符,应先执行 action=patchLoginStrategy 并传入 patch={ usernamePassword: true },再实现对应前端登录逻辑。",
|
|
28669
|
+
title: "管理 CloudBase 应用认证配置",
|
|
28670
|
+
description: "CloudBase 应用侧认证配置写入口。用于修改登录方式、provider、client 配置,确保 publishable key,以及创建或删除 API key、自定义登录密钥。⚠️ 本工具为管理端配置工具,不执行用户登录。当任务要求编写客户端登录代码时(例如「用 JS SDK 登录」),应先通过本工具完成配置(如启用 usernamePassword、获取 publishable key),再在项目代码中编写 @cloudbase/js-sdk 客户端登录代码(如 auth.signInWithPassword()),而非使用本工具完成登录。若前端要接受普通用户名样式标识符,应先执行 action=patchLoginStrategy 并传入 patch={ usernamePassword: true },再实现对应前端登录逻辑。",
|
|
28655
28671
|
inputSchema: {
|
|
28656
28672
|
action: zod_1.z.enum(MANAGE_APP_AUTH_ACTIONS),
|
|
28657
28673
|
patch: zod_1.z
|
|
@@ -28659,7 +28675,10 @@ function registerAppAuthTools(server) {
|
|
|
28659
28675
|
.optional()
|
|
28660
28676
|
.describe("patchLoginStrategy 使用的简化登录策略 patch,如 { usernamePassword: true }"),
|
|
28661
28677
|
providerId: zod_1.z.string().optional().describe("provider 标识,如 email、google;addProvider 时也可作为自定义 provider Id"),
|
|
28662
|
-
providerType: zod_1.z
|
|
28678
|
+
providerType: zod_1.z
|
|
28679
|
+
.enum(APP_AUTH_PROVIDER_TYPES)
|
|
28680
|
+
.optional()
|
|
28681
|
+
.describe("addProvider 时的 provider 协议类型"),
|
|
28663
28682
|
displayName: zod_1.z
|
|
28664
28683
|
.union([zod_1.z.string(), zod_1.z.record(zod_1.z.any())])
|
|
28665
28684
|
.optional()
|
|
@@ -38645,8 +38664,8 @@ function registerAgentTools(server) {
|
|
|
38645
38664
|
const cloudBaseOptions = server.cloudBaseOptions;
|
|
38646
38665
|
const getManager = () => (0, cloudbase_manager_js_1.getCloudBaseManager)({ cloudBaseOptions });
|
|
38647
38666
|
server.registerTool?.("queryAgents", {
|
|
38648
|
-
title: "查询 Agent",
|
|
38649
|
-
description: "Agent 域统一只读入口。支持列表、详情与日志查询。",
|
|
38667
|
+
title: "查询 CloudBase Agent",
|
|
38668
|
+
description: "CloudBase Agent 域统一只读入口。支持列表、详情与日志查询。",
|
|
38650
38669
|
inputSchema: {
|
|
38651
38670
|
action: zod_1.z.enum(QUERY_AGENT_ACTIONS),
|
|
38652
38671
|
agentId: zod_1.z.string().optional(),
|
|
@@ -38708,8 +38727,8 @@ function registerAgentTools(server) {
|
|
|
38708
38727
|
}
|
|
38709
38728
|
});
|
|
38710
38729
|
server.registerTool?.("manageAgents", {
|
|
38711
|
-
title: "管理 Agent",
|
|
38712
|
-
description: "Agent 域统一写入口。支持创建、更新和删除远端 Agent。",
|
|
38730
|
+
title: "管理 CloudBase Agent",
|
|
38731
|
+
description: "CloudBase Agent 域统一写入口。支持创建、更新和删除远端 Agent。",
|
|
38713
38732
|
inputSchema: {
|
|
38714
38733
|
action: zod_1.z.enum(MANAGE_AGENT_ACTIONS),
|
|
38715
38734
|
agentId: zod_1.z.string().optional(),
|
|
@@ -89803,8 +89822,8 @@ function registerFunctionTools(server) {
|
|
|
89803
89822
|
}
|
|
89804
89823
|
};
|
|
89805
89824
|
server.registerTool?.("queryFunctions", {
|
|
89806
|
-
title: "
|
|
89807
|
-
description: "
|
|
89825
|
+
title: "查询 CloudBase 云函数",
|
|
89826
|
+
description: "CloudBase 云函数统一只读入口。通过更自解释的 action 查询 CloudBase 云函数列表、函数详情、执行日志、层、触发器和代码下载地址。" +
|
|
89808
89827
|
"\n\n**分页说明**:`listFunctions`、`listLayers` 支持 `limit` 和 `offset` 参数。" +
|
|
89809
89828
|
"\n- `limit`: 分页数量,默认值由后端决定" +
|
|
89810
89829
|
"\n- `offset`: 分页偏移,从 0 开始" +
|
|
@@ -89864,8 +89883,8 @@ function registerFunctionTools(server) {
|
|
|
89864
89883
|
},
|
|
89865
89884
|
}, async (input) => withEnvelope(() => handleQueryFunctions(input)));
|
|
89866
89885
|
server.registerTool?.("manageFunctions", {
|
|
89867
|
-
title: "
|
|
89868
|
-
description: "
|
|
89886
|
+
title: "管理 CloudBase 云函数",
|
|
89887
|
+
description: "CloudBase 云函数统一写入口。支持创建函数、更新代码、更新配置、调用函数、管理定时跑 / 定时任务 / scheduled job 的 timer 触发器和层绑定。" +
|
|
89869
89888
|
"如果要创建 cron 定时任务,先用 createFunction 创建函数,再用 createFunctionTrigger 创建 timer 触发器(支持7段cron表达式),deleteFunctionTrigger 删除触发器。" +
|
|
89870
89889
|
"危险操作需要显式 confirm=true。",
|
|
89871
89890
|
inputSchema: {
|
|
@@ -109107,10 +109126,10 @@ classDiagram
|
|
|
109107
109126
|
.default(false)
|
|
109108
109127
|
.describe("是否立即发布模型"),
|
|
109109
109128
|
dbInstanceType: zod_1.z
|
|
109110
|
-
.
|
|
109129
|
+
.enum(["MYSQL", "FLEXDB"])
|
|
109111
109130
|
.optional()
|
|
109112
109131
|
.default("MYSQL")
|
|
109113
|
-
.describe("
|
|
109132
|
+
.describe("数据库实例类型,可选值:MYSQL=MySQL 数据库,FLEXDB=文档型数据库(NoSQL)"),
|
|
109114
109133
|
},
|
|
109115
109134
|
annotations: {
|
|
109116
109135
|
readOnlyHint: false,
|
|
@@ -117456,6 +117475,10 @@ const cloudbase_manager_js_1 = __webpack_require__(3431);
|
|
|
117456
117475
|
const cloud_mode_js_1 = __webpack_require__(89684);
|
|
117457
117476
|
const notification_js_1 = __webpack_require__(32720);
|
|
117458
117477
|
const tool_result_js_1 = __webpack_require__(9835);
|
|
117478
|
+
const HOSTING_CDN_SWITCH_VALUES = ['on', 'off'];
|
|
117479
|
+
const HOSTING_REFERER_TYPES = ['blacklist', 'whitelist'];
|
|
117480
|
+
const HOSTING_CACHE_RULE_TYPES = ['fileType', 'path'];
|
|
117481
|
+
const HOSTING_IP_FILTER_TYPES = ['blacklist', 'whitelist'];
|
|
117459
117482
|
const routingRuleSchema = zod_1.z.object({
|
|
117460
117483
|
keyPrefixEquals: zod_1.z.string().optional().describe('匹配前缀规则,例如 app/ 或 assets/。与 httpErrorCodeReturnedEquals 二选一或按 CloudBase 规则组合使用。'),
|
|
117461
117484
|
httpErrorCodeReturnedEquals: zod_1.z.string().optional().describe('匹配 HTTP 错误码,例如 404。SPA 回退常用 404。'),
|
|
@@ -117464,25 +117487,25 @@ const routingRuleSchema = zod_1.z.object({
|
|
|
117464
117487
|
});
|
|
117465
117488
|
const domainConfigSchema = zod_1.z.object({
|
|
117466
117489
|
Refer: zod_1.z.object({
|
|
117467
|
-
Switch: zod_1.z.
|
|
117490
|
+
Switch: zod_1.z.enum(HOSTING_CDN_SWITCH_VALUES).describe('Referer 防盗链开关:on=开启,off=关闭。'),
|
|
117468
117491
|
RefererRules: zod_1.z.array(zod_1.z.object({
|
|
117469
|
-
RefererType: zod_1.z.
|
|
117492
|
+
RefererType: zod_1.z.enum(HOSTING_REFERER_TYPES).describe('Referer 规则类型:blacklist=黑名单,whitelist=白名单。'),
|
|
117470
117493
|
Referers: zod_1.z.array(zod_1.z.string()).describe('Referer 规则值列表。'),
|
|
117471
117494
|
AllowEmpty: zod_1.z.boolean().describe('是否允许空 Referer。'),
|
|
117472
117495
|
})).optional().describe('Referer 规则列表。'),
|
|
117473
117496
|
}).optional().describe('Referer 防盗链配置。'),
|
|
117474
117497
|
Cache: zod_1.z.array(zod_1.z.object({
|
|
117475
|
-
RuleType: zod_1.z.
|
|
117498
|
+
RuleType: zod_1.z.enum(HOSTING_CACHE_RULE_TYPES).describe('缓存规则类型:fileType=文件类型,path=路径。'),
|
|
117476
117499
|
RuleValue: zod_1.z.string().describe('规则匹配值。'),
|
|
117477
117500
|
CacheTtl: zod_1.z.number().describe('缓存 TTL,单位秒。'),
|
|
117478
117501
|
})).optional().describe('CDN 缓存规则列表。'),
|
|
117479
117502
|
IpFilter: zod_1.z.object({
|
|
117480
|
-
Switch: zod_1.z.
|
|
117481
|
-
FilterType: zod_1.z.
|
|
117503
|
+
Switch: zod_1.z.enum(HOSTING_CDN_SWITCH_VALUES).describe('IP 访问控制开关:on=开启,off=关闭。'),
|
|
117504
|
+
FilterType: zod_1.z.enum(HOSTING_IP_FILTER_TYPES).optional().describe('过滤类型:blacklist=黑名单,whitelist=白名单。'),
|
|
117482
117505
|
Filters: zod_1.z.array(zod_1.z.string()).optional().describe('IP 规则列表。'),
|
|
117483
117506
|
}).optional().describe('IP 访问控制配置。'),
|
|
117484
117507
|
IpFreqLimit: zod_1.z.object({
|
|
117485
|
-
Switch: zod_1.z.
|
|
117508
|
+
Switch: zod_1.z.enum(HOSTING_CDN_SWITCH_VALUES).describe('IP 频控开关:on=开启,off=关闭。'),
|
|
117486
117509
|
Qps: zod_1.z.number().optional().describe('每个 IP 的 QPS 上限。'),
|
|
117487
117510
|
}).optional().describe('IP 频控配置。'),
|
|
117488
117511
|
});
|
|
@@ -117793,7 +117816,7 @@ function registerHostingTools(server) {
|
|
|
117793
117816
|
const cloudBaseOptions = server.cloudBaseOptions;
|
|
117794
117817
|
const getManager = () => (0, cloudbase_manager_js_1.getCloudBaseManager)({ cloudBaseOptions });
|
|
117795
117818
|
server.registerTool('queryHosting', {
|
|
117796
|
-
title: '
|
|
117819
|
+
title: '查询 CloudBase 静态托管',
|
|
117797
117820
|
description: '查询 CloudBase 静态托管的只读信息。适合 AI 先做发现再决定下一步:action=websiteConfig 查询首页/错误页/路由规则与站点域名信息;action=status 查询托管服务状态;action=findFiles 按前缀查找文件;action=listFiles 列出全部托管文件;action=domainStatus 查询自定义域名的当前状态与配置。该工具不会产生任何副作用。',
|
|
117798
117821
|
inputSchema: queryHostingInputSchema,
|
|
117799
117822
|
annotations: {
|
|
@@ -117932,7 +117955,7 @@ function registerHostingTools(server) {
|
|
|
117932
117955
|
}
|
|
117933
117956
|
});
|
|
117934
117957
|
server.registerTool('manageHosting', {
|
|
117935
|
-
title: '
|
|
117958
|
+
title: '管理 CloudBase 静态托管',
|
|
117936
117959
|
description: '管理 CloudBase 静态托管的变更操作。action=upload 上传本地构建产物;action=delete 删除托管文件或目录(必须 confirm=true);action=setWebsiteDocument 设置首页/错误页/路由规则;action=enableService 开通静态托管;action=bindDomain / unbindDomain / updateDomain 管理自定义域名;action=downloadFile / downloadDirectory 下载托管内容到本地。若任务只是查看配置、文件或域名状态,请改用 queryHosting。',
|
|
117937
117960
|
inputSchema: manageHostingInputSchema,
|
|
117938
117961
|
annotations: {
|
|
@@ -134908,7 +134931,7 @@ class TelemetryReporter {
|
|
|
134908
134931
|
const nodeVersion = process.version; // Node.js版本
|
|
134909
134932
|
const arch = os_1.default.arch(); // 系统架构
|
|
134910
134933
|
// 从构建时注入的版本号获取MCP版本信息
|
|
134911
|
-
const mcpVersion = process.env.npm_package_version || "2.20.
|
|
134934
|
+
const mcpVersion = process.env.npm_package_version || "2.20.2" || 0;
|
|
134912
134935
|
return {
|
|
134913
134936
|
userAgent: `${osType} ${osRelease} ${arch} ${nodeVersion} CloudBase-MCP/${mcpVersion}`,
|
|
134914
134937
|
deviceId: this.deviceId,
|
|
@@ -193513,7 +193536,7 @@ ${envIdSection}
|
|
|
193513
193536
|
## 环境信息
|
|
193514
193537
|
- 操作系统: ${os_1.default.type()} ${os_1.default.release()}
|
|
193515
193538
|
- Node.js版本: ${process.version}
|
|
193516
|
-
- MCP 版本:${process.env.npm_package_version || "2.20.
|
|
193539
|
+
- MCP 版本:${process.env.npm_package_version || "2.20.2" || 0}
|
|
193517
193540
|
- 系统架构: ${os_1.default.arch()}
|
|
193518
193541
|
- 时间: ${new Date().toISOString()}
|
|
193519
193542
|
- 请求ID: ${requestId}
|
|
@@ -193594,7 +193617,7 @@ function createWrappedHandler(name, handler, server) {
|
|
|
193594
193617
|
requestId: (typeof error === 'object' && error && 'requestId' in error) ? error.requestId : '',
|
|
193595
193618
|
ide: server.ide || process.env.INTEGRATION_IDE || ''
|
|
193596
193619
|
});
|
|
193597
|
-
const mcpVersion = true ? "2.20.
|
|
193620
|
+
const mcpVersion = true ? "2.20.2" : 0;
|
|
193598
193621
|
const requestIdSuffix = requestId ? `\n🆔 RequestId: ${requestId}` : '';
|
|
193599
193622
|
const enhancedErrorMessage = `${errorMessage}${requestIdSuffix}\n\n📦 CloudBase MCP v${mcpVersion}\n🔗 遇到问题?请复制以下链接到浏览器打开\n即可自动携带错误详情快速创建 GitHub Issue:\n${issueLink}`;
|
|
193600
193623
|
// 创建新的错误对象,保持原有的错误类型但更新消息
|
|
@@ -209553,7 +209576,7 @@ function registerSetupTools(server) {
|
|
|
209553
209576
|
server.registerTool("downloadTemplate", {
|
|
209554
209577
|
title: "下载项目模板",
|
|
209555
209578
|
description: `自动下载并部署CloudBase项目模板。
|
|
209556
|
-
**Note**: Call this tool when the user requests to create a new project using a CloudBase template.\n\n支持的模板:\n- react: React + CloudBase 全栈应用模板\n- vue: Vue + CloudBase 全栈应用模板\n- miniprogram: 微信小程序 + 云开发模板 \n- uniapp: UniApp + CloudBase 跨端应用模板\n- rules: 只包含AI编辑器配置文件(包含Cursor、WindSurf、CodeBuddy等所有主流编辑器配置),适合在已有项目中补充AI编辑器配置\n\n支持的IDE类型:\n- all: 下载所有IDE配置\n- cursor: Cursor AI编辑器\n- 其他IDE类型见下方列表\n\n注意:如果未传入 ide 参数且无法从环境变量检测到 IDE,将提示错误并要求传入 ide 参数\n- windsurf: WindSurf AI编辑器\n- codebuddy: CodeBuddy AI编辑器\n- claude-code: Claude Code AI编辑器\n- cline: Cline AI编辑器\n- gemini-cli: Gemini CLI\n- opencode: OpenCode AI编辑器\n- qwen-code: 通义灵码\n- baidu-comate: 百度Comate\n- openai-codex-cli: OpenAI Codex CLI\n- augment-code: Augment Code\n- github-copilot: GitHub Copilot\n- roocode: RooCode AI编辑器\n- tongyi-lingma: 通义灵码\n- trae: Trae AI编辑器\n- qoder: Qoder AI编辑器\n- antigravity: Google Antigravity AI编辑器\n- vscode: Visual Studio Code\n- kiro: Kiro AI编辑器\n- aider: Aider AI编辑器\n\n特别说明:\n- rules 模板会自动包含当前 mcp 版本号信息(版本号:${ true ? "2.20.
|
|
209579
|
+
**Note**: Call this tool when the user requests to create a new project using a CloudBase template.\n\n支持的模板:\n- react: React + CloudBase 全栈应用模板\n- vue: Vue + CloudBase 全栈应用模板\n- miniprogram: 微信小程序 + 云开发模板 \n- uniapp: UniApp + CloudBase 跨端应用模板\n- rules: 只包含AI编辑器配置文件(包含Cursor、WindSurf、CodeBuddy等所有主流编辑器配置),适合在已有项目中补充AI编辑器配置\n\n支持的IDE类型:\n- all: 下载所有IDE配置\n- cursor: Cursor AI编辑器\n- 其他IDE类型见下方列表\n\n注意:如果未传入 ide 参数且无法从环境变量检测到 IDE,将提示错误并要求传入 ide 参数\n- windsurf: WindSurf AI编辑器\n- codebuddy: CodeBuddy AI编辑器\n- claude-code: Claude Code AI编辑器\n- cline: Cline AI编辑器\n- gemini-cli: Gemini CLI\n- opencode: OpenCode AI编辑器\n- qwen-code: 通义灵码\n- baidu-comate: 百度Comate\n- openai-codex-cli: OpenAI Codex CLI\n- augment-code: Augment Code\n- github-copilot: GitHub Copilot\n- roocode: RooCode AI编辑器\n- tongyi-lingma: 通义灵码\n- trae: Trae AI编辑器\n- qoder: Qoder AI编辑器\n- antigravity: Google Antigravity AI编辑器\n- vscode: Visual Studio Code\n- kiro: Kiro AI编辑器\n- aider: Aider AI编辑器\n\n特别说明:\n- rules 模板会自动包含当前 mcp 版本号信息(版本号:${ true ? "2.20.2" : 0}),便于后续维护和版本追踪\n- 下载 rules 模板时,如果项目中已存在 README.md 文件,系统会自动保护该文件不被覆盖(除非设置 overwrite=true)`,
|
|
209557
209580
|
inputSchema: {
|
|
209558
209581
|
template: zod_1.z
|
|
209559
209582
|
.enum(["react", "vue", "miniprogram", "uniapp", "rules"])
|
|
@@ -226979,8 +227002,8 @@ function registerGatewayTools(server) {
|
|
|
226979
227002
|
}
|
|
226980
227003
|
};
|
|
226981
227004
|
server.registerTool?.("queryGateway", {
|
|
226982
|
-
title: "
|
|
226983
|
-
description: "
|
|
227005
|
+
title: "查询 CloudBase 网关",
|
|
227006
|
+
description: "CloudBase 网关统一只读入口。通过 action 查询网关域名、访问入口和目标暴露情况。",
|
|
226984
227007
|
inputSchema: {
|
|
226985
227008
|
action: zod_1.z
|
|
226986
227009
|
.enum(QUERY_GATEWAY_ACTIONS)
|
|
@@ -227002,8 +227025,8 @@ function registerGatewayTools(server) {
|
|
|
227002
227025
|
},
|
|
227003
227026
|
}, async (input) => withEnvelope(() => handleQueryGateway(input)));
|
|
227004
227027
|
server.registerTool?.("manageGateway", {
|
|
227005
|
-
title: "
|
|
227006
|
-
description: "
|
|
227028
|
+
title: "管理 CloudBase 网关",
|
|
227029
|
+
description: "CloudBase 网关统一写入口。通过 action 创建目标访问入口,后续承接更通用的网关配置能力。为已存在的 HTTP 云函数补默认域名访问时,通常使用 createAccess 并提供 targetType=\"function\"、targetName、type=\"HTTP\" 与期望 path。注意 createAccess 只创建网关入口,不会自动修改函数资源权限。⚠️ 如需绑定带 SSL 证书的自定义域名供公网 HTTPS 访问,使用 action=\"bindCustomDomain\"(需要 domain 和 certificateId 参数);如需配置 CORS/安全域名(无证书),请使用 envDomainManagement 工具。",
|
|
227007
227030
|
inputSchema: {
|
|
227008
227031
|
action: zod_1.z
|
|
227009
227032
|
.enum(MANAGE_GATEWAY_ACTIONS)
|
|
@@ -250601,8 +250624,8 @@ function registerStorageTools(server) {
|
|
|
250601
250624
|
const getManager = () => (0, cloudbase_manager_js_1.getCloudBaseManager)({ cloudBaseOptions });
|
|
250602
250625
|
// Tool 1: queryStorage - 查询存储信息(只读操作)
|
|
250603
250626
|
server.registerTool("queryStorage", {
|
|
250604
|
-
title: "
|
|
250605
|
-
description: "
|
|
250627
|
+
title: "查询 CloudBase 存储信息",
|
|
250628
|
+
description: "查询 CloudBase 云存储信息,支持列出目录文件、获取文件信息、获取临时下载链接等只读操作。返回的文件信息包括文件名、大小、修改时间、下载链接等。注意:action=url 返回的 temporaryUrl 是临时签名链接,有效期由 maxAge 参数决定(默认1小时),不要当作永久公网地址使用。工具还会基于 DescribeEnvs 返回的 Storages[0].CdnDomain 推导出 publicUrl,⚠️ 警告:publicUrl 仅在存储桶 ACL 为公有读(所有用户可读)时才能被匿名访问;默认私有读写存储桶返回的 publicUrl 会 403,此时请继续使用 temporaryUrl 或先通过控制台/SDK 将目标路径设置为公有读。",
|
|
250606
250629
|
inputSchema: queryStorageInputSchema,
|
|
250607
250630
|
annotations: {
|
|
250608
250631
|
readOnlyHint: true,
|
|
@@ -250730,8 +250753,8 @@ function registerStorageTools(server) {
|
|
|
250730
250753
|
});
|
|
250731
250754
|
// Tool 2: manageStorage - 管理存储文件(写操作)
|
|
250732
250755
|
server.registerTool("manageStorage", {
|
|
250733
|
-
title: "
|
|
250734
|
-
description: "
|
|
250756
|
+
title: "管理 CloudBase 存储文件",
|
|
250757
|
+
description: "管理 CloudBase 云存储文件,仅用于 COS/Storage 对象,不用于静态网站托管。支持上传文件/目录、下载文件/目录、删除文件/目录等操作。删除操作需要设置force=true进行确认,防止误删除重要文件。注意:上传后返回的 temporaryUrl 是临时签名链接,1小时后过期,不要当作永久公网地址写入配置或持久化存储。工具还会基于 DescribeEnvs 返回的 Storages[0].CdnDomain 推导 publicUrl,⚠️ 警告:publicUrl 仅在存储桶 ACL 为公有读(所有用户可读)时才能被匿名访问;默认私有读写存储桶返回的 publicUrl 会 403,此时请继续使用 temporaryUrl 或先通过控制台/SDK 将目标路径设置为公有读。",
|
|
250735
250758
|
inputSchema: manageStorageInputSchema,
|
|
250736
250759
|
annotations: {
|
|
250737
250760
|
readOnlyHint: false,
|
package/dist/index.js
CHANGED
|
@@ -1123,8 +1123,8 @@ function registerEnvTools(server) {
|
|
|
1123
1123
|
});
|
|
1124
1124
|
// envQuery - 环境查询(合并 listEnvs + getEnvInfo + getEnvAuthDomains)
|
|
1125
1125
|
server.registerTool?.("envQuery", {
|
|
1126
|
-
title: "环境查询",
|
|
1127
|
-
description: "
|
|
1126
|
+
title: "CloudBase 环境查询",
|
|
1127
|
+
description: "查询 CloudBase 环境相关信息,支持查询环境列表、指定环境详情和安全域名。(原工具名:listEnvs/getEnvInfo/getEnvAuthDomains,为兼容旧AI规则可继续使用这些名称)当 action=list 时,会按 DescribeEnvs 语义做列表/筛选,标准返回字段为 EnvId、Alias、Status、EnvType、Region、PackageId、PackageName、IsDefault,并支持通过 fields 白名单裁剪这些字段;aliasExact=true 时会按别名精确筛选,避免把前缀相近的环境误当作候选;即使传入 envId,action=list 也只返回摘要,不会返回完整资源明细或 expiry。如需查询某个已知 EnvId 对应环境的详细信息(包括资源字段和计费信息),必须使用 action=info 并传入目标环境的 envId 参数。action=info 会在可用时补充 BillingInfo(如 ExpireTime、PayMode、IsAutoRenew 等计费字段)。",
|
|
1128
1128
|
inputSchema: {
|
|
1129
1129
|
action: zod_1.z
|
|
1130
1130
|
.enum(["list", "info", "domains"])
|
|
@@ -1328,8 +1328,8 @@ function registerEnvTools(server) {
|
|
|
1328
1328
|
});
|
|
1329
1329
|
// envDomainManagement - 环境域名管理(合并 createEnvDomain + deleteEnvDomain)
|
|
1330
1330
|
server.registerTool?.("envDomainManagement", {
|
|
1331
|
-
title: "环境域名管理(安全域名 / CORS 白名单)",
|
|
1332
|
-
description: "
|
|
1331
|
+
title: "CloudBase 环境域名管理(安全域名 / CORS 白名单)",
|
|
1332
|
+
description: "管理 CloudBase 环境的安全域名(安全域名 / CORS 白名单),支持添加和删除操作。(原工具名:createEnvDomain/deleteEnvDomain,为兼容旧AI规则可继续使用这些名称)当浏览器 Web 应用需要从本地 Vite / dev server 直接访问 CloudBase 资源时,应先用 envQuery(action=domains) 检查当前实际浏览器 origin 对应的 host:port 是否已在白名单中,再按该实际值添加。新增或删除后通常需要继续轮询 envQuery(action=domains) 确认状态收敛;安全域名一般约 10 分钟生效。⚠️ 重要:此工具仅用于 CORS/请求来源验证,不涉及 SSL 证书。如需绑定自定义域名供公网 HTTPS 访问,请使用 manageGateway(action=\"bindCustomDomain\")。",
|
|
1333
1333
|
inputSchema: {
|
|
1334
1334
|
action: zod_1.z
|
|
1335
1335
|
.enum(["create", "delete"])
|
|
@@ -1703,7 +1703,7 @@ ${envIdSection}
|
|
|
1703
1703
|
## 环境信息
|
|
1704
1704
|
- 操作系统: ${os_1.default.type()} ${os_1.default.release()}
|
|
1705
1705
|
- Node.js版本: ${process.version}
|
|
1706
|
-
- MCP 版本:${process.env.npm_package_version || "2.20.
|
|
1706
|
+
- MCP 版本:${process.env.npm_package_version || "2.20.2" || 0}
|
|
1707
1707
|
- 系统架构: ${os_1.default.arch()}
|
|
1708
1708
|
- 时间: ${new Date().toISOString()}
|
|
1709
1709
|
- 请求ID: ${requestId}
|
|
@@ -1784,7 +1784,7 @@ function createWrappedHandler(name, handler, server) {
|
|
|
1784
1784
|
requestId: (typeof error === 'object' && error && 'requestId' in error) ? error.requestId : '',
|
|
1785
1785
|
ide: server.ide || process.env.INTEGRATION_IDE || ''
|
|
1786
1786
|
});
|
|
1787
|
-
const mcpVersion = true ? "2.20.
|
|
1787
|
+
const mcpVersion = true ? "2.20.2" : 0;
|
|
1788
1788
|
const requestIdSuffix = requestId ? `\n🆔 RequestId: ${requestId}` : '';
|
|
1789
1789
|
const enhancedErrorMessage = `${errorMessage}${requestIdSuffix}\n\n📦 CloudBase MCP v${mcpVersion}\n🔗 遇到问题?请复制以下链接到浏览器打开\n即可自动携带错误详情快速创建 GitHub Issue:\n${issueLink}`;
|
|
1790
1790
|
// 创建新的错误对象,保持原有的错误类型但更新消息
|
|
@@ -5680,10 +5680,10 @@ classDiagram
|
|
|
5680
5680
|
.default(false)
|
|
5681
5681
|
.describe("是否立即发布模型"),
|
|
5682
5682
|
dbInstanceType: zod_1.z
|
|
5683
|
-
.
|
|
5683
|
+
.enum(["MYSQL", "FLEXDB"])
|
|
5684
5684
|
.optional()
|
|
5685
5685
|
.default("MYSQL")
|
|
5686
|
-
.describe("
|
|
5686
|
+
.describe("数据库实例类型,可选值:MYSQL=MySQL 数据库,FLEXDB=文档型数据库(NoSQL)"),
|
|
5687
5687
|
},
|
|
5688
5688
|
annotations: {
|
|
5689
5689
|
readOnlyHint: false,
|
|
@@ -7042,8 +7042,8 @@ function registerGatewayTools(server) {
|
|
|
7042
7042
|
}
|
|
7043
7043
|
};
|
|
7044
7044
|
server.registerTool?.("queryGateway", {
|
|
7045
|
-
title: "
|
|
7046
|
-
description: "
|
|
7045
|
+
title: "查询 CloudBase 网关",
|
|
7046
|
+
description: "CloudBase 网关统一只读入口。通过 action 查询网关域名、访问入口和目标暴露情况。",
|
|
7047
7047
|
inputSchema: {
|
|
7048
7048
|
action: zod_1.z
|
|
7049
7049
|
.enum(QUERY_GATEWAY_ACTIONS)
|
|
@@ -7065,8 +7065,8 @@ function registerGatewayTools(server) {
|
|
|
7065
7065
|
},
|
|
7066
7066
|
}, async (input) => withEnvelope(() => handleQueryGateway(input)));
|
|
7067
7067
|
server.registerTool?.("manageGateway", {
|
|
7068
|
-
title: "
|
|
7069
|
-
description: "
|
|
7068
|
+
title: "管理 CloudBase 网关",
|
|
7069
|
+
description: "CloudBase 网关统一写入口。通过 action 创建目标访问入口,后续承接更通用的网关配置能力。为已存在的 HTTP 云函数补默认域名访问时,通常使用 createAccess 并提供 targetType=\"function\"、targetName、type=\"HTTP\" 与期望 path。注意 createAccess 只创建网关入口,不会自动修改函数资源权限。⚠️ 如需绑定带 SSL 证书的自定义域名供公网 HTTPS 访问,使用 action=\"bindCustomDomain\"(需要 domain 和 certificateId 参数);如需配置 CORS/安全域名(无证书),请使用 envDomainManagement 工具。",
|
|
7070
7070
|
inputSchema: {
|
|
7071
7071
|
action: zod_1.z
|
|
7072
7072
|
.enum(MANAGE_GATEWAY_ACTIONS)
|
|
@@ -7348,8 +7348,8 @@ function registerStorageTools(server) {
|
|
|
7348
7348
|
const getManager = () => (0, cloudbase_manager_js_1.getCloudBaseManager)({ cloudBaseOptions });
|
|
7349
7349
|
// Tool 1: queryStorage - 查询存储信息(只读操作)
|
|
7350
7350
|
server.registerTool("queryStorage", {
|
|
7351
|
-
title: "
|
|
7352
|
-
description: "
|
|
7351
|
+
title: "查询 CloudBase 存储信息",
|
|
7352
|
+
description: "查询 CloudBase 云存储信息,支持列出目录文件、获取文件信息、获取临时下载链接等只读操作。返回的文件信息包括文件名、大小、修改时间、下载链接等。注意:action=url 返回的 temporaryUrl 是临时签名链接,有效期由 maxAge 参数决定(默认1小时),不要当作永久公网地址使用。工具还会基于 DescribeEnvs 返回的 Storages[0].CdnDomain 推导出 publicUrl,⚠️ 警告:publicUrl 仅在存储桶 ACL 为公有读(所有用户可读)时才能被匿名访问;默认私有读写存储桶返回的 publicUrl 会 403,此时请继续使用 temporaryUrl 或先通过控制台/SDK 将目标路径设置为公有读。",
|
|
7353
7353
|
inputSchema: queryStorageInputSchema,
|
|
7354
7354
|
annotations: {
|
|
7355
7355
|
readOnlyHint: true,
|
|
@@ -7477,8 +7477,8 @@ function registerStorageTools(server) {
|
|
|
7477
7477
|
});
|
|
7478
7478
|
// Tool 2: manageStorage - 管理存储文件(写操作)
|
|
7479
7479
|
server.registerTool("manageStorage", {
|
|
7480
|
-
title: "
|
|
7481
|
-
description: "
|
|
7480
|
+
title: "管理 CloudBase 存储文件",
|
|
7481
|
+
description: "管理 CloudBase 云存储文件,仅用于 COS/Storage 对象,不用于静态网站托管。支持上传文件/目录、下载文件/目录、删除文件/目录等操作。删除操作需要设置force=true进行确认,防止误删除重要文件。注意:上传后返回的 temporaryUrl 是临时签名链接,1小时后过期,不要当作永久公网地址写入配置或持久化存储。工具还会基于 DescribeEnvs 返回的 Storages[0].CdnDomain 推导 publicUrl,⚠️ 警告:publicUrl 仅在存储桶 ACL 为公有读(所有用户可读)时才能被匿名访问;默认私有读写存储桶返回的 publicUrl 会 403,此时请继续使用 temporaryUrl 或先通过控制台/SDK 将目标路径设置为公有读。",
|
|
7482
7482
|
inputSchema: manageStorageInputSchema,
|
|
7483
7483
|
annotations: {
|
|
7484
7484
|
readOnlyHint: false,
|
|
@@ -8632,6 +8632,22 @@ const MANAGE_APP_AUTH_ACTIONS = [
|
|
|
8632
8632
|
"createCustomLoginKeys",
|
|
8633
8633
|
];
|
|
8634
8634
|
const APP_AUTH_KEY_TYPES = ["publish_key", "api_key"];
|
|
8635
|
+
const APP_AUTH_PROVIDER_TYPES = [
|
|
8636
|
+
"OAUTH",
|
|
8637
|
+
"OIDC",
|
|
8638
|
+
"SAML",
|
|
8639
|
+
"WX_MICRO_APP",
|
|
8640
|
+
"WX_QRCODE_MICRO_APP",
|
|
8641
|
+
"WX_CLOUDBASE_MICRO_APP",
|
|
8642
|
+
"WX_MP",
|
|
8643
|
+
"WX_OPEN",
|
|
8644
|
+
"WX_WORK_INTERNAL",
|
|
8645
|
+
"WX_WORK_AGENT",
|
|
8646
|
+
"WX_WORK_THIRD_PARTY",
|
|
8647
|
+
"WX_WORK_THIRD_PARTY_ASSOCIATION",
|
|
8648
|
+
"CUSTOM",
|
|
8649
|
+
"EMAIL",
|
|
8650
|
+
];
|
|
8635
8651
|
const SUPABASE_LIKE_SDK_HINTS = {
|
|
8636
8652
|
phoneOtp: "auth.signInWithOtp({ phone })",
|
|
8637
8653
|
emailOtp: "auth.signInWithOtp({ email })",
|
|
@@ -8877,8 +8893,8 @@ function registerAppAuthTools(server) {
|
|
|
8877
8893
|
};
|
|
8878
8894
|
};
|
|
8879
8895
|
server.registerTool?.("queryAppAuth", {
|
|
8880
|
-
title: "
|
|
8881
|
-
description: "应用侧认证配置只读入口。用于查询登录方式、provider、publishable key、API key、client 配置和静态域名等认证准备状态。⚠️ 本工具为管理端配置查询工具,不执行用户登录。当任务要求编写客户端登录代码时(例如「用 JS SDK 登录」),应先通过本工具确认配置状态,再在项目代码中编写 @cloudbase/js-sdk 客户端登录代码(如 auth.signInWithPassword()),而非使用本工具完成登录。若业务要接受普通用户名样式标识符,先查询 action=getLoginConfig;若 usernamePassword=false,下一步应立即调用 manageAppAuth(action=patchLoginStrategy, patch={ usernamePassword: true }),不要直接写 email 登录 API。",
|
|
8896
|
+
title: "查询 CloudBase 应用认证配置",
|
|
8897
|
+
description: "CloudBase 应用侧认证配置只读入口。用于查询登录方式、provider、publishable key、API key、client 配置和静态域名等认证准备状态。⚠️ 本工具为管理端配置查询工具,不执行用户登录。当任务要求编写客户端登录代码时(例如「用 JS SDK 登录」),应先通过本工具确认配置状态,再在项目代码中编写 @cloudbase/js-sdk 客户端登录代码(如 auth.signInWithPassword()),而非使用本工具完成登录。若业务要接受普通用户名样式标识符,先查询 action=getLoginConfig;若 usernamePassword=false,下一步应立即调用 manageAppAuth(action=patchLoginStrategy, patch={ usernamePassword: true }),不要直接写 email 登录 API。",
|
|
8882
8898
|
inputSchema: {
|
|
8883
8899
|
action: zod_1.z.enum(QUERY_APP_AUTH_ACTIONS),
|
|
8884
8900
|
providerId: zod_1.z.string().optional().describe("provider 标识,如 email、google"),
|
|
@@ -8988,8 +9004,8 @@ function registerAppAuthTools(server) {
|
|
|
8988
9004
|
}
|
|
8989
9005
|
}));
|
|
8990
9006
|
server.registerTool?.("manageAppAuth", {
|
|
8991
|
-
title: "
|
|
8992
|
-
description: "应用侧认证配置写入口。用于修改登录方式、provider、client 配置,确保 publishable key,以及创建或删除 API key、自定义登录密钥。⚠️ 本工具为管理端配置工具,不执行用户登录。当任务要求编写客户端登录代码时(例如「用 JS SDK 登录」),应先通过本工具完成配置(如启用 usernamePassword、获取 publishable key),再在项目代码中编写 @cloudbase/js-sdk 客户端登录代码(如 auth.signInWithPassword()),而非使用本工具完成登录。若前端要接受普通用户名样式标识符,应先执行 action=patchLoginStrategy 并传入 patch={ usernamePassword: true },再实现对应前端登录逻辑。",
|
|
9007
|
+
title: "管理 CloudBase 应用认证配置",
|
|
9008
|
+
description: "CloudBase 应用侧认证配置写入口。用于修改登录方式、provider、client 配置,确保 publishable key,以及创建或删除 API key、自定义登录密钥。⚠️ 本工具为管理端配置工具,不执行用户登录。当任务要求编写客户端登录代码时(例如「用 JS SDK 登录」),应先通过本工具完成配置(如启用 usernamePassword、获取 publishable key),再在项目代码中编写 @cloudbase/js-sdk 客户端登录代码(如 auth.signInWithPassword()),而非使用本工具完成登录。若前端要接受普通用户名样式标识符,应先执行 action=patchLoginStrategy 并传入 patch={ usernamePassword: true },再实现对应前端登录逻辑。",
|
|
8993
9009
|
inputSchema: {
|
|
8994
9010
|
action: zod_1.z.enum(MANAGE_APP_AUTH_ACTIONS),
|
|
8995
9011
|
patch: zod_1.z
|
|
@@ -8997,7 +9013,10 @@ function registerAppAuthTools(server) {
|
|
|
8997
9013
|
.optional()
|
|
8998
9014
|
.describe("patchLoginStrategy 使用的简化登录策略 patch,如 { usernamePassword: true }"),
|
|
8999
9015
|
providerId: zod_1.z.string().optional().describe("provider 标识,如 email、google;addProvider 时也可作为自定义 provider Id"),
|
|
9000
|
-
providerType: zod_1.z
|
|
9016
|
+
providerType: zod_1.z
|
|
9017
|
+
.enum(APP_AUTH_PROVIDER_TYPES)
|
|
9018
|
+
.optional()
|
|
9019
|
+
.describe("addProvider 时的 provider 协议类型"),
|
|
9001
9020
|
displayName: zod_1.z
|
|
9002
9021
|
.union([zod_1.z.string(), zod_1.z.record(zod_1.z.any())])
|
|
9003
9022
|
.optional()
|
|
@@ -9256,7 +9275,7 @@ class TelemetryReporter {
|
|
|
9256
9275
|
const nodeVersion = process.version; // Node.js版本
|
|
9257
9276
|
const arch = os_1.default.arch(); // 系统架构
|
|
9258
9277
|
// 从构建时注入的版本号获取MCP版本信息
|
|
9259
|
-
const mcpVersion = process.env.npm_package_version || "2.20.
|
|
9278
|
+
const mcpVersion = process.env.npm_package_version || "2.20.2" || 0;
|
|
9260
9279
|
return {
|
|
9261
9280
|
userAgent: `${osType} ${osRelease} ${arch} ${nodeVersion} CloudBase-MCP/${mcpVersion}`,
|
|
9262
9281
|
deviceId: this.deviceId,
|
|
@@ -10616,8 +10635,8 @@ function registerFunctionTools(server) {
|
|
|
10616
10635
|
}
|
|
10617
10636
|
};
|
|
10618
10637
|
server.registerTool?.("queryFunctions", {
|
|
10619
|
-
title: "
|
|
10620
|
-
description: "
|
|
10638
|
+
title: "查询 CloudBase 云函数",
|
|
10639
|
+
description: "CloudBase 云函数统一只读入口。通过更自解释的 action 查询 CloudBase 云函数列表、函数详情、执行日志、层、触发器和代码下载地址。" +
|
|
10621
10640
|
"\n\n**分页说明**:`listFunctions`、`listLayers` 支持 `limit` 和 `offset` 参数。" +
|
|
10622
10641
|
"\n- `limit`: 分页数量,默认值由后端决定" +
|
|
10623
10642
|
"\n- `offset`: 分页偏移,从 0 开始" +
|
|
@@ -10677,8 +10696,8 @@ function registerFunctionTools(server) {
|
|
|
10677
10696
|
},
|
|
10678
10697
|
}, async (input) => withEnvelope(() => handleQueryFunctions(input)));
|
|
10679
10698
|
server.registerTool?.("manageFunctions", {
|
|
10680
|
-
title: "
|
|
10681
|
-
description: "
|
|
10699
|
+
title: "管理 CloudBase 云函数",
|
|
10700
|
+
description: "CloudBase 云函数统一写入口。支持创建函数、更新代码、更新配置、调用函数、管理定时跑 / 定时任务 / scheduled job 的 timer 触发器和层绑定。" +
|
|
10682
10701
|
"如果要创建 cron 定时任务,先用 createFunction 创建函数,再用 createFunctionTrigger 创建 timer 触发器(支持7段cron表达式),deleteFunctionTrigger 删除触发器。" +
|
|
10683
10702
|
"危险操作需要显式 confirm=true。",
|
|
10684
10703
|
inputSchema: {
|
|
@@ -11812,7 +11831,7 @@ function registerSetupTools(server) {
|
|
|
11812
11831
|
server.registerTool("downloadTemplate", {
|
|
11813
11832
|
title: "下载项目模板",
|
|
11814
11833
|
description: `自动下载并部署CloudBase项目模板。
|
|
11815
|
-
**Note**: Call this tool when the user requests to create a new project using a CloudBase template.\n\n支持的模板:\n- react: React + CloudBase 全栈应用模板\n- vue: Vue + CloudBase 全栈应用模板\n- miniprogram: 微信小程序 + 云开发模板 \n- uniapp: UniApp + CloudBase 跨端应用模板\n- rules: 只包含AI编辑器配置文件(包含Cursor、WindSurf、CodeBuddy等所有主流编辑器配置),适合在已有项目中补充AI编辑器配置\n\n支持的IDE类型:\n- all: 下载所有IDE配置\n- cursor: Cursor AI编辑器\n- 其他IDE类型见下方列表\n\n注意:如果未传入 ide 参数且无法从环境变量检测到 IDE,将提示错误并要求传入 ide 参数\n- windsurf: WindSurf AI编辑器\n- codebuddy: CodeBuddy AI编辑器\n- claude-code: Claude Code AI编辑器\n- cline: Cline AI编辑器\n- gemini-cli: Gemini CLI\n- opencode: OpenCode AI编辑器\n- qwen-code: 通义灵码\n- baidu-comate: 百度Comate\n- openai-codex-cli: OpenAI Codex CLI\n- augment-code: Augment Code\n- github-copilot: GitHub Copilot\n- roocode: RooCode AI编辑器\n- tongyi-lingma: 通义灵码\n- trae: Trae AI编辑器\n- qoder: Qoder AI编辑器\n- antigravity: Google Antigravity AI编辑器\n- vscode: Visual Studio Code\n- kiro: Kiro AI编辑器\n- aider: Aider AI编辑器\n\n特别说明:\n- rules 模板会自动包含当前 mcp 版本号信息(版本号:${ true ? "2.20.
|
|
11834
|
+
**Note**: Call this tool when the user requests to create a new project using a CloudBase template.\n\n支持的模板:\n- react: React + CloudBase 全栈应用模板\n- vue: Vue + CloudBase 全栈应用模板\n- miniprogram: 微信小程序 + 云开发模板 \n- uniapp: UniApp + CloudBase 跨端应用模板\n- rules: 只包含AI编辑器配置文件(包含Cursor、WindSurf、CodeBuddy等所有主流编辑器配置),适合在已有项目中补充AI编辑器配置\n\n支持的IDE类型:\n- all: 下载所有IDE配置\n- cursor: Cursor AI编辑器\n- 其他IDE类型见下方列表\n\n注意:如果未传入 ide 参数且无法从环境变量检测到 IDE,将提示错误并要求传入 ide 参数\n- windsurf: WindSurf AI编辑器\n- codebuddy: CodeBuddy AI编辑器\n- claude-code: Claude Code AI编辑器\n- cline: Cline AI编辑器\n- gemini-cli: Gemini CLI\n- opencode: OpenCode AI编辑器\n- qwen-code: 通义灵码\n- baidu-comate: 百度Comate\n- openai-codex-cli: OpenAI Codex CLI\n- augment-code: Augment Code\n- github-copilot: GitHub Copilot\n- roocode: RooCode AI编辑器\n- tongyi-lingma: 通义灵码\n- trae: Trae AI编辑器\n- qoder: Qoder AI编辑器\n- antigravity: Google Antigravity AI编辑器\n- vscode: Visual Studio Code\n- kiro: Kiro AI编辑器\n- aider: Aider AI编辑器\n\n特别说明:\n- rules 模板会自动包含当前 mcp 版本号信息(版本号:${ true ? "2.20.2" : 0}),便于后续维护和版本追踪\n- 下载 rules 模板时,如果项目中已存在 README.md 文件,系统会自动保护该文件不被覆盖(除非设置 overwrite=true)`,
|
|
11816
11835
|
inputSchema: {
|
|
11817
11836
|
template: zod_1.z
|
|
11818
11837
|
.enum(["react", "vue", "miniprogram", "uniapp", "rules"])
|
|
@@ -12755,6 +12774,10 @@ const cloudbase_manager_js_1 = __webpack_require__(3431);
|
|
|
12755
12774
|
const cloud_mode_js_1 = __webpack_require__(9684);
|
|
12756
12775
|
const notification_js_1 = __webpack_require__(2720);
|
|
12757
12776
|
const tool_result_js_1 = __webpack_require__(9835);
|
|
12777
|
+
const HOSTING_CDN_SWITCH_VALUES = ['on', 'off'];
|
|
12778
|
+
const HOSTING_REFERER_TYPES = ['blacklist', 'whitelist'];
|
|
12779
|
+
const HOSTING_CACHE_RULE_TYPES = ['fileType', 'path'];
|
|
12780
|
+
const HOSTING_IP_FILTER_TYPES = ['blacklist', 'whitelist'];
|
|
12758
12781
|
const routingRuleSchema = zod_1.z.object({
|
|
12759
12782
|
keyPrefixEquals: zod_1.z.string().optional().describe('匹配前缀规则,例如 app/ 或 assets/。与 httpErrorCodeReturnedEquals 二选一或按 CloudBase 规则组合使用。'),
|
|
12760
12783
|
httpErrorCodeReturnedEquals: zod_1.z.string().optional().describe('匹配 HTTP 错误码,例如 404。SPA 回退常用 404。'),
|
|
@@ -12763,25 +12786,25 @@ const routingRuleSchema = zod_1.z.object({
|
|
|
12763
12786
|
});
|
|
12764
12787
|
const domainConfigSchema = zod_1.z.object({
|
|
12765
12788
|
Refer: zod_1.z.object({
|
|
12766
|
-
Switch: zod_1.z.
|
|
12789
|
+
Switch: zod_1.z.enum(HOSTING_CDN_SWITCH_VALUES).describe('Referer 防盗链开关:on=开启,off=关闭。'),
|
|
12767
12790
|
RefererRules: zod_1.z.array(zod_1.z.object({
|
|
12768
|
-
RefererType: zod_1.z.
|
|
12791
|
+
RefererType: zod_1.z.enum(HOSTING_REFERER_TYPES).describe('Referer 规则类型:blacklist=黑名单,whitelist=白名单。'),
|
|
12769
12792
|
Referers: zod_1.z.array(zod_1.z.string()).describe('Referer 规则值列表。'),
|
|
12770
12793
|
AllowEmpty: zod_1.z.boolean().describe('是否允许空 Referer。'),
|
|
12771
12794
|
})).optional().describe('Referer 规则列表。'),
|
|
12772
12795
|
}).optional().describe('Referer 防盗链配置。'),
|
|
12773
12796
|
Cache: zod_1.z.array(zod_1.z.object({
|
|
12774
|
-
RuleType: zod_1.z.
|
|
12797
|
+
RuleType: zod_1.z.enum(HOSTING_CACHE_RULE_TYPES).describe('缓存规则类型:fileType=文件类型,path=路径。'),
|
|
12775
12798
|
RuleValue: zod_1.z.string().describe('规则匹配值。'),
|
|
12776
12799
|
CacheTtl: zod_1.z.number().describe('缓存 TTL,单位秒。'),
|
|
12777
12800
|
})).optional().describe('CDN 缓存规则列表。'),
|
|
12778
12801
|
IpFilter: zod_1.z.object({
|
|
12779
|
-
Switch: zod_1.z.
|
|
12780
|
-
FilterType: zod_1.z.
|
|
12802
|
+
Switch: zod_1.z.enum(HOSTING_CDN_SWITCH_VALUES).describe('IP 访问控制开关:on=开启,off=关闭。'),
|
|
12803
|
+
FilterType: zod_1.z.enum(HOSTING_IP_FILTER_TYPES).optional().describe('过滤类型:blacklist=黑名单,whitelist=白名单。'),
|
|
12781
12804
|
Filters: zod_1.z.array(zod_1.z.string()).optional().describe('IP 规则列表。'),
|
|
12782
12805
|
}).optional().describe('IP 访问控制配置。'),
|
|
12783
12806
|
IpFreqLimit: zod_1.z.object({
|
|
12784
|
-
Switch: zod_1.z.
|
|
12807
|
+
Switch: zod_1.z.enum(HOSTING_CDN_SWITCH_VALUES).describe('IP 频控开关:on=开启,off=关闭。'),
|
|
12785
12808
|
Qps: zod_1.z.number().optional().describe('每个 IP 的 QPS 上限。'),
|
|
12786
12809
|
}).optional().describe('IP 频控配置。'),
|
|
12787
12810
|
});
|
|
@@ -13092,7 +13115,7 @@ function registerHostingTools(server) {
|
|
|
13092
13115
|
const cloudBaseOptions = server.cloudBaseOptions;
|
|
13093
13116
|
const getManager = () => (0, cloudbase_manager_js_1.getCloudBaseManager)({ cloudBaseOptions });
|
|
13094
13117
|
server.registerTool('queryHosting', {
|
|
13095
|
-
title: '
|
|
13118
|
+
title: '查询 CloudBase 静态托管',
|
|
13096
13119
|
description: '查询 CloudBase 静态托管的只读信息。适合 AI 先做发现再决定下一步:action=websiteConfig 查询首页/错误页/路由规则与站点域名信息;action=status 查询托管服务状态;action=findFiles 按前缀查找文件;action=listFiles 列出全部托管文件;action=domainStatus 查询自定义域名的当前状态与配置。该工具不会产生任何副作用。',
|
|
13097
13120
|
inputSchema: queryHostingInputSchema,
|
|
13098
13121
|
annotations: {
|
|
@@ -13231,7 +13254,7 @@ function registerHostingTools(server) {
|
|
|
13231
13254
|
}
|
|
13232
13255
|
});
|
|
13233
13256
|
server.registerTool('manageHosting', {
|
|
13234
|
-
title: '
|
|
13257
|
+
title: '管理 CloudBase 静态托管',
|
|
13235
13258
|
description: '管理 CloudBase 静态托管的变更操作。action=upload 上传本地构建产物;action=delete 删除托管文件或目录(必须 confirm=true);action=setWebsiteDocument 设置首页/错误页/路由规则;action=enableService 开通静态托管;action=bindDomain / unbindDomain / updateDomain 管理自定义域名;action=downloadFile / downloadDirectory 下载托管内容到本地。若任务只是查看配置、文件或域名状态,请改用 queryHosting。',
|
|
13236
13259
|
inputSchema: manageHostingInputSchema,
|
|
13237
13260
|
annotations: {
|
|
@@ -14578,8 +14601,8 @@ function registerAgentTools(server) {
|
|
|
14578
14601
|
const cloudBaseOptions = server.cloudBaseOptions;
|
|
14579
14602
|
const getManager = () => (0, cloudbase_manager_js_1.getCloudBaseManager)({ cloudBaseOptions });
|
|
14580
14603
|
server.registerTool?.("queryAgents", {
|
|
14581
|
-
title: "查询 Agent",
|
|
14582
|
-
description: "Agent 域统一只读入口。支持列表、详情与日志查询。",
|
|
14604
|
+
title: "查询 CloudBase Agent",
|
|
14605
|
+
description: "CloudBase Agent 域统一只读入口。支持列表、详情与日志查询。",
|
|
14583
14606
|
inputSchema: {
|
|
14584
14607
|
action: zod_1.z.enum(QUERY_AGENT_ACTIONS),
|
|
14585
14608
|
agentId: zod_1.z.string().optional(),
|
|
@@ -14641,8 +14664,8 @@ function registerAgentTools(server) {
|
|
|
14641
14664
|
}
|
|
14642
14665
|
});
|
|
14643
14666
|
server.registerTool?.("manageAgents", {
|
|
14644
|
-
title: "管理 Agent",
|
|
14645
|
-
description: "Agent 域统一写入口。支持创建、更新和删除远端 Agent。",
|
|
14667
|
+
title: "管理 CloudBase Agent",
|
|
14668
|
+
description: "CloudBase Agent 域统一写入口。支持创建、更新和删除远端 Agent。",
|
|
14646
14669
|
inputSchema: {
|
|
14647
14670
|
action: zod_1.z.enum(MANAGE_AGENT_ACTIONS),
|
|
14648
14671
|
agentId: zod_1.z.string().optional(),
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloudbase/cloudbase-mcp",
|
|
3
|
-
"version": "2.20.
|
|
3
|
+
"version": "2.20.2",
|
|
4
|
+
"packageManager": "pnpm@10.8.0",
|
|
4
5
|
"description": "腾讯云开发 MCP Server,通过AI提示词和MCP协议+云开发,让开发更智能、更高效,当你在Cursor/ VSCode GitHub Copilot/WinSurf/CodeBuddy/Augment Code/Claude Code等AI编程工具里写代码时,它能自动帮你生成可直接部署的前后端应用+小程序,并一键发布到腾讯云开发 CloudBase。",
|
|
5
6
|
"main": "./dist/index.cjs",
|
|
6
7
|
"module": "./dist/index.js",
|