dsh-mcp 1.3.0 → 1.5.0
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/CHANGELOG.en.md +31 -0
- package/CHANGELOG.md +31 -0
- package/README.en.md +72 -7
- package/README.md +60 -6
- package/lib/client.js +899 -284
- package/lib/index.js +340 -12
- package/lib/oauth.js +170 -50
- package/package.json +1 -1
- package/src/client/GlobalEnvEditor.module.css +204 -0
- package/src/client/GlobalEnvEditor.tsx +254 -0
- package/src/client/McpSettingsSection.module.css +67 -0
- package/src/client/McpSettingsSection.tsx +82 -18
- package/src/client/ServerForm.module.css +0 -47
- package/src/client/ServerForm.tsx +1 -55
- package/src/client/ServersJsonEditor.module.css +90 -0
- package/src/client/ServersJsonEditor.tsx +226 -0
- package/src/client/index.ts +21 -3
- package/src/client/locales.ts +54 -4
- package/src/client/mcp-store.ts +4 -43
- package/src/client/remote-contribution.js +163 -2
- package/src/client/types.ts +2 -0
- package/static/snapshot.en.jpg +0 -0
- package/static/snapshot.en.webp +0 -0
- package/static/snapshot.jpg +0 -0
- package/static/snapshot.webp +0 -0
|
@@ -32,6 +32,7 @@ const _deepseek_ai_dsh_mcp_manager_mcpManager_list_result$schema = z.object({
|
|
|
32
32
|
'name': z.string().readonly(),
|
|
33
33
|
'secret': z.boolean().readonly(),
|
|
34
34
|
'configured': z.boolean().readonly(),
|
|
35
|
+
'value': z.string().readonly().optional(),
|
|
35
36
|
})).readonly(),
|
|
36
37
|
'toolCallTimeoutMs': z.number().readonly(),
|
|
37
38
|
'failOnStartupError': z.boolean().readonly(),
|
|
@@ -63,7 +64,7 @@ const _deepseek_ai_dsh_mcp_manager_mcpManager_test_parameter_0$schema = z.object
|
|
|
63
64
|
'name': z.string().readonly(),
|
|
64
65
|
'secret': z.boolean().readonly(),
|
|
65
66
|
'value': z.string().readonly().optional(),
|
|
66
|
-
})).readonly(),
|
|
67
|
+
})).readonly().optional(),
|
|
67
68
|
})
|
|
68
69
|
const _deepseek_ai_dsh_mcp_manager_mcpManager_test_result$schema = z.object({
|
|
69
70
|
'ok': z.literal(true).readonly(),
|
|
@@ -100,7 +101,7 @@ const _deepseek_ai_dsh_mcp_manager_mcpManager_upsert_parameter_0$schema = z.obje
|
|
|
100
101
|
'name': z.string().readonly(),
|
|
101
102
|
'secret': z.boolean().readonly(),
|
|
102
103
|
'value': z.string().readonly().optional(),
|
|
103
|
-
})).readonly(),
|
|
104
|
+
})).readonly().optional(),
|
|
104
105
|
})
|
|
105
106
|
const _deepseek_ai_dsh_mcp_manager_mcpManager_upsert_result$schema = z.union([z.object({
|
|
106
107
|
'ok': z.literal(true).readonly(),
|
|
@@ -121,6 +122,7 @@ const _deepseek_ai_dsh_mcp_manager_mcpManager_upsert_result$schema = z.union([z.
|
|
|
121
122
|
'name': z.string().readonly(),
|
|
122
123
|
'secret': z.boolean().readonly(),
|
|
123
124
|
'configured': z.boolean().readonly(),
|
|
125
|
+
'value': z.string().readonly().optional(),
|
|
124
126
|
})).readonly(),
|
|
125
127
|
'toolCallTimeoutMs': z.number().readonly(),
|
|
126
128
|
'failOnStartupError': z.boolean().readonly(),
|
|
@@ -137,6 +139,69 @@ const _deepseek_ai_dsh_mcp_manager_mcpManager_upsert_result$schema = z.union([z.
|
|
|
137
139
|
'message': z.string().readonly(),
|
|
138
140
|
}).readonly(),
|
|
139
141
|
})])
|
|
142
|
+
const _deepseek_ai_dsh_mcp_manager_mcpManager_upsertJson_parameter_0$schema = z.object({
|
|
143
|
+
'servers': z.array(z.object({
|
|
144
|
+
'server': z.object({
|
|
145
|
+
'serverName': z.string().readonly(),
|
|
146
|
+
'transport': z.union([z.literal("stdio"), z.literal("streamable-http")]).readonly(),
|
|
147
|
+
'enabled': z.boolean().readonly().optional(),
|
|
148
|
+
'command': z.string().readonly().optional(),
|
|
149
|
+
'args': z.array(z.string()).readonly().optional(),
|
|
150
|
+
'cwd': z.string().readonly().optional(),
|
|
151
|
+
'url': z.string().readonly().optional(),
|
|
152
|
+
'headers': z.union([z.record(z.string(), z.string()), z.array(z.object({
|
|
153
|
+
'name': z.string().readonly(),
|
|
154
|
+
'value': z.string().readonly(),
|
|
155
|
+
})).readonly()]).readonly().optional(),
|
|
156
|
+
'toolCallTimeoutMs': z.number().readonly().optional(),
|
|
157
|
+
'failOnStartupError': z.boolean().readonly().optional(),
|
|
158
|
+
}).readonly(),
|
|
159
|
+
'env': z.array(z.object({
|
|
160
|
+
'name': z.string().readonly(),
|
|
161
|
+
'secret': z.boolean().readonly().optional(),
|
|
162
|
+
'value': z.string().readonly().optional(),
|
|
163
|
+
})).readonly().optional(),
|
|
164
|
+
})).readonly(),
|
|
165
|
+
})
|
|
166
|
+
const _deepseek_ai_dsh_mcp_manager_mcpManager_upsertJson_result$schema = z.union([z.object({
|
|
167
|
+
'ok': z.literal(true).readonly(),
|
|
168
|
+
'added': z.number().readonly(),
|
|
169
|
+
'updated': z.number().readonly(),
|
|
170
|
+
'removed': z.number().readonly(),
|
|
171
|
+
'servers': z.array(z.object({
|
|
172
|
+
'id': z.intersection(z.string(), z.unknown()).readonly(),
|
|
173
|
+
'serverName': z.string().readonly(),
|
|
174
|
+
'transport': z.union([z.literal("stdio"), z.literal("streamable-http")]).readonly(),
|
|
175
|
+
'enabled': z.boolean().readonly(),
|
|
176
|
+
'command': z.string().readonly(),
|
|
177
|
+
'args': z.array(z.string()).readonly(),
|
|
178
|
+
'cwd': z.string().readonly(),
|
|
179
|
+
'url': z.string().readonly(),
|
|
180
|
+
'headers': z.array(z.object({
|
|
181
|
+
'name': z.string().readonly(),
|
|
182
|
+
'value': z.string().readonly(),
|
|
183
|
+
})).readonly(),
|
|
184
|
+
'env': z.array(z.object({
|
|
185
|
+
'name': z.string().readonly(),
|
|
186
|
+
'secret': z.boolean().readonly(),
|
|
187
|
+
'configured': z.boolean().readonly(),
|
|
188
|
+
'value': z.string().readonly().optional(),
|
|
189
|
+
})).readonly(),
|
|
190
|
+
'toolCallTimeoutMs': z.number().readonly(),
|
|
191
|
+
'failOnStartupError': z.boolean().readonly(),
|
|
192
|
+
'status': z.object({
|
|
193
|
+
'phase': z.union([z.literal("failed"), z.literal("stopped"), z.literal("mounting"), z.literal("live")]).readonly(),
|
|
194
|
+
'tools': z.array(z.string()).readonly(),
|
|
195
|
+
'error': z.string().readonly().optional(),
|
|
196
|
+
}).readonly(),
|
|
197
|
+
})).readonly(),
|
|
198
|
+
}), z.object({
|
|
199
|
+
'ok': z.literal(false).readonly(),
|
|
200
|
+
'error': z.object({
|
|
201
|
+
'code': z.union([z.literal("MCP_SERVER_NOT_FOUND"), z.literal("MCP_SERVER_NAME_CONFLICT"), z.literal("MCP_INVALID_SPEC"), z.literal("MCP_MOUNT_FAILED")]).readonly(),
|
|
202
|
+
'message': z.string().readonly(),
|
|
203
|
+
}).readonly(),
|
|
204
|
+
})])
|
|
140
205
|
const _deepseek_ai_dsh_mcp_manager_mcpManager_toolsList_result$schema = z.object({
|
|
141
206
|
'ok': z.literal(true).readonly(),
|
|
142
207
|
'tools': z.array(z.object({
|
|
@@ -174,6 +239,37 @@ const _deepseek_ai_dsh_mcp_manager_mcpManager_toolsMode_result$schema = z.union(
|
|
|
174
239
|
'message': z.string().readonly(),
|
|
175
240
|
}).readonly(),
|
|
176
241
|
})])
|
|
242
|
+
const _deepseek_ai_dsh_mcp_manager_mcpManager_envList_result$schema = z.object({
|
|
243
|
+
'ok': z.literal(true).readonly(),
|
|
244
|
+
'vars': z.array(z.object({
|
|
245
|
+
'name': z.string().readonly(),
|
|
246
|
+
'secret': z.boolean().readonly(),
|
|
247
|
+
'configured': z.boolean().readonly(),
|
|
248
|
+
'value': z.string().readonly().optional(),
|
|
249
|
+
})).readonly(),
|
|
250
|
+
})
|
|
251
|
+
const _deepseek_ai_dsh_mcp_manager_mcpManager_envSet_parameter_0$schema = z.object({
|
|
252
|
+
'vars': z.array(z.object({
|
|
253
|
+
'name': z.string().readonly(),
|
|
254
|
+
'secret': z.boolean().readonly().optional(),
|
|
255
|
+
'value': z.string().readonly().optional(),
|
|
256
|
+
})).readonly(),
|
|
257
|
+
})
|
|
258
|
+
const _deepseek_ai_dsh_mcp_manager_mcpManager_envSet_result$schema = z.union([z.object({
|
|
259
|
+
'ok': z.literal(true).readonly(),
|
|
260
|
+
'vars': z.array(z.object({
|
|
261
|
+
'name': z.string().readonly(),
|
|
262
|
+
'secret': z.boolean().readonly(),
|
|
263
|
+
'configured': z.boolean().readonly(),
|
|
264
|
+
'value': z.string().readonly().optional(),
|
|
265
|
+
})).readonly(),
|
|
266
|
+
}), z.object({
|
|
267
|
+
'ok': z.literal(false).readonly(),
|
|
268
|
+
'error': z.object({
|
|
269
|
+
'code': z.union([z.literal("MCP_INVALID_SPEC")]).readonly(),
|
|
270
|
+
'message': z.string().readonly(),
|
|
271
|
+
}).readonly(),
|
|
272
|
+
})])
|
|
177
273
|
|
|
178
274
|
export const TYPERT_REMOTE = {
|
|
179
275
|
package: '@deepseek-ai/dsh-mcp-manager',
|
|
@@ -268,6 +364,31 @@ export const TYPERT_REMOTE = {
|
|
|
268
364
|
},
|
|
269
365
|
sourceLocation: {"file":"packages/mcp/mcp-manager/src/index.ts","line":329,"column":9},
|
|
270
366
|
},
|
|
367
|
+
{
|
|
368
|
+
id: '@deepseek-ai/dsh-mcp-manager#mcpManager/upsertJson',
|
|
369
|
+
service: 'mcpManager',
|
|
370
|
+
namespace: 'mcpManager',
|
|
371
|
+
method: 'upsertJson',
|
|
372
|
+
invocation: { kind: 'direct' },
|
|
373
|
+
parameters: [
|
|
374
|
+
{
|
|
375
|
+
name: 'request',
|
|
376
|
+
wire: 'request',
|
|
377
|
+
source: 'json',
|
|
378
|
+
codec: {
|
|
379
|
+
mode: 'strict',
|
|
380
|
+
typeSymbol: '@deepseek-ai/dsh-mcp-manager/types#McpManagerUpsertJsonRequest',
|
|
381
|
+
schema: _deepseek_ai_dsh_mcp_manager_mcpManager_upsertJson_parameter_0$schema,
|
|
382
|
+
},
|
|
383
|
+
},
|
|
384
|
+
],
|
|
385
|
+
result: {
|
|
386
|
+
mode: 'strict',
|
|
387
|
+
typeSymbol: '@deepseek-ai/dsh-mcp-manager/types#McpManagerUpsertJsonResult',
|
|
388
|
+
schema: _deepseek_ai_dsh_mcp_manager_mcpManager_upsertJson_result$schema,
|
|
389
|
+
},
|
|
390
|
+
sourceLocation: {"file":"lib/index.js"},
|
|
391
|
+
},
|
|
271
392
|
{
|
|
272
393
|
id: '@deepseek-ai/dsh-mcp-manager#mcpManager/toolsList',
|
|
273
394
|
service: 'mcpManager',
|
|
@@ -333,6 +454,46 @@ export const TYPERT_REMOTE = {
|
|
|
333
454
|
},
|
|
334
455
|
sourceLocation: {"file":"lib/index.js"},
|
|
335
456
|
},
|
|
457
|
+
{
|
|
458
|
+
id: '@deepseek-ai/dsh-mcp-manager#mcpManager/envList',
|
|
459
|
+
service: 'mcpManager',
|
|
460
|
+
namespace: 'mcpManager',
|
|
461
|
+
method: 'envList',
|
|
462
|
+
invocation: { kind: 'direct' },
|
|
463
|
+
parameters: [
|
|
464
|
+
],
|
|
465
|
+
result: {
|
|
466
|
+
mode: 'strict',
|
|
467
|
+
typeSymbol: '@deepseek-ai/dsh-mcp-manager/types#McpManagerEnvListResult',
|
|
468
|
+
schema: _deepseek_ai_dsh_mcp_manager_mcpManager_envList_result$schema,
|
|
469
|
+
},
|
|
470
|
+
sourceLocation: {"file":"lib/index.js"},
|
|
471
|
+
},
|
|
472
|
+
{
|
|
473
|
+
id: '@deepseek-ai/dsh-mcp-manager#mcpManager/envSet',
|
|
474
|
+
service: 'mcpManager',
|
|
475
|
+
namespace: 'mcpManager',
|
|
476
|
+
method: 'envSet',
|
|
477
|
+
invocation: { kind: 'direct' },
|
|
478
|
+
parameters: [
|
|
479
|
+
{
|
|
480
|
+
name: 'request',
|
|
481
|
+
wire: 'request',
|
|
482
|
+
source: 'json',
|
|
483
|
+
codec: {
|
|
484
|
+
mode: 'strict',
|
|
485
|
+
typeSymbol: '@deepseek-ai/dsh-mcp-manager/types#McpManagerEnvSetRequest',
|
|
486
|
+
schema: _deepseek_ai_dsh_mcp_manager_mcpManager_envSet_parameter_0$schema,
|
|
487
|
+
},
|
|
488
|
+
},
|
|
489
|
+
],
|
|
490
|
+
result: {
|
|
491
|
+
mode: 'strict',
|
|
492
|
+
typeSymbol: '@deepseek-ai/dsh-mcp-manager/types#McpManagerEnvSetResult',
|
|
493
|
+
schema: _deepseek_ai_dsh_mcp_manager_mcpManager_envSet_result$schema,
|
|
494
|
+
},
|
|
495
|
+
sourceLocation: {"file":"lib/index.js"},
|
|
496
|
+
},
|
|
336
497
|
],
|
|
337
498
|
}
|
|
338
499
|
|
package/src/client/types.ts
CHANGED
|
@@ -52,6 +52,8 @@ export interface McpEnvVarView {
|
|
|
52
52
|
readonly name: string
|
|
53
53
|
readonly secret: boolean
|
|
54
54
|
readonly configured: boolean
|
|
55
|
+
/** Plain-text value of a non-secret env var (secret values never leave the Host). */
|
|
56
|
+
readonly value?: string
|
|
55
57
|
}
|
|
56
58
|
|
|
57
59
|
/** Lifecycle phase of one managed server's live mount. */
|
|
Binary file
|
package/static/snapshot.en.webp
CHANGED
|
Binary file
|
|
Binary file
|
package/static/snapshot.webp
CHANGED
|
Binary file
|