@cloudbase/cloudbase-mcp 2.34.8 → 2.35.1
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/README.md +1 -1
- package/README.zh-CN.md +1 -1
- package/dist/931.index.cjs +0 -233
- package/dist/cli.cjs +3 -3
- package/dist/index.cjs +5119 -1874
- package/dist/index.d.ts +93 -2
- package/dist/index.js +1361 -1607
- package/package.json +12 -9
- package/server.json +2 -2
package/README.md
CHANGED
|
@@ -63,7 +63,7 @@ You need a [CloudBase environment](https://tcb.cloud.tencent.com/dev) and should
|
|
|
63
63
|
| Official MCP Registry `io.github.TencentCloudBase/cloudbase-mcp` | Discover via [registry search=cloudbase](https://registry.modelcontextprotocol.io/v0/servers?search=cloudbase) |
|
|
64
64
|
| `npx plugins add TencentCloudBase/cloudbase-plugin` | Open Plugin Spec tools |
|
|
65
65
|
| `npm i -g @cloudbase/cli && tcb ai` | [CloudBase AI CLI](https://docs.cloudbase.net/cli-v1/ai/introduce) configures many IDEs |
|
|
66
|
-
| Marketplace / built-in plugin | Claude Code, Codex, CodeBuddy, WorkBuddy, Kimi Code, Kimi Work, ZCode, etc. |
|
|
66
|
+
| Marketplace / built-in plugin | Claude Code, Codex, CodeBuddy, WorkBuddy, Doubao, MiniMax Code, DeepSeek Harness, Kimi Code, Kimi Work, ZCode, etc. |
|
|
67
67
|
|
|
68
68
|
## Connection modes
|
|
69
69
|
|
package/README.zh-CN.md
CHANGED
|
@@ -63,7 +63,7 @@ IDE 支持时优先用 Plugin;只需 MCP 配置时用本包即可。
|
|
|
63
63
|
| Official MCP Registry `io.github.TencentCloudBase/cloudbase-mcp` | [registry search=cloudbase](https://registry.modelcontextprotocol.io/v0/servers?search=cloudbase) 发现 |
|
|
64
64
|
| `npx plugins add TencentCloudBase/cloudbase-plugin` | 支持 Open Plugin Spec 的工具 |
|
|
65
65
|
| `npm i -g @cloudbase/cli && tcb ai` | [CloudBase AI CLI](https://docs.cloudbase.net/cli-v1/ai/introduce) 统一配置多种 IDE |
|
|
66
|
-
| Marketplace / 内置插件 | Claude Code、Codex、CodeBuddy、WorkBuddy、Kimi Code、Kimi Work、ZCode 等 |
|
|
66
|
+
| Marketplace / 内置插件 | Claude Code、Codex、CodeBuddy、WorkBuddy、豆包、MiniMax Code、DeepSeek Harness、Kimi Code、Kimi Work、ZCode 等 |
|
|
67
67
|
|
|
68
68
|
## 连接方式
|
|
69
69
|
|
package/dist/931.index.cjs
CHANGED
|
@@ -918,239 +918,6 @@ function ContentDisposition (type, parameters) {
|
|
|
918
918
|
}
|
|
919
919
|
|
|
920
920
|
|
|
921
|
-
/***/ },
|
|
922
|
-
|
|
923
|
-
/***/ 22525
|
|
924
|
-
(__unused_webpack_module, exports) {
|
|
925
|
-
|
|
926
|
-
"use strict";
|
|
927
|
-
/*!
|
|
928
|
-
* content-type
|
|
929
|
-
* Copyright(c) 2015 Douglas Christopher Wilson
|
|
930
|
-
* MIT Licensed
|
|
931
|
-
*/
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
/**
|
|
936
|
-
* RegExp to match *( ";" parameter ) in RFC 7231 sec 3.1.1.1
|
|
937
|
-
*
|
|
938
|
-
* parameter = token "=" ( token / quoted-string )
|
|
939
|
-
* token = 1*tchar
|
|
940
|
-
* tchar = "!" / "#" / "$" / "%" / "&" / "'" / "*"
|
|
941
|
-
* / "+" / "-" / "." / "^" / "_" / "`" / "|" / "~"
|
|
942
|
-
* / DIGIT / ALPHA
|
|
943
|
-
* ; any VCHAR, except delimiters
|
|
944
|
-
* quoted-string = DQUOTE *( qdtext / quoted-pair ) DQUOTE
|
|
945
|
-
* qdtext = HTAB / SP / %x21 / %x23-5B / %x5D-7E / obs-text
|
|
946
|
-
* obs-text = %x80-FF
|
|
947
|
-
* quoted-pair = "\" ( HTAB / SP / VCHAR / obs-text )
|
|
948
|
-
*/
|
|
949
|
-
var PARAM_REGEXP = /; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g // eslint-disable-line no-control-regex
|
|
950
|
-
var TEXT_REGEXP = /^[\u000b\u0020-\u007e\u0080-\u00ff]+$/ // eslint-disable-line no-control-regex
|
|
951
|
-
var TOKEN_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/
|
|
952
|
-
|
|
953
|
-
/**
|
|
954
|
-
* RegExp to match quoted-pair in RFC 7230 sec 3.2.6
|
|
955
|
-
*
|
|
956
|
-
* quoted-pair = "\" ( HTAB / SP / VCHAR / obs-text )
|
|
957
|
-
* obs-text = %x80-FF
|
|
958
|
-
*/
|
|
959
|
-
var QESC_REGEXP = /\\([\u000b\u0020-\u00ff])/g // eslint-disable-line no-control-regex
|
|
960
|
-
|
|
961
|
-
/**
|
|
962
|
-
* RegExp to match chars that must be quoted-pair in RFC 7230 sec 3.2.6
|
|
963
|
-
*/
|
|
964
|
-
var QUOTE_REGEXP = /([\\"])/g
|
|
965
|
-
|
|
966
|
-
/**
|
|
967
|
-
* RegExp to match type in RFC 7231 sec 3.1.1.1
|
|
968
|
-
*
|
|
969
|
-
* media-type = type "/" subtype
|
|
970
|
-
* type = token
|
|
971
|
-
* subtype = token
|
|
972
|
-
*/
|
|
973
|
-
var TYPE_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/
|
|
974
|
-
|
|
975
|
-
/**
|
|
976
|
-
* Module exports.
|
|
977
|
-
* @public
|
|
978
|
-
*/
|
|
979
|
-
|
|
980
|
-
exports.format = format
|
|
981
|
-
exports.parse = parse
|
|
982
|
-
|
|
983
|
-
/**
|
|
984
|
-
* Format object to media type.
|
|
985
|
-
*
|
|
986
|
-
* @param {object} obj
|
|
987
|
-
* @return {string}
|
|
988
|
-
* @public
|
|
989
|
-
*/
|
|
990
|
-
|
|
991
|
-
function format (obj) {
|
|
992
|
-
if (!obj || typeof obj !== 'object') {
|
|
993
|
-
throw new TypeError('argument obj is required')
|
|
994
|
-
}
|
|
995
|
-
|
|
996
|
-
var parameters = obj.parameters
|
|
997
|
-
var type = obj.type
|
|
998
|
-
|
|
999
|
-
if (!type || !TYPE_REGEXP.test(type)) {
|
|
1000
|
-
throw new TypeError('invalid type')
|
|
1001
|
-
}
|
|
1002
|
-
|
|
1003
|
-
var string = type
|
|
1004
|
-
|
|
1005
|
-
// append parameters
|
|
1006
|
-
if (parameters && typeof parameters === 'object') {
|
|
1007
|
-
var param
|
|
1008
|
-
var params = Object.keys(parameters).sort()
|
|
1009
|
-
|
|
1010
|
-
for (var i = 0; i < params.length; i++) {
|
|
1011
|
-
param = params[i]
|
|
1012
|
-
|
|
1013
|
-
if (!TOKEN_REGEXP.test(param)) {
|
|
1014
|
-
throw new TypeError('invalid parameter name')
|
|
1015
|
-
}
|
|
1016
|
-
|
|
1017
|
-
string += '; ' + param + '=' + qstring(parameters[param])
|
|
1018
|
-
}
|
|
1019
|
-
}
|
|
1020
|
-
|
|
1021
|
-
return string
|
|
1022
|
-
}
|
|
1023
|
-
|
|
1024
|
-
/**
|
|
1025
|
-
* Parse media type to object.
|
|
1026
|
-
*
|
|
1027
|
-
* @param {string|object} string
|
|
1028
|
-
* @return {Object}
|
|
1029
|
-
* @public
|
|
1030
|
-
*/
|
|
1031
|
-
|
|
1032
|
-
function parse (string) {
|
|
1033
|
-
if (!string) {
|
|
1034
|
-
throw new TypeError('argument string is required')
|
|
1035
|
-
}
|
|
1036
|
-
|
|
1037
|
-
// support req/res-like objects as argument
|
|
1038
|
-
var header = typeof string === 'object'
|
|
1039
|
-
? getcontenttype(string)
|
|
1040
|
-
: string
|
|
1041
|
-
|
|
1042
|
-
if (typeof header !== 'string') {
|
|
1043
|
-
throw new TypeError('argument string is required to be a string')
|
|
1044
|
-
}
|
|
1045
|
-
|
|
1046
|
-
var index = header.indexOf(';')
|
|
1047
|
-
var type = index !== -1
|
|
1048
|
-
? header.slice(0, index).trim()
|
|
1049
|
-
: header.trim()
|
|
1050
|
-
|
|
1051
|
-
if (!TYPE_REGEXP.test(type)) {
|
|
1052
|
-
throw new TypeError('invalid media type')
|
|
1053
|
-
}
|
|
1054
|
-
|
|
1055
|
-
var obj = new ContentType(type.toLowerCase())
|
|
1056
|
-
|
|
1057
|
-
// parse parameters
|
|
1058
|
-
if (index !== -1) {
|
|
1059
|
-
var key
|
|
1060
|
-
var match
|
|
1061
|
-
var value
|
|
1062
|
-
|
|
1063
|
-
PARAM_REGEXP.lastIndex = index
|
|
1064
|
-
|
|
1065
|
-
while ((match = PARAM_REGEXP.exec(header))) {
|
|
1066
|
-
if (match.index !== index) {
|
|
1067
|
-
throw new TypeError('invalid parameter format')
|
|
1068
|
-
}
|
|
1069
|
-
|
|
1070
|
-
index += match[0].length
|
|
1071
|
-
key = match[1].toLowerCase()
|
|
1072
|
-
value = match[2]
|
|
1073
|
-
|
|
1074
|
-
if (value.charCodeAt(0) === 0x22 /* " */) {
|
|
1075
|
-
// remove quotes
|
|
1076
|
-
value = value.slice(1, -1)
|
|
1077
|
-
|
|
1078
|
-
// remove escapes
|
|
1079
|
-
if (value.indexOf('\\') !== -1) {
|
|
1080
|
-
value = value.replace(QESC_REGEXP, '$1')
|
|
1081
|
-
}
|
|
1082
|
-
}
|
|
1083
|
-
|
|
1084
|
-
obj.parameters[key] = value
|
|
1085
|
-
}
|
|
1086
|
-
|
|
1087
|
-
if (index !== header.length) {
|
|
1088
|
-
throw new TypeError('invalid parameter format')
|
|
1089
|
-
}
|
|
1090
|
-
}
|
|
1091
|
-
|
|
1092
|
-
return obj
|
|
1093
|
-
}
|
|
1094
|
-
|
|
1095
|
-
/**
|
|
1096
|
-
* Get content-type from req/res objects.
|
|
1097
|
-
*
|
|
1098
|
-
* @param {object}
|
|
1099
|
-
* @return {Object}
|
|
1100
|
-
* @private
|
|
1101
|
-
*/
|
|
1102
|
-
|
|
1103
|
-
function getcontenttype (obj) {
|
|
1104
|
-
var header
|
|
1105
|
-
|
|
1106
|
-
if (typeof obj.getHeader === 'function') {
|
|
1107
|
-
// res-like
|
|
1108
|
-
header = obj.getHeader('content-type')
|
|
1109
|
-
} else if (typeof obj.headers === 'object') {
|
|
1110
|
-
// req-like
|
|
1111
|
-
header = obj.headers && obj.headers['content-type']
|
|
1112
|
-
}
|
|
1113
|
-
|
|
1114
|
-
if (typeof header !== 'string') {
|
|
1115
|
-
throw new TypeError('content-type header is missing from object')
|
|
1116
|
-
}
|
|
1117
|
-
|
|
1118
|
-
return header
|
|
1119
|
-
}
|
|
1120
|
-
|
|
1121
|
-
/**
|
|
1122
|
-
* Quote a string if necessary.
|
|
1123
|
-
*
|
|
1124
|
-
* @param {string} val
|
|
1125
|
-
* @return {string}
|
|
1126
|
-
* @private
|
|
1127
|
-
*/
|
|
1128
|
-
|
|
1129
|
-
function qstring (val) {
|
|
1130
|
-
var str = String(val)
|
|
1131
|
-
|
|
1132
|
-
// no need to quote tokens
|
|
1133
|
-
if (TOKEN_REGEXP.test(str)) {
|
|
1134
|
-
return str
|
|
1135
|
-
}
|
|
1136
|
-
|
|
1137
|
-
if (str.length > 0 && !TEXT_REGEXP.test(str)) {
|
|
1138
|
-
throw new TypeError('invalid parameter value')
|
|
1139
|
-
}
|
|
1140
|
-
|
|
1141
|
-
return '"' + str.replace(QUOTE_REGEXP, '\\$1') + '"'
|
|
1142
|
-
}
|
|
1143
|
-
|
|
1144
|
-
/**
|
|
1145
|
-
* Class to represent a content type.
|
|
1146
|
-
* @private
|
|
1147
|
-
*/
|
|
1148
|
-
function ContentType (type) {
|
|
1149
|
-
this.parameters = Object.create(null)
|
|
1150
|
-
this.type = type
|
|
1151
|
-
}
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
921
|
/***/ },
|
|
1155
922
|
|
|
1156
923
|
/***/ 51618
|