@cloudbase/cloudbase-mcp 1.8.2 → 1.8.3
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/server.d.ts +0 -2
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js.map +1 -1
- package/dist/utils/tool-wrapper.d.ts +2 -25
- package/dist/utils/tool-wrapper.d.ts.map +1 -1
- package/dist/utils/tool-wrapper.js +10 -29
- package/dist/utils/tool-wrapper.js.map +1 -1
- package/package.json +2 -2
package/dist/server.d.ts
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
-
import { ToolConfig } from "./utils/tool-wrapper.js";
|
|
3
2
|
import { CloudBaseOptions } from "./types.js";
|
|
4
3
|
export interface ExtendedMcpServer extends McpServer {
|
|
5
4
|
cloudBaseOptions?: CloudBaseOptions;
|
|
6
|
-
registerTool?: (name: string, config: ToolConfig, handler: any) => void;
|
|
7
5
|
}
|
|
8
6
|
/**
|
|
9
7
|
* Create and configure a CloudBase MCP Server instance
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAapE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG9C,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAClD,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,CAAC,EAAE;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC,GAAG,iBAAiB,CA0CpB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,iBAAiB,CAEpD;AAGD,YAAY,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,uBAAuB,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAQ1D;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAKxC;IACC,MAAM,EACJ,IAAI,GAAG,eAAe,EACtB,OAAO,GAAG,OAAO,EACjB,eAAe,GAAG,IAAI,EACtB,gBAAgB,EACjB,GAAG,OAAO,IAAI,EAAE,CAAC;IAElB,yBAAyB;IACzB,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI;QACJ,OAAO;QACP,YAAY,EAAE;YACZ,SAAS,EAAE,EAAE;YACb,KAAK,EAAE,EAAE;SACV;KACF,CAAsB,CAAC;IAExB,gEAAgE;IAChE,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC7C,CAAC;IAED,gCAAgC;IAChC,IAAI,eAAe,EAAE,CAAC;QACpB,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,qBAAqB;IACrB,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACzB,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACzB,6BAA6B;IAC7B,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC9B,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC7B,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC9B,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC9B,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC7B,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC3B,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACjC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAE7B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,wBAAwB,EAAE,CAAC;AACpC,CAAC;AAID,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -3,32 +3,9 @@ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
|
3
3
|
* 工具包装器,为 MCP 工具添加数据上报功能
|
|
4
4
|
* 自动记录工具调用的成功/失败状态、执行时长等信息
|
|
5
5
|
*/
|
|
6
|
-
export
|
|
7
|
-
/** 人类可读的工具标题 */
|
|
8
|
-
title?: string;
|
|
9
|
-
/** 如果为true,表示工具不修改环境 */
|
|
10
|
-
readOnlyHint?: boolean;
|
|
11
|
-
/** 如果为true,工具可能执行破坏性更新(仅在readOnlyHint为false时有意义) */
|
|
12
|
-
destructiveHint?: boolean;
|
|
13
|
-
/** 如果为true,重复调用相同参数没有额外效果(仅在readOnlyHint为false时有意义) */
|
|
14
|
-
idempotentHint?: boolean;
|
|
15
|
-
/** 如果为true,工具可能与外部实体交互 */
|
|
16
|
-
openWorldHint?: boolean;
|
|
17
|
-
/** 工具分类,用于工具组织和管理 */
|
|
18
|
-
category?: string;
|
|
19
|
-
}
|
|
20
|
-
export interface ToolConfig {
|
|
21
|
-
/** 工具标题 */
|
|
22
|
-
title?: string;
|
|
23
|
-
/** 工具描述 */
|
|
24
|
-
description?: string;
|
|
25
|
-
/** 输入参数schema */
|
|
26
|
-
inputSchema?: any;
|
|
27
|
-
/** 工具注解 */
|
|
28
|
-
annotations?: ToolAnnotations;
|
|
29
|
-
}
|
|
6
|
+
export type { ToolAnnotations, Tool } from "@modelcontextprotocol/sdk/types.js";
|
|
30
7
|
/**
|
|
31
|
-
* 包装 MCP Server 的
|
|
8
|
+
* 包装 MCP Server 的 registerTool 方法,添加数据上报功能
|
|
32
9
|
* @param server MCP Server 实例
|
|
33
10
|
*/
|
|
34
11
|
export declare function wrapServerWithTelemetry(server: McpServer): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-wrapper.d.ts","sourceRoot":"","sources":["../../src/utils/tool-wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-wrapper.d.ts","sourceRoot":"","sources":["../../src/utils/tool-wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKpE;;;GAGG;AAGH,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AA8ChF;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAkB/D"}
|
|
@@ -40,42 +40,23 @@ function createWrappedHandler(name, handler) {
|
|
|
40
40
|
};
|
|
41
41
|
}
|
|
42
42
|
/**
|
|
43
|
-
* 包装 MCP Server 的
|
|
43
|
+
* 包装 MCP Server 的 registerTool 方法,添加数据上报功能
|
|
44
44
|
* @param server MCP Server 实例
|
|
45
45
|
*/
|
|
46
46
|
export function wrapServerWithTelemetry(server) {
|
|
47
|
-
// 保存原始的
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
*/
|
|
52
|
-
function registerTool(name, config, handler) {
|
|
53
|
-
const { title, description = title || name, inputSchema = {}, annotations = {} } = config;
|
|
54
|
-
// 合并title和annotations,title优先级更高
|
|
55
|
-
const finalAnnotations = {
|
|
56
|
-
...annotations,
|
|
57
|
-
...(title ? { title } : {})
|
|
58
|
-
};
|
|
47
|
+
// 保存原始的 registerTool 方法
|
|
48
|
+
const originalRegisterTool = server.registerTool.bind(server);
|
|
49
|
+
// 重写 registerTool 方法,添加数据上报功能
|
|
50
|
+
server.registerTool = function (toolName, toolConfig, handler) {
|
|
59
51
|
// 记录工具注册信息
|
|
60
|
-
debug(`注册工具: ${
|
|
61
|
-
|
|
62
|
-
description,
|
|
63
|
-
annotations: finalAnnotations
|
|
52
|
+
debug(`注册工具: ${toolName}`, {
|
|
53
|
+
toolConfig
|
|
64
54
|
});
|
|
65
55
|
// 使用包装后的处理函数
|
|
66
|
-
const wrappedHandler = createWrappedHandler(
|
|
67
|
-
//
|
|
68
|
-
|
|
69
|
-
}
|
|
70
|
-
// 重写 tool 方法,添加数据上报功能
|
|
71
|
-
server.tool = function (name, description, inputSchema, handler) {
|
|
72
|
-
// 使用包装后的处理函数
|
|
73
|
-
const wrappedHandler = createWrappedHandler(name, handler);
|
|
74
|
-
// 调用原始 tool 方法
|
|
75
|
-
return originalTool.call(server, name, description, inputSchema, wrappedHandler);
|
|
56
|
+
const wrappedHandler = createWrappedHandler(toolName, handler);
|
|
57
|
+
// 调用原始 registerTool 方法
|
|
58
|
+
return originalRegisterTool(toolName, toolConfig, wrappedHandler);
|
|
76
59
|
};
|
|
77
|
-
// 添加registerTool方法到server实例
|
|
78
|
-
server.registerTool = registerTool;
|
|
79
60
|
}
|
|
80
61
|
/**
|
|
81
62
|
* 清理参数中的敏感信息,用于日志记录
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-wrapper.js","sourceRoot":"","sources":["../../src/utils/tool-wrapper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tool-wrapper.js","sourceRoot":"","sources":["../../src/utils/tool-wrapper.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloudbase/cloudbase-mcp",
|
|
3
|
-
"version": "1.8.
|
|
3
|
+
"version": "1.8.3",
|
|
4
4
|
"description": "腾讯云开发 MCP Server,支持静态托管/环境查询/",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"@cloudbase/manager-node": "^4.2.10",
|
|
44
44
|
"@cloudbase/mcp": "^1.0.0-beta.25",
|
|
45
45
|
"@cloudbase/toolbox": "^0.7.5",
|
|
46
|
-
"@modelcontextprotocol/sdk": "1.
|
|
46
|
+
"@modelcontextprotocol/sdk": "1.13.1",
|
|
47
47
|
"@types/unzipper": "^0.10.11",
|
|
48
48
|
"cors": "^2.8.5",
|
|
49
49
|
"express": "^5.1.0",
|