Skip to content

Commit 15810ad

Browse files
authored
Merge pull request #666 from TencentCloudBase/automation/attribution-issue-mo8whys6-7jpjt9-mcp-js-sdk
fix: MCP 工具与 JS SDK 编码场景区分不清晰
2 parents 15db333 + 234b6e2 commit 15810ad

2 files changed

Lines changed: 6 additions & 6 deletions

File tree

mcp/src/tools/app-auth.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -351,7 +351,7 @@ export function registerAppAuthTools(server: ExtendedMcpServer) {
351351
{
352352
title: "查询应用认证配置",
353353
description:
354-
"应用侧认证配置只读入口。用于查询登录方式、provider、publishable key、API key、client 配置和静态域名等认证准备状态。若业务要接受普通用户名样式标识符,先查询 action=getLoginConfig;若 usernamePassword=false,下一步应立即调用 manageAppAuth(action=patchLoginStrategy, patch={ usernamePassword: true }),不要直接写 email 登录 API。",
354+
"应用侧认证配置只读入口。用于查询登录方式、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。",
355355
inputSchema: {
356356
action: z.enum(QUERY_APP_AUTH_ACTIONS),
357357
providerId: z.string().optional().describe("provider 标识,如 email、google"),
@@ -491,7 +491,7 @@ export function registerAppAuthTools(server: ExtendedMcpServer) {
491491
{
492492
title: "管理应用认证配置",
493493
description:
494-
"应用侧认证配置写入口。用于修改登录方式、provider、client 配置,确保 publishable key,以及创建或删除 API key、自定义登录密钥。若前端要接受普通用户名样式标识符,应先执行 action=patchLoginStrategy 并传入 patch={ usernamePassword: true },再实现对应前端登录逻辑。",
494+
"应用侧认证配置写入口。用于修改登录方式、provider、client 配置,确保 publishable key,以及创建或删除 API key、自定义登录密钥。⚠️ 本工具为管理端配置工具,不执行用户登录。当任务要求编写客户端登录代码时(例如「用 JS SDK 登录」),应先通过本工具完成配置(如启用 usernamePassword、获取 publishable key),再在项目代码中编写 @cloudbase/js-sdk 客户端登录代码(如 auth.signInWithPassword()),而非使用本工具完成登录。若前端要接受普通用户名样式标识符,应先执行 action=patchLoginStrategy 并传入 patch={ usernamePassword: true },再实现对应前端登录逻辑。",
495495
inputSchema: {
496496
action: z.enum(MANAGE_APP_AUTH_ACTIONS),
497497
patch: z

mcp/src/tools/databaseNoSQL.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -312,7 +312,7 @@ export function registerDatabaseTools(server: ExtendedMcpServer) {
312312
{
313313
title: "读取 NoSQL 数据库结构",
314314
description:
315-
"读取 NoSQL 数据库集合与索引结构,支持列出集合、查看集合详情、列出索引以及检查索引是否存在。",
315+
"读取 NoSQL 数据库集合与索引结构,支持列出集合、查看集合详情、列出索引以及检查索引是否存在。本工具为服务端管理工具,用于管理端查询数据库结构,不用于编写客户端代码。",
316316
inputSchema: {
317317
action: z.enum([
318318
"listCollections",
@@ -500,7 +500,7 @@ checkIndex: 检查指定索引是否存在`),
500500
{
501501
title: "修改 NoSQL 数据库结构",
502502
description:
503-
"修改 NoSQL 数据库结构,支持创建/删除集合,以及通过 updateCollection 的 updateOptions.CreateIndexes / updateOptions.DropIndexes 添加索引和删除索引。",
503+
"修改 NoSQL 数据库结构,支持创建/删除集合,以及通过 updateCollection 的 updateOptions.CreateIndexes / updateOptions.DropIndexes 添加索引和删除索引。本工具为服务端管理工具,用于管理端操作集合和索引结构,不用于编写客户端代码。",
504504
inputSchema: {
505505
action: z.enum([
506506
"createCollection",
@@ -670,7 +670,7 @@ deleteCollection: 删除集合`),
670670
"readNoSqlDatabaseContent",
671671
{
672672
title: "查询并获取 NoSQL 数据库数据记录",
673-
description: "查询并获取 NoSQL 数据库数据记录",
673+
description: "查询并获取 NoSQL 数据库数据记录。⚠️ 本工具为服务端管理工具,用于管理端/运维端查询。当任务要求编写客户端应用代码时(例如「用 JS SDK 读取数据」),不应使用本工具,而应在项目代码中编写 @cloudbase/js-sdk 客户端代码(如 db.collection().where().get())。",
674674
inputSchema: {
675675
collectionName: z.string().describe("集合名称"),
676676
instanceId: z
@@ -773,7 +773,7 @@ deleteCollection: 删除集合`),
773773
{
774774
title: "修改 NoSQL 数据库数据记录",
775775
description:
776-
"修改 NoSQL 数据库数据记录。可按 MongoDB updateOne/updateMany 的心智模型理解:部分更新必须使用 `$set`、`$inc`、`$push` 等更新操作符;如果直接传字段到值的普通对象这类内容,底层会把它当作替换内容,存在覆盖整条文档的风险。更新嵌套对象中的某个字段时必须使用点号路径,例如把 `address.city` 设为 `shenzhen`;如果把整个 `address` 对象作为 `$set` 的值传入,则整个 `address` 对象会被替换,同级其他字段将丢失。若集合中的角色/档案文档会在前端通过 `db.collection(...).doc(uid)` 读取,请确保文档 `_id` 就是该 `uid`;不要用按 `uid` 条件查询再配合 `upsert=true` 的方式去更新 `users` / `profiles`,否则经常会生成一个不同的 `_id`,导致后续 `doc(uid)` 读取命中不到。",
776+
"修改 NoSQL 数据库数据记录。⚠️ 本工具为服务端管理工具,用于管理端/运维端操作(如后台脚本、数据迁移、批量修改)。当任务要求编写客户端应用代码时(例如「用 JS SDK 登录并插入数据」、「在前端读写数据库」),不应使用本工具,而应在项目代码中编写 @cloudbase/js-sdk 客户端代码(如 app.database().collection().add()、db.collection().where().get() 等)。可按 MongoDB updateOne/updateMany 的心智模型理解:部分更新必须使用 `$set`、`$inc`、`$push` 等更新操作符;如果直接传字段到值的普通对象这类内容,底层会把它当作替换内容,存在覆盖整条文档的风险。更新嵌套对象中的某个字段时必须使用点号路径,例如把 `address.city` 设为 `shenzhen`;如果把整个 `address` 对象作为 `$set` 的值传入,则整个 `address` 对象会被替换,同级其他字段将丢失。若集合中的角色/档案文档会在前端通过 `db.collection(...).doc(uid)` 读取,请确保文档 `_id` 就是该 `uid`;不要用按 `uid` 条件查询再配合 `upsert=true` 的方式去更新 `users` / `profiles`,否则经常会生成一个不同的 `_id`,导致后续 `doc(uid)` 读取命中不到。",
777777
inputSchema: {
778778
action: z
779779
.enum(["insert", "update", "delete"])

0 commit comments

Comments
 (0)