@1mcp/agent 0.20.3-alpha3 → 0.21.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/README.md +1 -1
- package/build/commands/mcp/index.d.ts.map +1 -1
- package/build/commands/mcp/index.js +45 -0
- package/build/commands/mcp/index.js.map +1 -1
- package/build/commands/mcp/tokens.d.ts +13 -0
- package/build/commands/mcp/tokens.d.ts.map +1 -0
- package/build/commands/mcp/tokens.js +273 -0
- package/build/commands/mcp/tokens.js.map +1 -0
- package/build/commands/mcp/utils/connectionHelper.d.ts +29 -0
- package/build/commands/mcp/utils/connectionHelper.d.ts.map +1 -0
- package/build/commands/mcp/utils/connectionHelper.js +162 -0
- package/build/commands/mcp/utils/connectionHelper.js.map +1 -0
- package/build/constants.d.ts +1 -1
- package/build/constants.d.ts.map +1 -1
- package/build/constants.js +1 -1
- package/build/constants.js.map +1 -1
- package/build/services/tokenEstimationService.d.ts +95 -0
- package/build/services/tokenEstimationService.d.ts.map +1 -0
- package/build/services/tokenEstimationService.js +233 -0
- package/build/services/tokenEstimationService.js.map +1 -0
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -9,7 +9,6 @@ A unified Model Context Protocol server implementation that aggregates multiple
|
|
|
9
9
|
[](https://docs.1mcp.app)
|
|
10
10
|
[](https://deepwiki.com/1mcp-app/agent)
|
|
11
11
|
[](https://www.npmjs.com/package/@1mcp/agent)
|
|
12
|
-
[](https://archestra.ai/mcp-catalog/1mcp-app__agent)
|
|
13
12
|
|
|
14
13
|
## Table of Contents
|
|
15
14
|
|
|
@@ -141,6 +140,7 @@ That's it! All your MCP servers are now available through one unified endpoint.
|
|
|
141
140
|
- **`npx -y @1mcp/agent mcp status [name]`** - Show server status and details
|
|
142
141
|
- **`npx -y @1mcp/agent mcp enable/disable <name>`** - Enable or disable servers
|
|
143
142
|
- **`npx -y @1mcp/agent mcp update <name>`** - Update server configuration
|
|
143
|
+
- **`npx -y @1mcp/agent mcp tokens`** - Estimate MCP token usage for server capabilities
|
|
144
144
|
|
|
145
145
|
### App Integration
|
|
146
146
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/mcp/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAElC;;;;;GAKG;AAEH;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/mcp/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAElC;;;;;GAKG;AAEH;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,CAkalD"}
|
|
@@ -349,6 +349,50 @@ export function setupMcpCommands(yargs) {
|
|
|
349
349
|
const { statusCommand } = await import('./status.js');
|
|
350
350
|
await statusCommand(argv);
|
|
351
351
|
},
|
|
352
|
+
})
|
|
353
|
+
.command({
|
|
354
|
+
command: 'tokens',
|
|
355
|
+
describe: 'Estimate MCP token usage for server capabilities',
|
|
356
|
+
builder: (yargs) => {
|
|
357
|
+
return yargs
|
|
358
|
+
.option('config', {
|
|
359
|
+
describe: 'Path to the config file',
|
|
360
|
+
type: 'string',
|
|
361
|
+
alias: 'c',
|
|
362
|
+
})
|
|
363
|
+
.option('tag-filter', {
|
|
364
|
+
describe: 'Filter servers by advanced tag expression (and/or/not logic)',
|
|
365
|
+
type: 'string',
|
|
366
|
+
alias: 'f',
|
|
367
|
+
})
|
|
368
|
+
.option('format', {
|
|
369
|
+
describe: 'Output format',
|
|
370
|
+
type: 'string',
|
|
371
|
+
choices: ['table', 'json', 'summary'],
|
|
372
|
+
default: 'table',
|
|
373
|
+
})
|
|
374
|
+
.option('model', {
|
|
375
|
+
describe: 'Model to use for token estimation',
|
|
376
|
+
type: 'string',
|
|
377
|
+
alias: 'm',
|
|
378
|
+
default: 'gpt-4o',
|
|
379
|
+
})
|
|
380
|
+
.example([
|
|
381
|
+
['$0 mcp tokens', 'Estimate tokens for all MCP servers by connecting to them'],
|
|
382
|
+
[
|
|
383
|
+
'$0 mcp tokens --tag-filter="context7 or playwright"',
|
|
384
|
+
'Estimate tokens for servers with specific tags',
|
|
385
|
+
],
|
|
386
|
+
['$0 mcp tokens --format=json', 'Output in JSON format for programmatic use'],
|
|
387
|
+
['$0 mcp tokens --format=summary', 'Show concise summary'],
|
|
388
|
+
['$0 mcp tokens --model=gpt-3.5-turbo', 'Use gpt-3.5-turbo for token estimation'],
|
|
389
|
+
['$0 mcp tokens --tag-filter="ai and not experimental" --format=table', 'Filter and format output'],
|
|
390
|
+
]);
|
|
391
|
+
},
|
|
392
|
+
handler: async (argv) => {
|
|
393
|
+
const { tokensCommand } = await import('./tokens.js');
|
|
394
|
+
await tokensCommand(argv);
|
|
395
|
+
},
|
|
352
396
|
})
|
|
353
397
|
.demandCommand(1, 'You must specify a subcommand')
|
|
354
398
|
.help().epilogue(`
|
|
@@ -363,6 +407,7 @@ This allows you to:
|
|
|
363
407
|
• Enable/disable servers without removing them
|
|
364
408
|
• List and filter servers by tags or status
|
|
365
409
|
• Check the status and details of configured servers
|
|
410
|
+
• Estimate token usage for server capabilities and tools
|
|
366
411
|
|
|
367
412
|
For more information about each command, use: $0 mcp <command> --help
|
|
368
413
|
`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/mcp/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/mcp/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Arguments } from 'yargs';
|
|
2
|
+
interface TokensCommandArgs {
|
|
3
|
+
config?: string;
|
|
4
|
+
'tag-filter'?: string;
|
|
5
|
+
format?: string;
|
|
6
|
+
model?: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Tokens command handler
|
|
10
|
+
*/
|
|
11
|
+
export declare function tokensCommand(argv: Arguments<TokensCommandArgs>): Promise<void>;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=tokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../src/commands/mcp/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAQvC,UAAU,iBAAiB;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAyPD;;GAEG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAsFrF"}
|
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
import logger from '../../logger/logger.js';
|
|
2
|
+
import { TokenEstimationService } from '../../services/tokenEstimationService.js';
|
|
3
|
+
import { TagQueryParser } from '../../utils/tagQueryParser.js';
|
|
4
|
+
import { loadConfig } from './utils/configUtils.js';
|
|
5
|
+
import { McpConnectionHelper } from './utils/connectionHelper.js';
|
|
6
|
+
/**
|
|
7
|
+
* Format output in table format
|
|
8
|
+
*/
|
|
9
|
+
function formatTableOutput(estimates, stats) {
|
|
10
|
+
console.log(`MCP Server Token Estimates${estimates.length > 0 && estimates.some((e) => e.connected) ? ` (${stats.connectedServers} connected servers)` : ''}:`);
|
|
11
|
+
console.log();
|
|
12
|
+
if (estimates.length === 0) {
|
|
13
|
+
console.log('No MCP servers found in configuration.');
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
const connectedEstimates = estimates.filter((est) => est.connected && !est.error);
|
|
17
|
+
if (connectedEstimates.length === 0) {
|
|
18
|
+
console.log('No connected MCP servers found.');
|
|
19
|
+
estimates.forEach((est) => {
|
|
20
|
+
if (est.error) {
|
|
21
|
+
console.log(`${est.serverName} (Disconnected): ${est.error}`);
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
console.log(`${est.serverName} (Disconnected)`);
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
// Group by capability type
|
|
30
|
+
const hasTools = connectedEstimates.some((est) => est.breakdown.tools.length > 0);
|
|
31
|
+
const hasResources = connectedEstimates.some((est) => est.breakdown.resources.length > 0);
|
|
32
|
+
const hasPrompts = connectedEstimates.some((est) => est.breakdown.prompts.length > 0);
|
|
33
|
+
// TOOLS section
|
|
34
|
+
if (hasTools) {
|
|
35
|
+
console.log('=== TOOLS ===');
|
|
36
|
+
connectedEstimates.forEach((est) => {
|
|
37
|
+
if (est.breakdown.tools.length > 0) {
|
|
38
|
+
console.log(`${est.serverName} (Connected):`);
|
|
39
|
+
est.breakdown.tools.forEach((tool) => {
|
|
40
|
+
const desc = tool.description ? ` - ${tool.description.slice(0, 50)}...` : '';
|
|
41
|
+
console.log(`├── ${tool.name}: ~${tool.tokens} tokens${desc}`);
|
|
42
|
+
});
|
|
43
|
+
const toolTotal = est.breakdown.tools.reduce((sum, tool) => sum + tool.tokens, 0);
|
|
44
|
+
console.log(`└── Subtotal: ~${toolTotal} tokens`);
|
|
45
|
+
console.log();
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
const totalToolTokens = connectedEstimates.reduce((sum, est) => sum + est.breakdown.tools.reduce((toolSum, tool) => toolSum + tool.tokens, 0), 0);
|
|
49
|
+
console.log(`Tools Total: ~${totalToolTokens} tokens`);
|
|
50
|
+
console.log();
|
|
51
|
+
}
|
|
52
|
+
// RESOURCES section
|
|
53
|
+
if (hasResources) {
|
|
54
|
+
console.log('=== RESOURCES ===');
|
|
55
|
+
connectedEstimates.forEach((est) => {
|
|
56
|
+
if (est.breakdown.resources.length > 0) {
|
|
57
|
+
console.log(`${est.serverName} (Connected):`);
|
|
58
|
+
est.breakdown.resources.forEach((resource) => {
|
|
59
|
+
const name = resource.name || resource.uri.split('/').pop() || 'unnamed';
|
|
60
|
+
const mimeType = resource.mimeType ? ` (${resource.mimeType})` : '';
|
|
61
|
+
console.log(`├── ${name}: ~${resource.tokens} tokens${mimeType}`);
|
|
62
|
+
});
|
|
63
|
+
const resourceTotal = est.breakdown.resources.reduce((sum, resource) => sum + resource.tokens, 0);
|
|
64
|
+
console.log(`└── Subtotal: ~${resourceTotal} tokens`);
|
|
65
|
+
console.log();
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
const totalResourceTokens = connectedEstimates.reduce((sum, est) => sum + est.breakdown.resources.reduce((resSum, resource) => resSum + resource.tokens, 0), 0);
|
|
69
|
+
console.log(`Resources Total: ~${totalResourceTokens} tokens`);
|
|
70
|
+
console.log();
|
|
71
|
+
}
|
|
72
|
+
// PROMPTS section
|
|
73
|
+
if (hasPrompts) {
|
|
74
|
+
console.log('=== PROMPTS ===');
|
|
75
|
+
connectedEstimates.forEach((est) => {
|
|
76
|
+
if (est.breakdown.prompts.length > 0) {
|
|
77
|
+
console.log(`${est.serverName} (Connected):`);
|
|
78
|
+
est.breakdown.prompts.forEach((prompt) => {
|
|
79
|
+
const desc = prompt.description ? ` - ${prompt.description}` : '';
|
|
80
|
+
console.log(`├── ${prompt.name}: ~${prompt.tokens} tokens${desc}`);
|
|
81
|
+
});
|
|
82
|
+
const promptTotal = est.breakdown.prompts.reduce((sum, prompt) => sum + prompt.tokens, 0);
|
|
83
|
+
console.log(`└── Subtotal: ~${promptTotal} tokens`);
|
|
84
|
+
console.log();
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
const totalPromptTokens = connectedEstimates.reduce((sum, est) => sum + est.breakdown.prompts.reduce((promptSum, prompt) => promptSum + prompt.tokens, 0), 0);
|
|
88
|
+
console.log(`Prompts Total: ~${totalPromptTokens} tokens`);
|
|
89
|
+
console.log();
|
|
90
|
+
}
|
|
91
|
+
// SUMMARY section
|
|
92
|
+
console.log('=== SUMMARY ===');
|
|
93
|
+
const serverNames = connectedEstimates.map((est) => est.serverName).join(', ');
|
|
94
|
+
console.log(`Servers: ${stats.connectedServers} connected (${serverNames})`);
|
|
95
|
+
console.log(`Total Tools: ${stats.totalTools} (~${connectedEstimates.reduce((sum, est) => sum + est.breakdown.tools.reduce((toolSum, tool) => toolSum + tool.tokens, 0), 0)} tokens)`);
|
|
96
|
+
console.log(`Total Resources: ${stats.totalResources} (~${connectedEstimates.reduce((sum, est) => sum + est.breakdown.resources.reduce((resSum, resource) => resSum + resource.tokens, 0), 0)} tokens)`);
|
|
97
|
+
console.log(`Total Prompts: ${stats.totalPrompts} (~${connectedEstimates.reduce((sum, est) => sum + est.breakdown.prompts.reduce((promptSum, prompt) => promptSum + prompt.tokens, 0), 0)} tokens)`);
|
|
98
|
+
const totalOverhead = connectedEstimates.reduce((sum, est) => sum + est.breakdown.serverOverhead, 0);
|
|
99
|
+
console.log(`Server Overhead: ~${totalOverhead} tokens`);
|
|
100
|
+
console.log(`Overall Total: ~${stats.overallTokens} tokens`);
|
|
101
|
+
// Show disconnected servers if any
|
|
102
|
+
const disconnectedServers = estimates.filter((est) => !est.connected || est.error);
|
|
103
|
+
if (disconnectedServers.length > 0) {
|
|
104
|
+
console.log();
|
|
105
|
+
console.log('=== DISCONNECTED SERVERS ===');
|
|
106
|
+
disconnectedServers.forEach((est) => {
|
|
107
|
+
if (est.error) {
|
|
108
|
+
console.log(`${est.serverName}: ${est.error}`);
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
console.log(`${est.serverName}: Not connected`);
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Format output in JSON format
|
|
118
|
+
*/
|
|
119
|
+
function formatJsonOutput(estimates, stats) {
|
|
120
|
+
const output = {
|
|
121
|
+
summary: stats,
|
|
122
|
+
servers: estimates,
|
|
123
|
+
timestamp: new Date().toISOString(),
|
|
124
|
+
};
|
|
125
|
+
console.log(JSON.stringify(output, null, 2));
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Format output in summary format
|
|
129
|
+
*/
|
|
130
|
+
function formatSummaryOutput(estimates, stats) {
|
|
131
|
+
console.log(`MCP Token Usage Summary:`);
|
|
132
|
+
console.log(` Connected Servers: ${stats.connectedServers}/${stats.totalServers}`);
|
|
133
|
+
console.log(` Total Capabilities: ${stats.totalTools + stats.totalResources + stats.totalPrompts}`);
|
|
134
|
+
console.log(` - Tools: ${stats.totalTools}`);
|
|
135
|
+
console.log(` - Resources: ${stats.totalResources}`);
|
|
136
|
+
console.log(` - Prompts: ${stats.totalPrompts}`);
|
|
137
|
+
console.log(` Estimated Token Usage: ~${stats.overallTokens} tokens`);
|
|
138
|
+
if (stats.connectedServers > 0) {
|
|
139
|
+
console.log(` Top Servers by Token Usage:`);
|
|
140
|
+
const sortedServers = Object.entries(stats.serverBreakdown)
|
|
141
|
+
.sort(([, a], [, b]) => b - a)
|
|
142
|
+
.slice(0, 5);
|
|
143
|
+
sortedServers.forEach(([serverName, tokens]) => {
|
|
144
|
+
console.log(` - ${serverName}: ~${tokens} tokens`);
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
// Show disconnected servers with error details if any
|
|
148
|
+
const disconnectedServers = estimates.filter((est) => !est.connected || est.error);
|
|
149
|
+
if (disconnectedServers.length > 0) {
|
|
150
|
+
console.log(` Note: ${disconnectedServers.length} server(s) not connected`);
|
|
151
|
+
if (disconnectedServers.some((est) => est.error)) {
|
|
152
|
+
console.log(` Errors:`);
|
|
153
|
+
disconnectedServers
|
|
154
|
+
.filter((est) => est.error)
|
|
155
|
+
.forEach((est) => {
|
|
156
|
+
console.log(` - ${est.serverName}: ${est.error}`);
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Connect to MCP servers and collect their capabilities for token estimation
|
|
163
|
+
*/
|
|
164
|
+
async function collectServerCapabilities(serverConfigs, model) {
|
|
165
|
+
const tokenService = new TokenEstimationService(model);
|
|
166
|
+
const connectionHelper = new McpConnectionHelper();
|
|
167
|
+
try {
|
|
168
|
+
logger.debug(`Connecting to ${serverConfigs.length} MCP servers for capability discovery`);
|
|
169
|
+
// Convert to server configuration format expected by connection helper
|
|
170
|
+
const servers = {};
|
|
171
|
+
for (const config of serverConfigs) {
|
|
172
|
+
const { name, ...serverParams } = config;
|
|
173
|
+
servers[name] = serverParams;
|
|
174
|
+
}
|
|
175
|
+
// Connect to all servers and get their capabilities
|
|
176
|
+
// Use shorter timeout for tests to improve performance
|
|
177
|
+
const timeout = process.env.NODE_ENV === 'test' ? 500 : 15000; // 0.5s for tests, 15s for normal use
|
|
178
|
+
const serverCapabilities = await connectionHelper.connectToServers(servers, timeout);
|
|
179
|
+
// Convert server capabilities to token estimates
|
|
180
|
+
const estimates = serverCapabilities.map((capability) => {
|
|
181
|
+
return tokenService.estimateServerTokens(capability.serverName, capability.tools, capability.resources, capability.prompts, capability.connected);
|
|
182
|
+
});
|
|
183
|
+
return estimates;
|
|
184
|
+
}
|
|
185
|
+
catch (error) {
|
|
186
|
+
logger.error('Error collecting server capabilities:', error);
|
|
187
|
+
throw error;
|
|
188
|
+
}
|
|
189
|
+
finally {
|
|
190
|
+
// Clean up connections
|
|
191
|
+
await connectionHelper.cleanup();
|
|
192
|
+
tokenService.dispose();
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Tokens command handler
|
|
197
|
+
*/
|
|
198
|
+
export async function tokensCommand(argv) {
|
|
199
|
+
try {
|
|
200
|
+
logger.debug('Starting tokens command with args:', argv);
|
|
201
|
+
// Load MCP configuration using utility function
|
|
202
|
+
const config = loadConfig(argv.config);
|
|
203
|
+
if (!config.mcpServers || Object.keys(config.mcpServers).length === 0) {
|
|
204
|
+
console.log('No MCP servers configured. Use "1mcp mcp add" to add servers.');
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
207
|
+
// Parse tag filter if provided
|
|
208
|
+
let tagExpression;
|
|
209
|
+
let filteredServers = Object.entries(config.mcpServers);
|
|
210
|
+
if (argv['tag-filter']) {
|
|
211
|
+
try {
|
|
212
|
+
tagExpression = TagQueryParser.parseAdvanced(argv['tag-filter']);
|
|
213
|
+
logger.debug('Parsed tag filter expression:', tagExpression);
|
|
214
|
+
// Filter servers based on tag expression
|
|
215
|
+
filteredServers = filteredServers.filter(([_name, serverConfig]) => {
|
|
216
|
+
const serverTags = serverConfig.tags || [];
|
|
217
|
+
return TagQueryParser.evaluate(tagExpression, serverTags);
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
catch (error) {
|
|
221
|
+
console.error(`Invalid tag-filter expression: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
222
|
+
process.exit(1);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
if (filteredServers.length === 0) {
|
|
226
|
+
console.log(argv['tag-filter']
|
|
227
|
+
? `No servers match the tag filter: ${argv['tag-filter']}`
|
|
228
|
+
: 'No servers found in configuration.');
|
|
229
|
+
return;
|
|
230
|
+
}
|
|
231
|
+
// Convert to config objects for processing, excluding disabled servers
|
|
232
|
+
const serverConfigs = filteredServers
|
|
233
|
+
.filter(([_name, serverConfig]) => !serverConfig.disabled)
|
|
234
|
+
.map(([name, serverConfig]) => ({
|
|
235
|
+
name,
|
|
236
|
+
...serverConfig,
|
|
237
|
+
}));
|
|
238
|
+
if (serverConfigs.length === 0) {
|
|
239
|
+
console.log('No enabled servers found for token estimation.');
|
|
240
|
+
return;
|
|
241
|
+
}
|
|
242
|
+
// Only show connecting message for non-JSON formats
|
|
243
|
+
const format = argv.format || 'table';
|
|
244
|
+
if (format !== 'json') {
|
|
245
|
+
console.log(`Connecting to ${serverConfigs.length} MCP server(s) to analyze token usage...`);
|
|
246
|
+
}
|
|
247
|
+
// Collect server capabilities and estimate tokens
|
|
248
|
+
const estimates = await collectServerCapabilities(serverConfigs, argv.model);
|
|
249
|
+
// Calculate aggregate statistics
|
|
250
|
+
const tokenService = new TokenEstimationService(argv.model);
|
|
251
|
+
const stats = tokenService.calculateAggregateStats(estimates);
|
|
252
|
+
tokenService.dispose();
|
|
253
|
+
// Format and display output
|
|
254
|
+
switch (format) {
|
|
255
|
+
case 'json':
|
|
256
|
+
formatJsonOutput(estimates, stats);
|
|
257
|
+
break;
|
|
258
|
+
case 'summary':
|
|
259
|
+
formatSummaryOutput(estimates, stats);
|
|
260
|
+
break;
|
|
261
|
+
case 'table':
|
|
262
|
+
default:
|
|
263
|
+
formatTableOutput(estimates, stats);
|
|
264
|
+
break;
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
catch (error) {
|
|
268
|
+
logger.error('Error in tokens command:', error);
|
|
269
|
+
console.error(`Error: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
270
|
+
process.exit(1);
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
//# sourceMappingURL=tokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../src/commands/mcp/tokens.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { MCPServerParams } from '../../../core/types/index.js';
|
|
2
|
+
import type { Tool, Resource, Prompt } from '@modelcontextprotocol/sdk/types.js';
|
|
3
|
+
export interface ServerCapabilities {
|
|
4
|
+
serverName: string;
|
|
5
|
+
connected: boolean;
|
|
6
|
+
tools: Tool[];
|
|
7
|
+
resources: Resource[];
|
|
8
|
+
prompts: Prompt[];
|
|
9
|
+
error?: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Connection helper for connecting to MCP servers and retrieving their capabilities
|
|
13
|
+
*/
|
|
14
|
+
export declare class McpConnectionHelper {
|
|
15
|
+
private connections;
|
|
16
|
+
/**
|
|
17
|
+
* Connect to MCP servers based on configuration
|
|
18
|
+
*/
|
|
19
|
+
connectToServers(servers: Record<string, MCPServerParams>, timeoutMs?: number): Promise<ServerCapabilities[]>;
|
|
20
|
+
/**
|
|
21
|
+
* Get capabilities from a connected MCP server
|
|
22
|
+
*/
|
|
23
|
+
private getServerCapabilities;
|
|
24
|
+
/**
|
|
25
|
+
* Clean up connections
|
|
26
|
+
*/
|
|
27
|
+
cleanup(): Promise<void>;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=connectionHelper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connectionHelper.d.ts","sourceRoot":"","sources":["../../../../src/commands/mcp/utils/connectionHelper.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAEjF,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,WAAW,CAA8C;IAEjE;;OAEG;IACG,gBAAgB,CACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EACxC,SAAS,GAAE,MAAc,GACxB,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAkFhC;;OAEG;YACW,qBAAqB;IAgEnC;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CA4B/B"}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import logger from '../../../logger/logger.js';
|
|
2
|
+
import { ClientManager } from '../../../core/client/clientManager.js';
|
|
3
|
+
import { createTransports } from '../../../transport/transportFactory.js';
|
|
4
|
+
/**
|
|
5
|
+
* Connection helper for connecting to MCP servers and retrieving their capabilities
|
|
6
|
+
*/
|
|
7
|
+
export class McpConnectionHelper {
|
|
8
|
+
connections = new Map();
|
|
9
|
+
/**
|
|
10
|
+
* Connect to MCP servers based on configuration
|
|
11
|
+
*/
|
|
12
|
+
async connectToServers(servers, timeoutMs = 10000) {
|
|
13
|
+
logger.info(`Connecting to ${Object.keys(servers).length} MCP servers`);
|
|
14
|
+
const serverNames = Object.keys(servers);
|
|
15
|
+
if (serverNames.length === 0) {
|
|
16
|
+
return [];
|
|
17
|
+
}
|
|
18
|
+
// Create transports from server configurations
|
|
19
|
+
const transports = createTransports(servers);
|
|
20
|
+
logger.debug(`Created ${Object.keys(transports).length} transports`);
|
|
21
|
+
const results = [];
|
|
22
|
+
// Connect to servers in parallel with individual timeouts
|
|
23
|
+
const connectionPromises = serverNames.map(async (serverName) => {
|
|
24
|
+
try {
|
|
25
|
+
logger.debug(`Connecting to server: ${serverName}`);
|
|
26
|
+
// Create a timeout promise
|
|
27
|
+
const timeoutPromise = new Promise((_, reject) => {
|
|
28
|
+
setTimeout(() => {
|
|
29
|
+
reject(new Error(`Connection timeout after ${timeoutMs}ms`));
|
|
30
|
+
}, timeoutMs);
|
|
31
|
+
});
|
|
32
|
+
// Get transport for this server
|
|
33
|
+
const transport = transports[serverName];
|
|
34
|
+
if (!transport) {
|
|
35
|
+
throw new Error('Transport not found');
|
|
36
|
+
}
|
|
37
|
+
// Create clients with timeout
|
|
38
|
+
const tempClientManager = ClientManager.getOrCreateInstance();
|
|
39
|
+
const tempTransports = { [serverName]: transport };
|
|
40
|
+
// Connect with timeout
|
|
41
|
+
const connectPromise = tempClientManager.createClients(tempTransports);
|
|
42
|
+
// Race between connection and timeout
|
|
43
|
+
const clients = await Promise.race([connectPromise, timeoutPromise]);
|
|
44
|
+
const connection = clients.get(serverName);
|
|
45
|
+
if (!connection) {
|
|
46
|
+
throw new Error('Failed to establish connection');
|
|
47
|
+
}
|
|
48
|
+
this.connections.set(serverName, connection);
|
|
49
|
+
// Get capabilities from the connected server
|
|
50
|
+
const capabilities = await this.getServerCapabilities(serverName, connection);
|
|
51
|
+
results.push({
|
|
52
|
+
serverName,
|
|
53
|
+
connected: true,
|
|
54
|
+
...capabilities,
|
|
55
|
+
});
|
|
56
|
+
logger.debug(`Successfully connected to ${serverName}`);
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
60
|
+
logger.warn(`Failed to connect to server ${serverName}: ${errorMessage}`);
|
|
61
|
+
results.push({
|
|
62
|
+
serverName,
|
|
63
|
+
connected: false,
|
|
64
|
+
tools: [],
|
|
65
|
+
resources: [],
|
|
66
|
+
prompts: [],
|
|
67
|
+
error: errorMessage,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
// Wait for all connections to complete (success or failure)
|
|
72
|
+
await Promise.allSettled(connectionPromises);
|
|
73
|
+
const connectedCount = results.filter((r) => r.connected).length;
|
|
74
|
+
logger.info(`Connected to ${connectedCount}/${serverNames.length} MCP servers`);
|
|
75
|
+
return results;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Get capabilities from a connected MCP server
|
|
79
|
+
*/
|
|
80
|
+
async getServerCapabilities(serverName, connection) {
|
|
81
|
+
const tools = [];
|
|
82
|
+
const resources = [];
|
|
83
|
+
const prompts = [];
|
|
84
|
+
try {
|
|
85
|
+
// Get tools with timeout
|
|
86
|
+
try {
|
|
87
|
+
const toolsResult = await Promise.race([
|
|
88
|
+
connection.client.listTools({}),
|
|
89
|
+
new Promise((_, reject) => setTimeout(() => reject(new Error('Tools listing timeout')), 5000)),
|
|
90
|
+
]);
|
|
91
|
+
if (toolsResult && toolsResult.tools) {
|
|
92
|
+
tools.push(...toolsResult.tools);
|
|
93
|
+
logger.debug(`Got ${toolsResult.tools.length} tools from ${serverName}`);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
catch (error) {
|
|
97
|
+
logger.debug(`Failed to get tools from ${serverName}: ${error instanceof Error ? error.message : error}`);
|
|
98
|
+
}
|
|
99
|
+
// Get resources with timeout
|
|
100
|
+
try {
|
|
101
|
+
const resourcesResult = await Promise.race([
|
|
102
|
+
connection.client.listResources({}),
|
|
103
|
+
new Promise((_, reject) => setTimeout(() => reject(new Error('Resources listing timeout')), 5000)),
|
|
104
|
+
]);
|
|
105
|
+
if (resourcesResult && resourcesResult.resources) {
|
|
106
|
+
resources.push(...resourcesResult.resources);
|
|
107
|
+
logger.debug(`Got ${resourcesResult.resources.length} resources from ${serverName}`);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
catch (error) {
|
|
111
|
+
logger.debug(`Failed to get resources from ${serverName}: ${error instanceof Error ? error.message : error}`);
|
|
112
|
+
}
|
|
113
|
+
// Get prompts with timeout
|
|
114
|
+
try {
|
|
115
|
+
const promptsResult = await Promise.race([
|
|
116
|
+
connection.client.listPrompts({}),
|
|
117
|
+
new Promise((_, reject) => setTimeout(() => reject(new Error('Prompts listing timeout')), 5000)),
|
|
118
|
+
]);
|
|
119
|
+
if (promptsResult && promptsResult.prompts) {
|
|
120
|
+
prompts.push(...promptsResult.prompts);
|
|
121
|
+
logger.debug(`Got ${promptsResult.prompts.length} prompts from ${serverName}`);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
catch (error) {
|
|
125
|
+
logger.debug(`Failed to get prompts from ${serverName}: ${error instanceof Error ? error.message : error}`);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
logger.warn(`Error getting capabilities from ${serverName}: ${error instanceof Error ? error.message : error}`);
|
|
130
|
+
}
|
|
131
|
+
return { tools, resources, prompts };
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Clean up connections
|
|
135
|
+
*/
|
|
136
|
+
async cleanup() {
|
|
137
|
+
logger.debug('Cleaning up MCP connections');
|
|
138
|
+
const cleanupPromises = [];
|
|
139
|
+
for (const [serverName, connection] of this.connections) {
|
|
140
|
+
const cleanupPromise = (async () => {
|
|
141
|
+
try {
|
|
142
|
+
if (connection.client && typeof connection.client.close === 'function') {
|
|
143
|
+
// Add timeout to close operation
|
|
144
|
+
await Promise.race([
|
|
145
|
+
connection.client.close(),
|
|
146
|
+
new Promise((_, reject) => setTimeout(() => reject(new Error('Close operation timeout')), 3000)),
|
|
147
|
+
]);
|
|
148
|
+
}
|
|
149
|
+
logger.debug(`Closed connection to ${serverName}`);
|
|
150
|
+
}
|
|
151
|
+
catch (error) {
|
|
152
|
+
logger.warn(`Error closing connection to ${serverName}: ${error instanceof Error ? error.message : error}`);
|
|
153
|
+
}
|
|
154
|
+
})();
|
|
155
|
+
cleanupPromises.push(cleanupPromise);
|
|
156
|
+
}
|
|
157
|
+
// Wait for all cleanup operations to complete
|
|
158
|
+
await Promise.allSettled(cleanupPromises);
|
|
159
|
+
this.connections.clear();
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
//# sourceMappingURL=connectionHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connectionHelper.js","sourceRoot":"","sources":["../../../../src/commands/mcp/utils/connectionHelper.ts"],"names":[],"mappings":"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"}
|
package/build/constants.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ export declare const STREAMABLE_HTTP_ENDPOINT = "/mcp";
|
|
|
10
10
|
export declare const HEALTH_ENDPOINT = "/health";
|
|
11
11
|
export declare const MCP_CONFIG_FILE = "mcp.json";
|
|
12
12
|
export declare const MCP_SERVER_NAME = "1mcp";
|
|
13
|
-
export declare const MCP_SERVER_VERSION = "0.
|
|
13
|
+
export declare const MCP_SERVER_VERSION = "0.21.0";
|
|
14
14
|
export declare const MCP_URI_SEPARATOR = "_1mcp_";
|
|
15
15
|
export declare const CONFIG_DIR_NAME = "1mcp";
|
|
16
16
|
export declare const BACKUP_DIR_NAME = "backups";
|
package/build/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAG5F,eAAO,MAAM,IAAI,OAAO,CAAC;AACzB,eAAO,MAAM,IAAI,cAAc,CAAC;AAGhC,eAAO,MAAM,YAAY,SAAS,CAAC;AACnC,eAAO,MAAM,iBAAiB,cAAc,CAAC;AAC7C,eAAO,MAAM,wBAAwB,SAAS,CAAC;AAC/C,eAAO,MAAM,eAAe,YAAY,CAAC;AAGzC,eAAO,MAAM,eAAe,aAAa,CAAC;AAC1C,eAAO,MAAM,eAAe,SAAS,CAAC;AACtC,eAAO,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAG5F,eAAO,MAAM,IAAI,OAAO,CAAC;AACzB,eAAO,MAAM,IAAI,cAAc,CAAC;AAGhC,eAAO,MAAM,YAAY,SAAS,CAAC;AACnC,eAAO,MAAM,iBAAiB,cAAc,CAAC;AAC7C,eAAO,MAAM,wBAAwB,SAAS,CAAC;AAC/C,eAAO,MAAM,eAAe,YAAY,CAAC;AAGzC,eAAO,MAAM,eAAe,aAAa,CAAC;AAC1C,eAAO,MAAM,eAAe,SAAS,CAAC;AACtC,eAAO,MAAM,kBAAkB,WAAW,CAAC;AAE3C,eAAO,MAAM,iBAAiB,WAAW,CAAC;AAG1C,eAAO,MAAM,eAAe,SAAS,CAAC;AACtC,eAAO,MAAM,eAAe,YAAY,CAAC;AACzC,eAAO,MAAM,cAAc;;CAE1B,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAY3C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEvD;AAGD,eAAO,MAAM,gBAAgB;;;CAG5B,CAAC;AAGF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkEvB,CAAC;AAGF,eAAO,MAAM,iBAAiB;;;;;;;;CAM7B,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,kBAYrC,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,kBAUrC,CAAC"}
|
package/build/constants.js
CHANGED
|
@@ -12,7 +12,7 @@ export const HEALTH_ENDPOINT = '/health';
|
|
|
12
12
|
// MCP constants
|
|
13
13
|
export const MCP_CONFIG_FILE = 'mcp.json';
|
|
14
14
|
export const MCP_SERVER_NAME = '1mcp';
|
|
15
|
-
export const MCP_SERVER_VERSION = '0.
|
|
15
|
+
export const MCP_SERVER_VERSION = '0.21.0';
|
|
16
16
|
export const MCP_URI_SEPARATOR = '_1mcp_';
|
|
17
17
|
// Global config paths
|
|
18
18
|
export const CONFIG_DIR_NAME = '1mcp';
|
package/build/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,uBAAuB;AACvB,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC;AACzB,MAAM,CAAC,MAAM,IAAI,GAAG,WAAW,CAAC;AAEhC,gBAAgB;AAChB,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC;AACnC,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC;AAC7C,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAC/C,MAAM,CAAC,MAAM,eAAe,GAAG,SAAS,CAAC;AAEzC,gBAAgB;AAChB,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC;AAC1C,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC;AACtC,MAAM,CAAC,MAAM,kBAAkB,GAAG,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import type { Tool, Resource, Prompt } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Token breakdown by capability type
|
|
4
|
+
*/
|
|
5
|
+
export interface TokenBreakdown {
|
|
6
|
+
tools: ToolTokenInfo[];
|
|
7
|
+
resources: ResourceTokenInfo[];
|
|
8
|
+
prompts: PromptTokenInfo[];
|
|
9
|
+
serverOverhead: number;
|
|
10
|
+
totalTokens: number;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Token information for a specific tool
|
|
14
|
+
*/
|
|
15
|
+
export interface ToolTokenInfo {
|
|
16
|
+
name: string;
|
|
17
|
+
tokens: number;
|
|
18
|
+
description?: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Token information for a specific resource
|
|
22
|
+
*/
|
|
23
|
+
export interface ResourceTokenInfo {
|
|
24
|
+
uri: string;
|
|
25
|
+
name?: string;
|
|
26
|
+
tokens: number;
|
|
27
|
+
mimeType?: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Token information for a specific prompt
|
|
31
|
+
*/
|
|
32
|
+
export interface PromptTokenInfo {
|
|
33
|
+
name: string;
|
|
34
|
+
tokens: number;
|
|
35
|
+
description?: string;
|
|
36
|
+
argumentsTokens: number;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Server token estimation summary
|
|
40
|
+
*/
|
|
41
|
+
export interface ServerTokenEstimate {
|
|
42
|
+
serverName: string;
|
|
43
|
+
connected: boolean;
|
|
44
|
+
breakdown: TokenBreakdown;
|
|
45
|
+
error?: string;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Service for estimating MCP token usage using tiktoken
|
|
49
|
+
*/
|
|
50
|
+
export declare class TokenEstimationService {
|
|
51
|
+
private encoder;
|
|
52
|
+
private model;
|
|
53
|
+
private static readonly BASE_SERVER_OVERHEAD;
|
|
54
|
+
private static readonly FALLBACK_CHARS_PER_TOKEN;
|
|
55
|
+
constructor(model?: string);
|
|
56
|
+
/**
|
|
57
|
+
* Estimate tokens for a single tool definition
|
|
58
|
+
*/
|
|
59
|
+
private estimateToolTokens;
|
|
60
|
+
/**
|
|
61
|
+
* Estimate tokens for a single resource
|
|
62
|
+
*/
|
|
63
|
+
private estimateResourceTokens;
|
|
64
|
+
/**
|
|
65
|
+
* Estimate tokens for a single prompt template
|
|
66
|
+
*/
|
|
67
|
+
private estimatePromptTokens;
|
|
68
|
+
/**
|
|
69
|
+
* Estimate tokens for all capabilities of a server
|
|
70
|
+
*/
|
|
71
|
+
estimateServerTokens(serverName: string, tools?: Tool[], resources?: Resource[], prompts?: Prompt[], connected?: boolean): ServerTokenEstimate;
|
|
72
|
+
/**
|
|
73
|
+
* Estimate tokens for prompt arguments
|
|
74
|
+
*/
|
|
75
|
+
private estimateArgumentsTokens;
|
|
76
|
+
/**
|
|
77
|
+
* Calculate aggregate statistics across multiple servers
|
|
78
|
+
*/
|
|
79
|
+
calculateAggregateStats(estimates: ServerTokenEstimate[]): {
|
|
80
|
+
totalServers: number;
|
|
81
|
+
connectedServers: number;
|
|
82
|
+
totalTools: number;
|
|
83
|
+
totalResources: number;
|
|
84
|
+
totalPrompts: number;
|
|
85
|
+
overallTokens: number;
|
|
86
|
+
serverBreakdown: {
|
|
87
|
+
[serverName: string]: number;
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* Clean up resources when done
|
|
92
|
+
*/
|
|
93
|
+
dispose(): void;
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=tokenEstimationService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenEstimationService.d.ts","sourceRoot":"","sources":["../../src/services/tokenEstimationService.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAkB,MAAM,oCAAoC,CAAC;AAGjG;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,cAAc,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,OAAO,CAAM;IACrB,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAM;IAClD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAO;gBAE3C,KAAK,GAAE,MAAiB;IAwBpC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAyB1B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA0B9B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAoC5B;;OAEG;IACI,oBAAoB,CACzB,UAAU,EAAE,MAAM,EAClB,KAAK,GAAE,IAAI,EAAO,EAClB,SAAS,GAAE,QAAQ,EAAO,EAC1B,OAAO,GAAE,MAAM,EAAO,EACtB,SAAS,GAAE,OAAc,GACxB,mBAAmB;IA6DtB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAgB/B;;OAEG;IACI,uBAAuB,CAAC,SAAS,EAAE,mBAAmB,EAAE,GAAG;QAChE,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;QACvB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE;YAAE,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAC;KACnD;IAcD;;OAEG;IACI,OAAO,IAAI,IAAI;CAUvB"}
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
import { encoding_for_model } from 'tiktoken';
|
|
2
|
+
import logger from '../logger/logger.js';
|
|
3
|
+
/**
|
|
4
|
+
* Service for estimating MCP token usage using tiktoken
|
|
5
|
+
*/
|
|
6
|
+
export class TokenEstimationService {
|
|
7
|
+
encoder;
|
|
8
|
+
model;
|
|
9
|
+
static BASE_SERVER_OVERHEAD = 75; // Base overhead for server connection
|
|
10
|
+
static FALLBACK_CHARS_PER_TOKEN = 3.5; // Character-based fallback estimation
|
|
11
|
+
constructor(model = 'gpt-4o') {
|
|
12
|
+
try {
|
|
13
|
+
// Validate and cast the model to TiktokenModel
|
|
14
|
+
this.model = model;
|
|
15
|
+
// Initialize encoder for the specified model
|
|
16
|
+
this.encoder = encoding_for_model(this.model);
|
|
17
|
+
logger.debug(`TokenEstimationService initialized with tiktoken ${this.model} encoding`);
|
|
18
|
+
}
|
|
19
|
+
catch (error) {
|
|
20
|
+
logger.error(`Failed to initialize tiktoken encoder for model ${model}:`, error);
|
|
21
|
+
logger.warn(`Falling back to gpt-4o encoding`);
|
|
22
|
+
// Fallback to gpt-4o if the provided model fails
|
|
23
|
+
try {
|
|
24
|
+
this.model = 'gpt-4o';
|
|
25
|
+
this.encoder = encoding_for_model(this.model);
|
|
26
|
+
}
|
|
27
|
+
catch (fallbackError) {
|
|
28
|
+
logger.error('Failed to initialize fallback encoder:', fallbackError);
|
|
29
|
+
this.encoder = null;
|
|
30
|
+
this.model = 'gpt-4o'; // Keep default for logging purposes
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Estimate tokens for a single tool definition
|
|
36
|
+
*/
|
|
37
|
+
estimateToolTokens(tool) {
|
|
38
|
+
try {
|
|
39
|
+
// Create a representative JSON structure for the tool
|
|
40
|
+
const toolDefinition = {
|
|
41
|
+
name: tool.name,
|
|
42
|
+
description: tool.description,
|
|
43
|
+
inputSchema: tool.inputSchema,
|
|
44
|
+
};
|
|
45
|
+
const toolJson = JSON.stringify(toolDefinition);
|
|
46
|
+
if (this.encoder) {
|
|
47
|
+
const tokens = this.encoder.encode(toolJson);
|
|
48
|
+
return tokens.length;
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
// Fallback to character-based estimation
|
|
52
|
+
return Math.ceil(toolJson.length / TokenEstimationService.FALLBACK_CHARS_PER_TOKEN);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
logger.warn(`Error estimating tokens for tool ${tool.name}:`, error);
|
|
57
|
+
// Fallback estimation based on typical tool size
|
|
58
|
+
return 150;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Estimate tokens for a single resource
|
|
63
|
+
*/
|
|
64
|
+
estimateResourceTokens(resource) {
|
|
65
|
+
try {
|
|
66
|
+
// Create a representative structure for the resource metadata
|
|
67
|
+
const resourceMeta = {
|
|
68
|
+
uri: resource.uri,
|
|
69
|
+
name: resource.name,
|
|
70
|
+
description: resource.description,
|
|
71
|
+
mimeType: resource.mimeType,
|
|
72
|
+
};
|
|
73
|
+
const resourceJson = JSON.stringify(resourceMeta);
|
|
74
|
+
if (this.encoder) {
|
|
75
|
+
const tokens = this.encoder.encode(resourceJson);
|
|
76
|
+
return tokens.length;
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
// Fallback to character-based estimation
|
|
80
|
+
return Math.ceil(resourceJson.length / TokenEstimationService.FALLBACK_CHARS_PER_TOKEN);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
catch (error) {
|
|
84
|
+
logger.warn(`Error estimating tokens for resource ${resource.uri}:`, error);
|
|
85
|
+
// Fallback estimation based on typical resource size
|
|
86
|
+
return 50;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Estimate tokens for a single prompt template
|
|
91
|
+
*/
|
|
92
|
+
estimatePromptTokens(prompt) {
|
|
93
|
+
try {
|
|
94
|
+
// Estimate tokens for the prompt template and arguments
|
|
95
|
+
let totalTokens = 0;
|
|
96
|
+
// Count tokens for prompt name and description
|
|
97
|
+
const promptMeta = {
|
|
98
|
+
name: prompt.name,
|
|
99
|
+
description: prompt.description,
|
|
100
|
+
};
|
|
101
|
+
const promptMetaJson = JSON.stringify(promptMeta);
|
|
102
|
+
if (this.encoder) {
|
|
103
|
+
totalTokens += this.encoder.encode(promptMetaJson).length;
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
totalTokens += Math.ceil(promptMetaJson.length / TokenEstimationService.FALLBACK_CHARS_PER_TOKEN);
|
|
107
|
+
}
|
|
108
|
+
// Count tokens for arguments
|
|
109
|
+
if (prompt.arguments) {
|
|
110
|
+
const argumentsJson = JSON.stringify(prompt.arguments);
|
|
111
|
+
if (this.encoder) {
|
|
112
|
+
totalTokens += this.encoder.encode(argumentsJson).length;
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
totalTokens += Math.ceil(argumentsJson.length / TokenEstimationService.FALLBACK_CHARS_PER_TOKEN);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return totalTokens;
|
|
119
|
+
}
|
|
120
|
+
catch (error) {
|
|
121
|
+
logger.warn(`Error estimating tokens for prompt ${prompt.name}:`, error);
|
|
122
|
+
// Fallback estimation based on typical prompt size
|
|
123
|
+
return 100;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Estimate tokens for all capabilities of a server
|
|
128
|
+
*/
|
|
129
|
+
estimateServerTokens(serverName, tools = [], resources = [], prompts = [], connected = true) {
|
|
130
|
+
try {
|
|
131
|
+
logger.debug(`Estimating tokens for server: ${serverName}`);
|
|
132
|
+
// Calculate token breakdown by capability type
|
|
133
|
+
const toolTokens = tools.map((tool) => ({
|
|
134
|
+
name: tool.name,
|
|
135
|
+
description: tool.description,
|
|
136
|
+
tokens: this.estimateToolTokens(tool),
|
|
137
|
+
}));
|
|
138
|
+
const resourceTokens = resources.map((resource) => ({
|
|
139
|
+
uri: resource.uri,
|
|
140
|
+
name: resource.name,
|
|
141
|
+
mimeType: resource.mimeType,
|
|
142
|
+
tokens: this.estimateResourceTokens(resource),
|
|
143
|
+
}));
|
|
144
|
+
const promptTokens = prompts.map((prompt) => ({
|
|
145
|
+
name: prompt.name,
|
|
146
|
+
description: prompt.description,
|
|
147
|
+
tokens: this.estimatePromptTokens(prompt),
|
|
148
|
+
argumentsTokens: prompt.arguments ? this.estimateArgumentsTokens(prompt.arguments) : 0,
|
|
149
|
+
}));
|
|
150
|
+
// Calculate totals
|
|
151
|
+
const totalToolTokens = toolTokens.reduce((sum, tool) => sum + tool.tokens, 0);
|
|
152
|
+
const totalResourceTokens = resourceTokens.reduce((sum, resource) => sum + resource.tokens, 0);
|
|
153
|
+
const totalPromptTokens = promptTokens.reduce((sum, prompt) => sum + prompt.tokens, 0);
|
|
154
|
+
const serverOverhead = TokenEstimationService.BASE_SERVER_OVERHEAD;
|
|
155
|
+
const breakdown = {
|
|
156
|
+
tools: toolTokens,
|
|
157
|
+
resources: resourceTokens,
|
|
158
|
+
prompts: promptTokens,
|
|
159
|
+
serverOverhead,
|
|
160
|
+
totalTokens: totalToolTokens + totalResourceTokens + totalPromptTokens + serverOverhead,
|
|
161
|
+
};
|
|
162
|
+
return {
|
|
163
|
+
serverName,
|
|
164
|
+
connected,
|
|
165
|
+
breakdown,
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
catch (error) {
|
|
169
|
+
logger.error(`Error estimating tokens for server ${serverName}:`, error);
|
|
170
|
+
return {
|
|
171
|
+
serverName,
|
|
172
|
+
connected,
|
|
173
|
+
breakdown: {
|
|
174
|
+
tools: [],
|
|
175
|
+
resources: [],
|
|
176
|
+
prompts: [],
|
|
177
|
+
serverOverhead: TokenEstimationService.BASE_SERVER_OVERHEAD,
|
|
178
|
+
totalTokens: TokenEstimationService.BASE_SERVER_OVERHEAD,
|
|
179
|
+
},
|
|
180
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Estimate tokens for prompt arguments
|
|
186
|
+
*/
|
|
187
|
+
estimateArgumentsTokens(arguments_) {
|
|
188
|
+
try {
|
|
189
|
+
const argumentsJson = JSON.stringify(arguments_);
|
|
190
|
+
if (this.encoder) {
|
|
191
|
+
const tokens = this.encoder.encode(argumentsJson);
|
|
192
|
+
return tokens.length;
|
|
193
|
+
}
|
|
194
|
+
else {
|
|
195
|
+
return Math.ceil(argumentsJson.length / TokenEstimationService.FALLBACK_CHARS_PER_TOKEN);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
catch (error) {
|
|
199
|
+
logger.warn('Error estimating tokens for prompt arguments:', error);
|
|
200
|
+
return 25; // Conservative fallback
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Calculate aggregate statistics across multiple servers
|
|
205
|
+
*/
|
|
206
|
+
calculateAggregateStats(estimates) {
|
|
207
|
+
const connectedEstimates = estimates.filter((est) => est.connected && !est.error);
|
|
208
|
+
return {
|
|
209
|
+
totalServers: estimates.length,
|
|
210
|
+
connectedServers: connectedEstimates.length,
|
|
211
|
+
totalTools: connectedEstimates.reduce((sum, est) => sum + est.breakdown.tools.length, 0),
|
|
212
|
+
totalResources: connectedEstimates.reduce((sum, est) => sum + est.breakdown.resources.length, 0),
|
|
213
|
+
totalPrompts: connectedEstimates.reduce((sum, est) => sum + est.breakdown.prompts.length, 0),
|
|
214
|
+
overallTokens: connectedEstimates.reduce((sum, est) => sum + est.breakdown.totalTokens, 0),
|
|
215
|
+
serverBreakdown: Object.fromEntries(connectedEstimates.map((est) => [est.serverName, est.breakdown.totalTokens])),
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Clean up resources when done
|
|
220
|
+
*/
|
|
221
|
+
dispose() {
|
|
222
|
+
if (this.encoder && typeof this.encoder.free === 'function') {
|
|
223
|
+
try {
|
|
224
|
+
this.encoder.free();
|
|
225
|
+
logger.debug('TokenEstimationService encoder disposed');
|
|
226
|
+
}
|
|
227
|
+
catch (error) {
|
|
228
|
+
logger.warn('Error disposing tiktoken encoder:', error);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
//# sourceMappingURL=tokenEstimationService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenEstimationService.js","sourceRoot":"","sources":["../../src/services/tokenEstimationService.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@1mcp/agent",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.21.0",
|
|
4
4
|
"description": "One MCP server to aggregate them all - A unified Model Context Protocol server implementation",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"mcp",
|
|
@@ -61,10 +61,11 @@
|
|
|
61
61
|
"express-rate-limit": "^7.5.1",
|
|
62
62
|
"json5": "^2.2.3",
|
|
63
63
|
"source-map-support": "^0.5.21",
|
|
64
|
+
"tiktoken": "^1.0.22",
|
|
64
65
|
"uuid": "^11.1.0",
|
|
65
66
|
"winston": "^3.17.0",
|
|
66
67
|
"winston-transport": "^4.9.0",
|
|
67
|
-
"yargs": "^
|
|
68
|
+
"yargs": "^18.0.0",
|
|
68
69
|
"yargs-parser": "^22.0.0",
|
|
69
70
|
"zod": "^3.24.2"
|
|
70
71
|
},
|