@1mcp/agent 0.31.0-beta3 → 0.32.0-beta1
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 +104 -143
- package/build/auth/sdkOAuthClientProvider.d.ts +1 -0
- package/build/auth/sdkOAuthClientProvider.d.ts.map +1 -1
- package/build/auth/sdkOAuthClientProvider.js +4 -2
- package/build/auth/sdkOAuthClientProvider.js.map +1 -1
- package/build/commands/inspect/inspect.d.ts.map +1 -1
- package/build/commands/inspect/inspect.js +2 -1
- package/build/commands/inspect/inspect.js.map +1 -1
- package/build/commands/mcp/add.d.ts.map +1 -1
- package/build/commands/mcp/add.js +1 -3
- package/build/commands/mcp/add.js.map +1 -1
- package/build/commands/mcp/enable.d.ts.map +1 -1
- package/build/commands/mcp/enable.js +39 -80
- package/build/commands/mcp/enable.js.map +1 -1
- package/build/commands/mcp/index.d.ts.map +1 -1
- package/build/commands/mcp/index.js +3 -2
- package/build/commands/mcp/index.js.map +1 -1
- package/build/commands/mcp/install.d.ts.map +1 -1
- package/build/commands/mcp/install.js +6 -10
- package/build/commands/mcp/install.js.map +1 -1
- package/build/commands/mcp/remove.d.ts.map +1 -1
- package/build/commands/mcp/remove.js +1 -3
- package/build/commands/mcp/remove.js.map +1 -1
- package/build/commands/mcp/tokens.d.ts.map +1 -1
- package/build/commands/mcp/tokens.js +1 -1
- package/build/commands/mcp/tokens.js.map +1 -1
- package/build/commands/mcp/tools.d.ts +30 -0
- package/build/commands/mcp/tools.d.ts.map +1 -0
- package/build/commands/mcp/tools.js +422 -0
- package/build/commands/mcp/tools.js.map +1 -0
- package/build/commands/mcp/uninstall.d.ts.map +1 -1
- package/build/commands/mcp/uninstall.js +1 -3
- package/build/commands/mcp/uninstall.js.map +1 -1
- package/build/commands/mcp/update.d.ts.map +1 -1
- package/build/commands/mcp/update.js +1 -3
- package/build/commands/mcp/update.js.map +1 -1
- package/build/commands/shared/baseConfigUtils.d.ts +30 -0
- package/build/commands/shared/baseConfigUtils.d.ts.map +1 -1
- package/build/commands/shared/baseConfigUtils.js +136 -2
- package/build/commands/shared/baseConfigUtils.js.map +1 -1
- package/build/commands/shared/connectionHelper.d.ts +2 -0
- package/build/commands/shared/connectionHelper.d.ts.map +1 -1
- package/build/commands/shared/connectionHelper.js +77 -58
- package/build/commands/shared/connectionHelper.js.map +1 -1
- package/build/config/configManager.d.ts.map +1 -1
- package/build/config/configManager.js +2 -0
- package/build/config/configManager.js.map +1 -1
- package/build/config/configWatcher.d.ts +3 -0
- package/build/config/configWatcher.d.ts.map +1 -1
- package/build/config/configWatcher.js +43 -15
- package/build/config/configWatcher.js.map +1 -1
- package/build/config/mcpConfigManager.d.ts.map +1 -1
- package/build/config/mcpConfigManager.js +4 -0
- package/build/config/mcpConfigManager.js.map +1 -1
- package/build/constants/mcp.d.ts +1 -1
- package/build/constants/mcp.js +1 -1
- package/build/core/capabilities/capabilityAggregator.d.ts.map +1 -1
- package/build/core/capabilities/capabilityAggregator.js +5 -1
- package/build/core/capabilities/capabilityAggregator.js.map +1 -1
- package/build/core/capabilities/capabilityManager.d.ts +3 -0
- package/build/core/capabilities/capabilityManager.d.ts.map +1 -1
- package/build/core/capabilities/lazyLoadingOrchestrator.d.ts.map +1 -1
- package/build/core/capabilities/lazyLoadingOrchestrator.js +5 -2
- package/build/core/capabilities/lazyLoadingOrchestrator.js.map +1 -1
- package/build/core/capabilities/metaToolProvider.d.ts +2 -0
- package/build/core/capabilities/metaToolProvider.d.ts.map +1 -1
- package/build/core/capabilities/metaToolProvider.js +32 -34
- package/build/core/capabilities/metaToolProvider.js.map +1 -1
- package/build/core/protocol/requestHandlers.d.ts.map +1 -1
- package/build/core/protocol/requestHandlers.js +22 -1
- package/build/core/protocol/requestHandlers.js.map +1 -1
- package/build/core/server/disabledTools.d.ts +13 -0
- package/build/core/server/disabledTools.d.ts.map +1 -0
- package/build/core/server/disabledTools.js +93 -0
- package/build/core/server/disabledTools.js.map +1 -0
- package/build/core/tools/handlers/serverManagementHandler.d.ts +5 -0
- package/build/core/tools/handlers/serverManagementHandler.d.ts.map +1 -1
- package/build/core/tools/handlers/serverManagementHandler.js +3 -0
- package/build/core/tools/handlers/serverManagementHandler.js.map +1 -1
- package/build/core/tools/internal/adapters/helpers/configTransformers.d.ts +1 -0
- package/build/core/tools/internal/adapters/helpers/configTransformers.d.ts.map +1 -1
- package/build/core/tools/internal/adapters/management/managementAdapter.d.ts.map +1 -1
- package/build/core/tools/internal/adapters/management/managementAdapter.js +10 -3
- package/build/core/tools/internal/adapters/management/managementAdapter.js.map +1 -1
- package/build/core/types/transport.d.ts +5 -0
- package/build/core/types/transport.d.ts.map +1 -1
- package/build/core/types/transport.js +4 -0
- package/build/core/types/transport.js.map +1 -1
- package/build/transport/http/routes/inspectRoutes.d.ts +2 -1
- package/build/transport/http/routes/inspectRoutes.d.ts.map +1 -1
- package/build/transport/http/routes/inspectRoutes.js +16 -5
- package/build/transport/http/routes/inspectRoutes.js.map +1 -1
- package/build/transport/http/routes/toolRoutes.d.ts.map +1 -1
- package/build/transport/http/routes/toolRoutes.js +17 -30
- package/build/transport/http/routes/toolRoutes.js.map +1 -1
- package/package.json +2 -2
- package/build/commands/mcp/utils/connectionHelper.d.ts +0 -29
- package/build/commands/mcp/utils/connectionHelper.d.ts.map +0 -1
- package/build/commands/mcp/utils/connectionHelper.js +0 -162
- package/build/commands/mcp/utils/connectionHelper.js.map +0 -1
|
@@ -0,0 +1,422 @@
|
|
|
1
|
+
import { TokenEstimationService } from '../../application/services/tokenEstimationService.js';
|
|
2
|
+
import { McpConnectionHelper } from '../../commands/shared/connectionHelper.js';
|
|
3
|
+
import { getDisabledTools, isToolDisabled, withToolDisabledState } from '../../core/server/disabledTools.js';
|
|
4
|
+
import { globalOptions } from '../../globalOptions.js';
|
|
5
|
+
import printer from '../../utils/ui/printer.js';
|
|
6
|
+
import prompts from 'prompts';
|
|
7
|
+
import { backupConfig, getAllServerTargets, getEffectiveServerTargetConfig, initializeConfigContext, resolveServerTarget, serverTargetExists, setResolvedServerTarget, validateConfigPath, } from './utils/mcpServerConfig.js';
|
|
8
|
+
import { validateServerName } from './utils/validation.js';
|
|
9
|
+
const DEFAULT_MODEL = 'gpt-4o';
|
|
10
|
+
function getInteractiveCommandDependencies() {
|
|
11
|
+
return {
|
|
12
|
+
connectionHelperFactory: () => new McpConnectionHelper(),
|
|
13
|
+
tokenServiceFactory: (model) => new TokenEstimationService(model),
|
|
14
|
+
isInteractiveTerminal: () => Boolean(process.stdin.isTTY && process.stdout.isTTY),
|
|
15
|
+
prompt: prompts,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
function validateToolName(toolName) {
|
|
19
|
+
if (!toolName.trim()) {
|
|
20
|
+
throw new Error('Tool name cannot be empty.');
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
function printVerificationStep(serverName) {
|
|
24
|
+
printer.info(`Next: run '1mcp mcp tools list ${serverName} --disabled' to verify the current disabled tools.`);
|
|
25
|
+
}
|
|
26
|
+
function printRuntimeReloadNote() {
|
|
27
|
+
printer.info('Running 1MCP serve instances reload mcp.json changes automatically when config reload is enabled.');
|
|
28
|
+
}
|
|
29
|
+
function getSortedServerEntries(server) {
|
|
30
|
+
const allServers = getAllServerTargets();
|
|
31
|
+
return Object.entries(allServers)
|
|
32
|
+
.filter(([serverName]) => !server || serverName === server)
|
|
33
|
+
.sort(([left], [right]) => left.localeCompare(right));
|
|
34
|
+
}
|
|
35
|
+
function buildServerChoices(servers) {
|
|
36
|
+
return servers.map(([serverName, serverConfig]) => {
|
|
37
|
+
const disabledTools = getDisabledTools(serverConfig);
|
|
38
|
+
const status = serverConfig.disabled ? 'server disabled' : 'server enabled';
|
|
39
|
+
const disabledSuffix = disabledTools.length > 0 ? `, ${disabledTools.length} tools disabled` : '';
|
|
40
|
+
return {
|
|
41
|
+
title: serverName,
|
|
42
|
+
value: serverName,
|
|
43
|
+
description: `${status}${disabledSuffix}`,
|
|
44
|
+
};
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
function buildToolChoices(allToolTokens, isToolDisabled) {
|
|
48
|
+
return allToolTokens.map((toolInfo) => ({
|
|
49
|
+
title: `${toolInfo.name} (~${toolInfo.tokens} tokens)`,
|
|
50
|
+
value: toolInfo.name,
|
|
51
|
+
selected: !isToolDisabled(toolInfo.name),
|
|
52
|
+
description: toolInfo.description,
|
|
53
|
+
}));
|
|
54
|
+
}
|
|
55
|
+
function getSortedToolTokens(toolInfos) {
|
|
56
|
+
return [...toolInfos].sort((left, right) => {
|
|
57
|
+
if (right.tokens !== left.tokens) {
|
|
58
|
+
return right.tokens - left.tokens;
|
|
59
|
+
}
|
|
60
|
+
return left.name.localeCompare(right.name);
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
function sumToolTokens(toolInfos) {
|
|
64
|
+
return toolInfos.reduce((sum, toolInfo) => sum + toolInfo.tokens, 0);
|
|
65
|
+
}
|
|
66
|
+
function formatPercent(savedTokens, totalTokensBefore) {
|
|
67
|
+
if (totalTokensBefore <= 0 || savedTokens <= 0) {
|
|
68
|
+
return '0';
|
|
69
|
+
}
|
|
70
|
+
return ((savedTokens / totalTokensBefore) * 100).toFixed(1).replace(/\.0$/, '');
|
|
71
|
+
}
|
|
72
|
+
function applyToolSelection(currentConfig, serverName, allToolNames, selectedToolNames) {
|
|
73
|
+
const selectedSet = new Set(selectedToolNames);
|
|
74
|
+
let nextConfig = currentConfig;
|
|
75
|
+
for (const toolName of allToolNames) {
|
|
76
|
+
nextConfig = withToolDisabledState(nextConfig, toolName, !selectedSet.has(toolName), serverName);
|
|
77
|
+
}
|
|
78
|
+
return nextConfig;
|
|
79
|
+
}
|
|
80
|
+
async function selectServer(prompt, servers) {
|
|
81
|
+
const serverChoices = buildServerChoices(servers);
|
|
82
|
+
const result = await prompt({
|
|
83
|
+
type: 'select',
|
|
84
|
+
name: 'server',
|
|
85
|
+
message: 'Select an MCP server to manage tools:',
|
|
86
|
+
choices: serverChoices,
|
|
87
|
+
initial: 0,
|
|
88
|
+
});
|
|
89
|
+
return result.server;
|
|
90
|
+
}
|
|
91
|
+
async function selectToolsForServer(prompt, selectedServer, storedServerConfig, allToolTokens) {
|
|
92
|
+
if (allToolTokens.length > 30) {
|
|
93
|
+
printer.info(`Tip: use '1mcp mcp tools disable ${selectedServer} <tool>' to disable specific tools by name without scrolling.`);
|
|
94
|
+
printer.blank();
|
|
95
|
+
}
|
|
96
|
+
const disabledTools = getDisabledTools(storedServerConfig);
|
|
97
|
+
const result = await prompt({
|
|
98
|
+
type: 'multiselect',
|
|
99
|
+
name: 'selected',
|
|
100
|
+
message: `Select enabled tools for '${selectedServer}' (space to toggle, enter to save):`,
|
|
101
|
+
choices: buildToolChoices(allToolTokens, createToolDisabledMatcher(disabledTools, selectedServer)),
|
|
102
|
+
hint: '- Space to toggle. Enter to save',
|
|
103
|
+
instructions: false,
|
|
104
|
+
});
|
|
105
|
+
return result.selected;
|
|
106
|
+
}
|
|
107
|
+
async function loadSelectableTools(selectedServer, serverConfig, tokenService, connectionHelperFactory) {
|
|
108
|
+
if (!serverConfig) {
|
|
109
|
+
throw new Error(`Server '${selectedServer}' could not be resolved to a runnable config. Check serverDefaults and template requirements before using interactive tools mode.`);
|
|
110
|
+
}
|
|
111
|
+
const connectionHelper = connectionHelperFactory();
|
|
112
|
+
try {
|
|
113
|
+
const [capabilities] = await connectionHelper.connectToServers({ [selectedServer]: serverConfig });
|
|
114
|
+
if (!capabilities?.connected) {
|
|
115
|
+
throw new Error(capabilities?.error || `Failed to connect to server '${selectedServer}'.`);
|
|
116
|
+
}
|
|
117
|
+
const estimate = tokenService.estimateServerTokens(selectedServer, capabilities.tools, [], [], true);
|
|
118
|
+
return getSortedToolTokens(estimate.breakdown.tools);
|
|
119
|
+
}
|
|
120
|
+
finally {
|
|
121
|
+
await connectionHelper.cleanup();
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
async function resolveToolSelectionState(initialServer, targetServerEntries, dependencies, tokenService, enforceSingleServerSelection) {
|
|
125
|
+
let selectedServer = initialServer;
|
|
126
|
+
while (true) {
|
|
127
|
+
const storedServerConfig = targetServerEntries.find(([serverName]) => serverName === selectedServer)?.[1];
|
|
128
|
+
if (!storedServerConfig) {
|
|
129
|
+
throw new Error(`Server '${selectedServer}' does not exist. Use 'mcp add' to create it first.`);
|
|
130
|
+
}
|
|
131
|
+
try {
|
|
132
|
+
const allToolTokens = await loadSelectableTools(selectedServer, getEffectiveServerTargetConfig(selectedServer), tokenService, dependencies.connectionHelperFactory);
|
|
133
|
+
if (allToolTokens.length === 0) {
|
|
134
|
+
printer.info(`Server '${selectedServer}' does not expose any tools.`);
|
|
135
|
+
return undefined;
|
|
136
|
+
}
|
|
137
|
+
const selectedToolNames = await selectToolsForServer(dependencies.prompt, selectedServer, storedServerConfig, allToolTokens);
|
|
138
|
+
if (selectedToolNames === undefined) {
|
|
139
|
+
printer.info('Operation cancelled.');
|
|
140
|
+
return undefined;
|
|
141
|
+
}
|
|
142
|
+
return {
|
|
143
|
+
selectedServer,
|
|
144
|
+
allToolTokens,
|
|
145
|
+
selectedToolNames,
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
catch (error) {
|
|
149
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
150
|
+
if (enforceSingleServerSelection) {
|
|
151
|
+
throw new Error(message);
|
|
152
|
+
}
|
|
153
|
+
printer.error(`Unable to load tools for '${selectedServer}': ${message}`);
|
|
154
|
+
printer.blank();
|
|
155
|
+
const nextServer = await selectServer(dependencies.prompt, targetServerEntries);
|
|
156
|
+
if (!nextServer) {
|
|
157
|
+
printer.info('Operation cancelled.');
|
|
158
|
+
return undefined;
|
|
159
|
+
}
|
|
160
|
+
selectedServer = nextServer;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
function printToolSaveSummary(serverName, allToolTokens, selectedToolNames, changedToolNames) {
|
|
165
|
+
const selectedSet = new Set(selectedToolNames);
|
|
166
|
+
const totalTokensBefore = sumToolTokens(allToolTokens);
|
|
167
|
+
const totalTokensAfter = sumToolTokens(allToolTokens.filter((toolInfo) => selectedSet.has(toolInfo.name)));
|
|
168
|
+
const savedTokens = totalTokensBefore - totalTokensAfter;
|
|
169
|
+
printer.success(`Saved tool selection for server '${serverName}'`);
|
|
170
|
+
printer.keyValue({
|
|
171
|
+
'Changed tools': changedToolNames.length,
|
|
172
|
+
'Tokens before': `~${totalTokensBefore}`,
|
|
173
|
+
'Tokens after': `~${totalTokensAfter}`,
|
|
174
|
+
Saved: `~${savedTokens} tokens per request (${formatPercent(savedTokens, totalTokensBefore)}%)`,
|
|
175
|
+
});
|
|
176
|
+
printer.blank();
|
|
177
|
+
printVerificationStep(serverName);
|
|
178
|
+
}
|
|
179
|
+
export async function listToolsCommand(argv) {
|
|
180
|
+
try {
|
|
181
|
+
const { config: configPath, 'config-dir': configDir, server, disabled = false } = argv;
|
|
182
|
+
initializeConfigContext(configPath, configDir);
|
|
183
|
+
validateConfigPath();
|
|
184
|
+
if (server) {
|
|
185
|
+
validateServerName(server);
|
|
186
|
+
if (!serverTargetExists(server)) {
|
|
187
|
+
throw new Error(`Server '${server}' does not exist. Use 'mcp add' to create it first.`);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
const targetServerEntries = getSortedServerEntries(server);
|
|
191
|
+
if (targetServerEntries.length === 0) {
|
|
192
|
+
printer.info('No MCP servers are configured.');
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
printer.title('Disabled MCP Tools');
|
|
196
|
+
printer.blank();
|
|
197
|
+
printer.info('This command is config-only. It reads disabledTools from the matching mcp.json entry and prefers mcpTemplates over mcpServers for duplicate names.');
|
|
198
|
+
printer.blank();
|
|
199
|
+
let serversWithDisabledTools = 0;
|
|
200
|
+
let totalDisabledTools = 0;
|
|
201
|
+
for (const [serverName, serverConfig] of targetServerEntries) {
|
|
202
|
+
const disabledTools = getDisabledTools(serverConfig);
|
|
203
|
+
const status = serverConfig.disabled ? 'server disabled' : 'server enabled';
|
|
204
|
+
if (disabledTools.length > 0) {
|
|
205
|
+
serversWithDisabledTools += 1;
|
|
206
|
+
totalDisabledTools += disabledTools.length;
|
|
207
|
+
}
|
|
208
|
+
printer.subtitle(serverName);
|
|
209
|
+
printer.keyValue({
|
|
210
|
+
Status: status,
|
|
211
|
+
'Disabled tools': disabledTools.length,
|
|
212
|
+
});
|
|
213
|
+
if (disabled) {
|
|
214
|
+
if (disabledTools.length === 0) {
|
|
215
|
+
printer.info('No disabled tools configured.');
|
|
216
|
+
}
|
|
217
|
+
else {
|
|
218
|
+
printer.list(disabledTools);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
printer.blank();
|
|
222
|
+
}
|
|
223
|
+
printer.subtitle('Summary');
|
|
224
|
+
printer.keyValue({
|
|
225
|
+
Servers: targetServerEntries.length,
|
|
226
|
+
'Servers with disabled tools': serversWithDisabledTools,
|
|
227
|
+
'Total disabled tools': totalDisabledTools,
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
catch (error) {
|
|
231
|
+
printer.error(`Failed to list disabled tools: ${error instanceof Error ? error.message : error}`);
|
|
232
|
+
process.exit(1);
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
export async function disableToolCommand(argv) {
|
|
236
|
+
try {
|
|
237
|
+
await setToolDisabledState(argv, true);
|
|
238
|
+
}
|
|
239
|
+
catch (error) {
|
|
240
|
+
printer.error(`Failed to disable tool: ${error instanceof Error ? error.message : error}`);
|
|
241
|
+
process.exit(1);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
export async function enableToolCommand(argv) {
|
|
245
|
+
try {
|
|
246
|
+
await setToolDisabledState(argv, false);
|
|
247
|
+
}
|
|
248
|
+
catch (error) {
|
|
249
|
+
printer.error(`Failed to enable tool: ${error instanceof Error ? error.message : error}`);
|
|
250
|
+
process.exit(1);
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
export async function toolsCommand(argv, dependencies = getInteractiveCommandDependencies()) {
|
|
254
|
+
try {
|
|
255
|
+
const { config: configPath, 'config-dir': configDir, server, model = DEFAULT_MODEL } = argv;
|
|
256
|
+
initializeConfigContext(configPath, configDir);
|
|
257
|
+
validateConfigPath();
|
|
258
|
+
if (!dependencies.isInteractiveTerminal()) {
|
|
259
|
+
throw new Error('Interactive mode requires a TTY. Use "1mcp mcp tools list|enable|disable" in non-interactive environments.');
|
|
260
|
+
}
|
|
261
|
+
if (server) {
|
|
262
|
+
validateServerName(server);
|
|
263
|
+
if (!serverTargetExists(server)) {
|
|
264
|
+
throw new Error(`Server '${server}' does not exist. Use 'mcp add' to create it first.`);
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
const targetServerEntries = getSortedServerEntries(server);
|
|
268
|
+
if (targetServerEntries.length === 0) {
|
|
269
|
+
printer.info('No MCP servers are configured.');
|
|
270
|
+
return;
|
|
271
|
+
}
|
|
272
|
+
const tokenService = dependencies.tokenServiceFactory(model);
|
|
273
|
+
let selectedServer = server;
|
|
274
|
+
if (!selectedServer) {
|
|
275
|
+
selectedServer = await selectServer(dependencies.prompt, targetServerEntries);
|
|
276
|
+
if (!selectedServer) {
|
|
277
|
+
printer.info('Operation cancelled.');
|
|
278
|
+
return;
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
const selectionState = await resolveToolSelectionState(selectedServer, targetServerEntries, dependencies, tokenService, Boolean(server));
|
|
282
|
+
if (!selectionState) {
|
|
283
|
+
return;
|
|
284
|
+
}
|
|
285
|
+
const resolvedTarget = resolveServerTarget(selectionState.selectedServer);
|
|
286
|
+
if (!resolvedTarget) {
|
|
287
|
+
throw new Error(`Failed to retrieve server '${selectionState.selectedServer}' configuration.`);
|
|
288
|
+
}
|
|
289
|
+
const currentConfig = resolvedTarget.serverConfig;
|
|
290
|
+
const nextConfig = applyToolSelection(currentConfig, selectionState.selectedServer, selectionState.allToolTokens.map((toolInfo) => toolInfo.name), selectionState.selectedToolNames);
|
|
291
|
+
const currentDisabledTools = getDisabledTools(currentConfig);
|
|
292
|
+
const nextDisabledTools = getDisabledTools(nextConfig);
|
|
293
|
+
const wasToolDisabled = createToolDisabledMatcher(currentDisabledTools, selectionState.selectedServer);
|
|
294
|
+
const willToolBeDisabled = createToolDisabledMatcher(nextDisabledTools, selectionState.selectedServer);
|
|
295
|
+
if (currentDisabledTools.join('\n') === nextDisabledTools.join('\n')) {
|
|
296
|
+
printer.info(`No tool changes to save for server '${selectionState.selectedServer}'.`);
|
|
297
|
+
printer.blank();
|
|
298
|
+
printVerificationStep(selectionState.selectedServer);
|
|
299
|
+
return;
|
|
300
|
+
}
|
|
301
|
+
const changedToolNames = selectionState.allToolTokens
|
|
302
|
+
.map((toolInfo) => toolInfo.name)
|
|
303
|
+
.filter((toolName) => wasToolDisabled(toolName) !== willToolBeDisabled(toolName));
|
|
304
|
+
backupConfig();
|
|
305
|
+
setResolvedServerTarget(resolvedTarget, nextConfig);
|
|
306
|
+
printToolSaveSummary(selectionState.selectedServer, selectionState.allToolTokens, selectionState.selectedToolNames, changedToolNames);
|
|
307
|
+
printRuntimeReloadNote();
|
|
308
|
+
}
|
|
309
|
+
catch (error) {
|
|
310
|
+
printer.error(`Failed to manage tools interactively: ${error instanceof Error ? error.message : error}`);
|
|
311
|
+
process.exit(1);
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
function createToolDisabledMatcher(disabledTools, logicalServerName) {
|
|
315
|
+
const serverConfigs = {
|
|
316
|
+
[logicalServerName]: {
|
|
317
|
+
disabledTools,
|
|
318
|
+
},
|
|
319
|
+
};
|
|
320
|
+
return (toolName) => isToolDisabled(serverConfigs, logicalServerName, toolName);
|
|
321
|
+
}
|
|
322
|
+
async function setToolDisabledState(argv, disabled) {
|
|
323
|
+
const { config: configPath, 'config-dir': configDir, server, tool } = argv;
|
|
324
|
+
initializeConfigContext(configPath, configDir);
|
|
325
|
+
validateConfigPath();
|
|
326
|
+
validateServerName(server);
|
|
327
|
+
validateToolName(tool);
|
|
328
|
+
const resolvedTarget = resolveServerTarget(server);
|
|
329
|
+
if (!resolvedTarget) {
|
|
330
|
+
throw new Error(`Server '${server}' does not exist. Use 'mcp add' to create it first.`);
|
|
331
|
+
}
|
|
332
|
+
const currentConfig = resolvedTarget.serverConfig;
|
|
333
|
+
const normalizedToolName = tool.trim();
|
|
334
|
+
const isToolDisabledForServer = createToolDisabledMatcher(getDisabledTools(currentConfig), server);
|
|
335
|
+
if (isToolDisabledForServer(normalizedToolName) === disabled) {
|
|
336
|
+
printer.info(`Tool '${tool}' is already ${disabled ? 'disabled' : 'enabled'} on server '${server}'.`);
|
|
337
|
+
printVerificationStep(server);
|
|
338
|
+
return;
|
|
339
|
+
}
|
|
340
|
+
const backupPath = backupConfig();
|
|
341
|
+
const nextConfig = withToolDisabledState(currentConfig, normalizedToolName, disabled, server);
|
|
342
|
+
setResolvedServerTarget(resolvedTarget, nextConfig);
|
|
343
|
+
printer.success(`Successfully ${disabled ? 'disabled' : 'enabled'} tool '${tool}' on server '${server}'`);
|
|
344
|
+
printer.keyValue({
|
|
345
|
+
Status: disabled ? 'Enabled → Disabled' : 'Disabled → Enabled',
|
|
346
|
+
'Backup created': backupPath,
|
|
347
|
+
Mode: 'Config-only',
|
|
348
|
+
});
|
|
349
|
+
printRuntimeReloadNote();
|
|
350
|
+
printer.blank();
|
|
351
|
+
printVerificationStep(server);
|
|
352
|
+
}
|
|
353
|
+
export function setupMcpToolsCommands(yargs) {
|
|
354
|
+
return yargs.command('tools', 'Interactively manage per-server disabled tool lists', (toolsYargs) => {
|
|
355
|
+
return toolsYargs
|
|
356
|
+
.options(globalOptions || {})
|
|
357
|
+
.option('server', {
|
|
358
|
+
describe: 'Open the interactive browser directly for one server',
|
|
359
|
+
type: 'string',
|
|
360
|
+
})
|
|
361
|
+
.option('model', {
|
|
362
|
+
describe: 'Model to use for token estimation in interactive mode',
|
|
363
|
+
type: 'string',
|
|
364
|
+
default: DEFAULT_MODEL,
|
|
365
|
+
})
|
|
366
|
+
.command('list [server]', 'List disabled tools by server (config-only)', (listYargs) => listYargs
|
|
367
|
+
.positional('server', {
|
|
368
|
+
describe: 'Optional server name to inspect',
|
|
369
|
+
type: 'string',
|
|
370
|
+
})
|
|
371
|
+
.option('disabled', {
|
|
372
|
+
describe: 'Show the full disabled tool names instead of counts only',
|
|
373
|
+
type: 'boolean',
|
|
374
|
+
default: false,
|
|
375
|
+
})
|
|
376
|
+
.example([
|
|
377
|
+
['$0 mcp tools list', 'Show disabled tool counts for all servers'],
|
|
378
|
+
['$0 mcp tools list filesystem --disabled', 'Show disabled tool names for one server'],
|
|
379
|
+
]), async (commandArgv) => {
|
|
380
|
+
await listToolsCommand(commandArgv);
|
|
381
|
+
})
|
|
382
|
+
.command('disable <server> <tool>', 'Disable one tool for a configured MCP server (config-only)', (disableYargs) => disableYargs
|
|
383
|
+
.positional('server', {
|
|
384
|
+
describe: 'Name of the MCP server to update',
|
|
385
|
+
type: 'string',
|
|
386
|
+
demandOption: true,
|
|
387
|
+
})
|
|
388
|
+
.positional('tool', {
|
|
389
|
+
describe: 'Exact tool name to disable',
|
|
390
|
+
type: 'string',
|
|
391
|
+
demandOption: true,
|
|
392
|
+
})
|
|
393
|
+
.example([['$0 mcp tools disable filesystem write_file', 'Disable one noisy tool in config']]), async (commandArgv) => {
|
|
394
|
+
await disableToolCommand(commandArgv);
|
|
395
|
+
})
|
|
396
|
+
.command('enable <server> <tool>', 'Enable one previously disabled tool for a configured MCP server (config-only)', (enableYargs) => enableYargs
|
|
397
|
+
.positional('server', {
|
|
398
|
+
describe: 'Name of the MCP server to update',
|
|
399
|
+
type: 'string',
|
|
400
|
+
demandOption: true,
|
|
401
|
+
})
|
|
402
|
+
.positional('tool', {
|
|
403
|
+
describe: 'Exact tool name to enable',
|
|
404
|
+
type: 'string',
|
|
405
|
+
demandOption: true,
|
|
406
|
+
})
|
|
407
|
+
.example([['$0 mcp tools enable filesystem write_file', 'Re-enable one disabled tool in config']]), async (commandArgv) => {
|
|
408
|
+
await enableToolCommand(commandArgv);
|
|
409
|
+
})
|
|
410
|
+
.help()
|
|
411
|
+
.epilogue([
|
|
412
|
+
'MCP Tools Commands',
|
|
413
|
+
'',
|
|
414
|
+
"Run '1mcp mcp tools' for the interactive browser with live token estimates.",
|
|
415
|
+
'The list/enable/disable subcommands remain config-only. They update disabledTools in the matching mcp.json entry and prefer mcpTemplates over mcpServers for duplicate names.',
|
|
416
|
+
"Use '1mcp mcp tools list <server> --disabled' after each mutation to verify the current state.",
|
|
417
|
+
].join('\n'));
|
|
418
|
+
}, async (commandArgv) => {
|
|
419
|
+
await toolsCommand(commandArgv);
|
|
420
|
+
});
|
|
421
|
+
}
|
|
422
|
+
//# sourceMappingURL=tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/commands/mcp/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../../src/commands/mcp/uninstall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAItD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../../src/commands/mcp/uninstall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAItD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAKlC,MAAM,WAAW,oBAAqB,SAAQ,aAAa;IACzD,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,IAAI;;;;;;;;;;GAiChD;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0EhF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import logger from '../../logger/logger.js';
|
|
2
2
|
import printer from '../../utils/ui/printer.js';
|
|
3
|
-
import { backupConfig, initializeConfigContext,
|
|
3
|
+
import { backupConfig, initializeConfigContext, removeServer, serverExists } from './utils/mcpServerConfig.js';
|
|
4
4
|
import { checkServerInUse, validateServerName } from './utils/serverUtils.js';
|
|
5
5
|
/**
|
|
6
6
|
* Build the uninstall command configuration
|
|
@@ -81,8 +81,6 @@ export async function uninstallCommand(argv) {
|
|
|
81
81
|
if (!removed) {
|
|
82
82
|
throw new Error(`Failed to remove server '${serverName}' from configuration.`);
|
|
83
83
|
}
|
|
84
|
-
// Reload MCP configuration
|
|
85
|
-
reloadMcpConfig();
|
|
86
84
|
printer.success(`Successfully uninstalled server '${serverName}'`);
|
|
87
85
|
if (backupPath) {
|
|
88
86
|
printer.keyValue({ 'Backup created': backupPath });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../../src/commands/mcp/uninstall.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,uBAAuB,CAAC;AAC3C,OAAO,OAAO,MAAM,0BAA0B,CAAC;AAI/C,OAAO,
|
|
1
|
+
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../../src/commands/mcp/uninstall.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/commands/mcp/update.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/commands/mcp/update.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAsBlC,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+F7C;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6M1E"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import printer from '../../utils/ui/printer.js';
|
|
2
|
-
import { backupConfig, getServer, initializeConfigContext, parseEnvVars, parseHeaders, parseTags,
|
|
2
|
+
import { backupConfig, getServer, initializeConfigContext, parseEnvVars, parseHeaders, parseTags, serverExists, setServer, validateConfigPath, } from './utils/mcpServerConfig.js';
|
|
3
3
|
import { validateEnvVars, validateHeaders, validateServerArgs, validateServerName, validateTags, validateTimeout, } from './utils/validation.js';
|
|
4
4
|
/**
|
|
5
5
|
* Build the update command configuration
|
|
@@ -265,8 +265,6 @@ export async function updateCommand(argv) {
|
|
|
265
265
|
const backupPath = backupConfig();
|
|
266
266
|
// Save the updated configuration
|
|
267
267
|
setServer(name, updatedConfig);
|
|
268
|
-
// Reload MCP configuration
|
|
269
|
-
reloadMcpConfig();
|
|
270
268
|
// Success message
|
|
271
269
|
printer.success(`Successfully updated server '${name}'`);
|
|
272
270
|
printer.blank();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/mcp/update.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,0BAA0B,CAAC;AAI/C,OAAO,EACL,YAAY,EACZ,SAAS,EACT,uBAAuB,EACvB,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/mcp/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,13 @@ export declare function initializeConfigContext(configPath?: string, configDir?:
|
|
|
10
10
|
export interface ServerConfig {
|
|
11
11
|
serverDefaults?: GlobalTransportConfig;
|
|
12
12
|
mcpServers: Record<string, MCPServerParams>;
|
|
13
|
+
mcpTemplates?: Record<string, MCPServerParams>;
|
|
14
|
+
}
|
|
15
|
+
export type ServerConfigSource = 'mcpServers' | 'mcpTemplates';
|
|
16
|
+
export interface ResolvedServerTarget {
|
|
17
|
+
serverName: string;
|
|
18
|
+
source: ServerConfigSource;
|
|
19
|
+
serverConfig: MCPServerParams;
|
|
13
20
|
}
|
|
14
21
|
/**
|
|
15
22
|
* Load the MCP configuration from a file
|
|
@@ -25,10 +32,19 @@ export declare function saveConfig(config: ServerConfig): void;
|
|
|
25
32
|
* Check if a server exists in the configuration
|
|
26
33
|
*/
|
|
27
34
|
export declare function serverExists(serverName: string): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Check if a server exists in either mcpTemplates or mcpServers.
|
|
37
|
+
* Template entries take precedence when names collide.
|
|
38
|
+
*/
|
|
39
|
+
export declare function serverTargetExists(serverName: string): boolean;
|
|
28
40
|
/**
|
|
29
41
|
* Get a specific server configuration
|
|
30
42
|
*/
|
|
31
43
|
export declare function getServer(serverName: string): MCPServerParams | null;
|
|
44
|
+
/**
|
|
45
|
+
* Resolve a configured server target from mcpTemplates first, then mcpServers.
|
|
46
|
+
*/
|
|
47
|
+
export declare function resolveServerTarget(serverName: string): ResolvedServerTarget | null;
|
|
32
48
|
/**
|
|
33
49
|
* Get global MCP configuration from file.
|
|
34
50
|
*/
|
|
@@ -37,10 +53,20 @@ export declare function getGlobalConfig(): GlobalTransportConfig;
|
|
|
37
53
|
* Get effective merged configuration for a specific server.
|
|
38
54
|
*/
|
|
39
55
|
export declare function getEffectiveServerConfig(serverName: string): MCPServerParams | null;
|
|
56
|
+
/**
|
|
57
|
+
* Get effective merged configuration for a configured target from either mcpTemplates or mcpServers.
|
|
58
|
+
* Template entries still use template-first precedence, but only inherit global defaults here;
|
|
59
|
+
* they are not rendered with runtime context.
|
|
60
|
+
*/
|
|
61
|
+
export declare function getEffectiveServerTargetConfig(serverName: string): MCPServerParams | null;
|
|
40
62
|
/**
|
|
41
63
|
* Add or update a server in the configuration
|
|
42
64
|
*/
|
|
43
65
|
export declare function setServer(serverName: string, serverConfig: MCPServerParams): void;
|
|
66
|
+
/**
|
|
67
|
+
* Persist an updated server config back to the same section it was resolved from.
|
|
68
|
+
*/
|
|
69
|
+
export declare function setResolvedServerTarget(target: Pick<ResolvedServerTarget, 'serverName' | 'source'>, serverConfig: MCPServerParams): void;
|
|
44
70
|
/**
|
|
45
71
|
* Remove a server from the configuration
|
|
46
72
|
*/
|
|
@@ -49,6 +75,10 @@ export declare function removeServer(serverName: string): boolean;
|
|
|
49
75
|
* Get all servers in the configuration
|
|
50
76
|
*/
|
|
51
77
|
export declare function getAllServers(): Record<string, MCPServerParams>;
|
|
78
|
+
/**
|
|
79
|
+
* Get all configured servers with template-first precedence for duplicate names.
|
|
80
|
+
*/
|
|
81
|
+
export declare function getAllServerTargets(): Record<string, MCPServerParams>;
|
|
52
82
|
/**
|
|
53
83
|
* Get all effective server configurations after applying global inheritance.
|
|
54
84
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseConfigUtils.d.ts","sourceRoot":"","sources":["../../../src/commands/shared/baseConfigUtils.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAIlF;;GAEG;AAEH;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAgBrF;AAwBD,MAAM,WAAW,YAAY;IAC3B,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"baseConfigUtils.d.ts","sourceRoot":"","sources":["../../../src/commands/shared/baseConfigUtils.ts"],"names":[],"mappings":"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"}
|