@1mcp/agent 0.29.2 → 0.30.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/build/commands/serve/index.d.ts +58 -0
- package/build/commands/serve/index.d.ts.map +1 -1
- package/build/commands/serve/index.js +70 -0
- package/build/commands/serve/index.js.map +1 -1
- package/build/commands/serve/serve.d.ts +11 -0
- package/build/commands/serve/serve.d.ts.map +1 -1
- package/build/commands/serve/serve.js +73 -1
- package/build/commands/serve/serve.js.map +1 -1
- package/build/constants/mcp.d.ts +1 -1
- package/build/constants/mcp.d.ts.map +1 -1
- package/build/constants/mcp.js +1 -1
- package/build/constants/mcp.js.map +1 -1
- package/build/core/capabilities/capabilityAggregator.d.ts.map +1 -1
- package/build/core/capabilities/capabilityAggregator.js +42 -18
- package/build/core/capabilities/capabilityAggregator.js.map +1 -1
- package/build/core/capabilities/capabilityManager.d.ts +3 -2
- package/build/core/capabilities/capabilityManager.d.ts.map +1 -1
- package/build/core/capabilities/capabilityManager.js +3 -3
- package/build/core/capabilities/capabilityManager.js.map +1 -1
- package/build/core/capabilities/internal/installationTools.d.ts.map +1 -1
- package/build/core/capabilities/internal/installationTools.js +4 -0
- package/build/core/capabilities/internal/installationTools.js.map +1 -1
- package/build/core/capabilities/internal/lazyTools.d.ts +11 -0
- package/build/core/capabilities/internal/lazyTools.d.ts.map +1 -0
- package/build/core/capabilities/internal/lazyTools.js +48 -0
- package/build/core/capabilities/internal/lazyTools.js.map +1 -0
- package/build/core/capabilities/internal/managementTools.d.ts.map +1 -1
- package/build/core/capabilities/internal/managementTools.js +9 -0
- package/build/core/capabilities/internal/managementTools.js.map +1 -1
- package/build/core/capabilities/internalCapabilitiesProvider.d.ts +7 -1
- package/build/core/capabilities/internalCapabilitiesProvider.d.ts.map +1 -1
- package/build/core/capabilities/internalCapabilitiesProvider.js +31 -2
- package/build/core/capabilities/internalCapabilitiesProvider.js.map +1 -1
- package/build/core/capabilities/lazyLoadingOrchestrator.d.ts +175 -0
- package/build/core/capabilities/lazyLoadingOrchestrator.d.ts.map +1 -0
- package/build/core/capabilities/lazyLoadingOrchestrator.js +515 -0
- package/build/core/capabilities/lazyLoadingOrchestrator.js.map +1 -0
- package/build/core/capabilities/metaToolProvider.d.ts +118 -0
- package/build/core/capabilities/metaToolProvider.d.ts.map +1 -0
- package/build/core/capabilities/metaToolProvider.js +374 -0
- package/build/core/capabilities/metaToolProvider.js.map +1 -0
- package/build/core/capabilities/schemaCache.d.ts +124 -0
- package/build/core/capabilities/schemaCache.d.ts.map +1 -0
- package/build/core/capabilities/schemaCache.js +248 -0
- package/build/core/capabilities/schemaCache.js.map +1 -0
- package/build/core/capabilities/schemas/metaToolSchemas.d.ts +92 -0
- package/build/core/capabilities/schemas/metaToolSchemas.d.ts.map +1 -0
- package/build/core/capabilities/schemas/metaToolSchemas.js +68 -0
- package/build/core/capabilities/schemas/metaToolSchemas.js.map +1 -0
- package/build/core/capabilities/toolRegistry.d.ts +140 -0
- package/build/core/capabilities/toolRegistry.d.ts.map +1 -0
- package/build/core/capabilities/toolRegistry.js +284 -0
- package/build/core/capabilities/toolRegistry.js.map +1 -0
- package/build/core/client/clientManager.d.ts.map +1 -1
- package/build/core/client/clientManager.js +11 -5
- package/build/core/client/clientManager.js.map +1 -1
- package/build/core/flags/flagManager.d.ts.map +1 -1
- package/build/core/flags/flagManager.js +14 -1
- package/build/core/flags/flagManager.js.map +1 -1
- package/build/core/instructions/instructionAggregator.d.ts +21 -0
- package/build/core/instructions/instructionAggregator.d.ts.map +1 -1
- package/build/core/instructions/instructionAggregator.js +78 -3
- package/build/core/instructions/instructionAggregator.js.map +1 -1
- package/build/core/instructions/templateTypes.d.ts +40 -1
- package/build/core/instructions/templateTypes.d.ts.map +1 -1
- package/build/core/instructions/templateTypes.js +70 -0
- package/build/core/instructions/templateTypes.js.map +1 -1
- package/build/core/protocol/requestHandlers.d.ts +2 -1
- package/build/core/protocol/requestHandlers.d.ts.map +1 -1
- package/build/core/protocol/requestHandlers.js +112 -84
- package/build/core/protocol/requestHandlers.js.map +1 -1
- package/build/core/server/adapters/ExternalServerAdapter.d.ts +38 -0
- package/build/core/server/adapters/ExternalServerAdapter.d.ts.map +1 -0
- package/build/core/server/adapters/ExternalServerAdapter.js +50 -0
- package/build/core/server/adapters/ExternalServerAdapter.js.map +1 -0
- package/build/core/server/adapters/ServerRegistry.d.ts +63 -0
- package/build/core/server/adapters/ServerRegistry.d.ts.map +1 -0
- package/build/core/server/adapters/ServerRegistry.js +92 -0
- package/build/core/server/adapters/ServerRegistry.js.map +1 -0
- package/build/core/server/adapters/TemplateServerAdapter.d.ts +47 -0
- package/build/core/server/adapters/TemplateServerAdapter.d.ts.map +1 -0
- package/build/core/server/adapters/TemplateServerAdapter.js +99 -0
- package/build/core/server/adapters/TemplateServerAdapter.js.map +1 -0
- package/build/core/server/adapters/index.d.ts +5 -0
- package/build/core/server/adapters/index.d.ts.map +1 -0
- package/build/core/server/adapters/index.js +6 -0
- package/build/core/server/adapters/index.js.map +1 -0
- package/build/core/server/adapters/types.d.ts +122 -0
- package/build/core/server/adapters/types.d.ts.map +1 -0
- package/build/core/server/adapters/types.js +48 -0
- package/build/core/server/adapters/types.js.map +1 -0
- package/build/core/server/agentConfig.d.ts +19 -0
- package/build/core/server/agentConfig.d.ts.map +1 -1
- package/build/core/server/agentConfig.js +19 -0
- package/build/core/server/agentConfig.js.map +1 -1
- package/build/core/server/connectionManager.d.ts +17 -1
- package/build/core/server/connectionManager.d.ts.map +1 -1
- package/build/core/server/connectionManager.js +65 -5
- package/build/core/server/connectionManager.js.map +1 -1
- package/build/core/server/connectionResolver.d.ts +81 -0
- package/build/core/server/connectionResolver.d.ts.map +1 -0
- package/build/core/server/connectionResolver.js +140 -0
- package/build/core/server/connectionResolver.js.map +1 -0
- package/build/core/server/serverManager.d.ts +13 -0
- package/build/core/server/serverManager.d.ts.map +1 -1
- package/build/core/server/serverManager.js +49 -2
- package/build/core/server/serverManager.js.map +1 -1
- package/build/core/server/templateServerManager.d.ts +16 -0
- package/build/core/server/templateServerManager.d.ts.map +1 -1
- package/build/core/server/templateServerManager.js +45 -0
- package/build/core/server/templateServerManager.js.map +1 -1
- package/build/domains/preset/manager/presetManager.d.ts +5 -0
- package/build/domains/preset/manager/presetManager.d.ts.map +1 -1
- package/build/domains/preset/manager/presetManager.js +7 -0
- package/build/domains/preset/manager/presetManager.js.map +1 -1
- package/build/logger/logger.d.ts +13 -0
- package/build/logger/logger.d.ts.map +1 -1
- package/build/logger/logger.js +41 -0
- package/build/logger/logger.js.map +1 -1
- package/build/server.d.ts +3 -0
- package/build/server.d.ts.map +1 -1
- package/build/server.js +32 -0
- package/build/server.js.map +1 -1
- package/build/transport/http/middlewares/tagsExtractor.d.ts.map +1 -1
- package/build/transport/http/middlewares/tagsExtractor.js +71 -1
- package/build/transport/http/middlewares/tagsExtractor.js.map +1 -1
- package/package.json +1 -1
|
@@ -3,6 +3,7 @@ import { MCP_URI_SEPARATOR } from '../../constants.js';
|
|
|
3
3
|
import { InternalCapabilitiesProvider } from '../../core/capabilities/internalCapabilitiesProvider.js';
|
|
4
4
|
import { byCapabilities } from '../../core/filtering/clientFiltering.js';
|
|
5
5
|
import { FilteringService } from '../../core/filtering/filteringService.js';
|
|
6
|
+
import { createConnectionResolver } from '../../core/server/connectionResolver.js';
|
|
6
7
|
import { ServerManager } from '../../core/server/serverManager.js';
|
|
7
8
|
import { ClientStatus } from '../../core/types/index.js';
|
|
8
9
|
import { setLogLevel } from '../../logger/logger.js';
|
|
@@ -37,31 +38,10 @@ function getRequestSession(inboundConn) {
|
|
|
37
38
|
* @returns The resolved outbound connection or undefined
|
|
38
39
|
*/
|
|
39
40
|
function resolveOutboundConnection(clientName, sessionId, outboundConns) {
|
|
40
|
-
//
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
if (conn) {
|
|
45
|
-
return conn;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
// Try rendered hash-based key (for shareable template servers: name:renderedHash)
|
|
49
|
-
if (sessionId) {
|
|
50
|
-
// Access the session-to-renderedHash mapping from TemplateServerManager
|
|
51
|
-
const templateServerManager = ServerManager.current.getTemplateServerManager();
|
|
52
|
-
if (templateServerManager) {
|
|
53
|
-
const renderedHash = templateServerManager.getRenderedHashForSession(sessionId, clientName);
|
|
54
|
-
if (renderedHash) {
|
|
55
|
-
const hashKey = `${clientName}:${renderedHash}`;
|
|
56
|
-
const conn = outboundConns.get(hashKey);
|
|
57
|
-
if (conn) {
|
|
58
|
-
return conn;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
// Fall back to direct name lookup (for static servers)
|
|
64
|
-
return outboundConns.get(clientName);
|
|
41
|
+
// Delegate to ConnectionResolver for cleaner abstraction
|
|
42
|
+
const templateServerManager = ServerManager.current.getTemplateServerManager();
|
|
43
|
+
const resolver = createConnectionResolver(outboundConns, templateServerManager);
|
|
44
|
+
return resolver.resolve(clientName, sessionId);
|
|
65
45
|
}
|
|
66
46
|
/**
|
|
67
47
|
* Filter outbound connections for a specific session.
|
|
@@ -75,43 +55,10 @@ function resolveOutboundConnection(clientName, sessionId, outboundConns) {
|
|
|
75
55
|
* @returns A filtered map of outbound connections
|
|
76
56
|
*/
|
|
77
57
|
function filterConnectionsForSession(outboundConns, sessionId) {
|
|
78
|
-
|
|
79
|
-
// Get rendered hashes for this session
|
|
80
|
-
const sessionHashes = getSessionRenderedHashes(sessionId);
|
|
81
|
-
for (const [key, conn] of outboundConns.entries()) {
|
|
82
|
-
// Static servers (no : in key) - always include
|
|
83
|
-
if (!key.includes(':')) {
|
|
84
|
-
filtered.set(key, conn);
|
|
85
|
-
continue;
|
|
86
|
-
}
|
|
87
|
-
// Template servers (format: name:xxx)
|
|
88
|
-
const [name, suffix] = key.split(':');
|
|
89
|
-
// Per-client template servers (format: name:sessionId) - only include if session matches
|
|
90
|
-
if (suffix === sessionId) {
|
|
91
|
-
filtered.set(key, conn);
|
|
92
|
-
continue;
|
|
93
|
-
}
|
|
94
|
-
// Shareable template servers (format: name:renderedHash) - include if this session uses this hash
|
|
95
|
-
if (sessionHashes && sessionHashes.has(name) && sessionHashes.get(name) === suffix) {
|
|
96
|
-
filtered.set(key, conn);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
return filtered;
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Get all rendered hashes for a specific session.
|
|
103
|
-
* Used by filterConnectionsForSession to determine which shareable connections to include.
|
|
104
|
-
* @param sessionId The session ID (optional)
|
|
105
|
-
* @returns Map of templateName to renderedHash, or undefined if no session
|
|
106
|
-
*/
|
|
107
|
-
function getSessionRenderedHashes(sessionId) {
|
|
108
|
-
if (!sessionId)
|
|
109
|
-
return undefined;
|
|
58
|
+
// Delegate to ConnectionResolver for cleaner abstraction
|
|
110
59
|
const templateServerManager = ServerManager.current.getTemplateServerManager();
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
}
|
|
114
|
-
return undefined;
|
|
60
|
+
const resolver = createConnectionResolver(outboundConns, templateServerManager);
|
|
61
|
+
return resolver.filterForSession(sessionId);
|
|
115
62
|
}
|
|
116
63
|
/**
|
|
117
64
|
* Registers server-specific request handlers
|
|
@@ -158,7 +105,7 @@ function registerServerRequestHandlers(outboundConns, inboundConn) {
|
|
|
158
105
|
* @param capabilities The server capabilities
|
|
159
106
|
* @param tags Array of tags to filter clients by
|
|
160
107
|
*/
|
|
161
|
-
export function registerRequestHandlers(outboundConns, inboundConn) {
|
|
108
|
+
export function registerRequestHandlers(outboundConns, inboundConn, lazyLoadingOrchestrator) {
|
|
162
109
|
// Register logging level handler
|
|
163
110
|
inboundConn.server.setRequestHandler(SetLevelRequestSchema, async (request) => {
|
|
164
111
|
setLogLevel(request.params.level);
|
|
@@ -186,7 +133,7 @@ export function registerRequestHandlers(outboundConns, inboundConn) {
|
|
|
186
133
|
// Register resource-related handlers
|
|
187
134
|
registerResourceHandlers(outboundConns, inboundConn);
|
|
188
135
|
// Register tool-related handlers
|
|
189
|
-
registerToolHandlers(outboundConns, inboundConn);
|
|
136
|
+
registerToolHandlers(outboundConns, inboundConn, lazyLoadingOrchestrator);
|
|
190
137
|
// Register prompt-related handlers
|
|
191
138
|
registerPromptHandlers(outboundConns, inboundConn);
|
|
192
139
|
// Register completion-related handlers
|
|
@@ -218,22 +165,6 @@ function registerResourceHandlers(outboundConns, inboundConn) {
|
|
|
218
165
|
};
|
|
219
166
|
}, 'Error listing resources'));
|
|
220
167
|
// List Resource Templates handler
|
|
221
|
-
inboundConn.server.setRequestHandler(ListResourceTemplatesRequestSchema, withErrorHandling(async (request) => {
|
|
222
|
-
// Filter connections for this session first
|
|
223
|
-
const sessionFilteredConns = filterConnectionsForSession(outboundConns, sessionId);
|
|
224
|
-
// Then filter by capabilities, then by tags
|
|
225
|
-
const capabilityFilteredClients = byCapabilities({ resources: {} })(sessionFilteredConns);
|
|
226
|
-
const filteredClients = FilteringService.getFilteredConnections(capabilityFilteredClients, inboundConn);
|
|
227
|
-
const result = await handlePagination(filteredClients, request.params || {}, (client, params, opts) => client.listResourceTemplates(params, opts), (outboundConn, result) => result.resourceTemplates?.map((template) => ({
|
|
228
|
-
...template,
|
|
229
|
-
uriTemplate: buildUri(outboundConn.name, template.uriTemplate, MCP_URI_SEPARATOR),
|
|
230
|
-
})) ?? [], inboundConn.enablePagination ?? false);
|
|
231
|
-
return {
|
|
232
|
-
resources: result.items,
|
|
233
|
-
nextCursor: result.nextCursor,
|
|
234
|
-
};
|
|
235
|
-
}, 'Error listing resources'));
|
|
236
|
-
// List Resource Templates handler
|
|
237
168
|
inboundConn.server.setRequestHandler(ListResourceTemplatesRequestSchema, withErrorHandling(async (request) => {
|
|
238
169
|
// Filter connections for this session first
|
|
239
170
|
const sessionFilteredConns = filterConnectionsForSession(outboundConns, sessionId);
|
|
@@ -297,10 +228,58 @@ function registerResourceHandlers(outboundConns, inboundConn) {
|
|
|
297
228
|
* @param clients Record of client instances
|
|
298
229
|
* @param serverInfo The MCP server instance
|
|
299
230
|
*/
|
|
300
|
-
function registerToolHandlers(outboundConns, inboundConn) {
|
|
231
|
+
function registerToolHandlers(outboundConns, inboundConn, lazyLoadingOrchestrator) {
|
|
301
232
|
const sessionId = getRequestSession(inboundConn);
|
|
233
|
+
const lazyLoadingEnabled = lazyLoadingOrchestrator?.isEnabled();
|
|
302
234
|
// List Tools handler
|
|
303
235
|
inboundConn.server.setRequestHandler(ListToolsRequestSchema, withErrorHandling(async (request) => {
|
|
236
|
+
// If lazy loading is enabled, use LazyLoadingOrchestrator for tool listing
|
|
237
|
+
if (lazyLoadingEnabled && lazyLoadingOrchestrator) {
|
|
238
|
+
// Apply the same filtering chain as normal mode
|
|
239
|
+
// Step 1: Filter by session (for template servers like serena)
|
|
240
|
+
const sessionFilteredConns = filterConnectionsForSession(outboundConns, sessionId);
|
|
241
|
+
// Step 2: Filter by capability (servers with tools)
|
|
242
|
+
const capabilityFilteredClients = byCapabilities({ tools: {} })(sessionFilteredConns);
|
|
243
|
+
// Step 3: Filter by preset/tag configuration
|
|
244
|
+
const filteredClients = FilteringService.getFilteredConnections(capabilityFilteredClients, inboundConn);
|
|
245
|
+
// Get the set of filtered server names
|
|
246
|
+
const filteredServerNames = new Set(Array.from(filteredClients.values()).map((conn) => conn.name));
|
|
247
|
+
// Debug logging
|
|
248
|
+
logger.info('Lazy loading: filtered servers', {
|
|
249
|
+
totalOutbound: outboundConns.size,
|
|
250
|
+
sessionFiltered: sessionFilteredConns.size,
|
|
251
|
+
capabilityFiltered: capabilityFilteredClients.size,
|
|
252
|
+
finalFiltered: filteredClients.size,
|
|
253
|
+
filteredServerNames: Array.from(filteredServerNames),
|
|
254
|
+
inboundConfig: {
|
|
255
|
+
tagFilterMode: inboundConn.tagFilterMode,
|
|
256
|
+
tags: inboundConn.tags,
|
|
257
|
+
tagExpression: inboundConn.tagExpression,
|
|
258
|
+
},
|
|
259
|
+
});
|
|
260
|
+
// Get capabilities from orchestrator with filtered servers
|
|
261
|
+
// Store the session filter so that subsequent tool_list meta-tool calls
|
|
262
|
+
// will return only tools from the filtered servers
|
|
263
|
+
const capabilities = await lazyLoadingOrchestrator.getCapabilitiesForFilteredServers(filteredServerNames, sessionId);
|
|
264
|
+
// Get internal tools (always fully loaded) - filter out lazy tools when lazy loading is enabled
|
|
265
|
+
const internalProvider = InternalCapabilitiesProvider.getInstance();
|
|
266
|
+
await internalProvider.initialize();
|
|
267
|
+
const internalTools = internalProvider.getAvailableTools();
|
|
268
|
+
// Filter out lazy tools since they're provided by the MetaToolProvider
|
|
269
|
+
const lazyToolNames = ['tool_list', 'tool_schema', 'tool_invoke'];
|
|
270
|
+
const nonLazyTools = internalTools.filter((tool) => !lazyToolNames.includes(tool.name));
|
|
271
|
+
// Add internal tools to the result (with 1mcp prefix)
|
|
272
|
+
const internalToolsWithPrefix = nonLazyTools.map((tool) => ({
|
|
273
|
+
...tool,
|
|
274
|
+
name: buildUri('1mcp', tool.name, MCP_URI_SEPARATOR),
|
|
275
|
+
}));
|
|
276
|
+
// Combine lazy-loaded tools with internal tools
|
|
277
|
+
const allTools = [...capabilities.tools, ...internalToolsWithPrefix];
|
|
278
|
+
return {
|
|
279
|
+
tools: allTools,
|
|
280
|
+
};
|
|
281
|
+
}
|
|
282
|
+
// Normal mode: get tools from external MCP servers
|
|
304
283
|
// Filter connections for this session first
|
|
305
284
|
const sessionFilteredConns = filterConnectionsForSession(outboundConns, sessionId);
|
|
306
285
|
// Then filter by capabilities, then by tags
|
|
@@ -329,12 +308,61 @@ function registerToolHandlers(outboundConns, inboundConn) {
|
|
|
329
308
|
}, 'Error listing tools'));
|
|
330
309
|
// Call Tool handler
|
|
331
310
|
inboundConn.server.setRequestHandler(CallToolRequestSchema, withErrorHandling(async (request) => {
|
|
332
|
-
const
|
|
333
|
-
//
|
|
311
|
+
const toolName = request.params.name;
|
|
312
|
+
// Check if this is an unprefixed meta-tool call (when lazy loading is enabled)
|
|
313
|
+
const isUnprefixedMetaTool = lazyLoadingEnabled && lazyLoadingOrchestrator && lazyLoadingOrchestrator.isMetaTool(toolName);
|
|
314
|
+
if (isUnprefixedMetaTool && lazyLoadingOrchestrator) {
|
|
315
|
+
let result;
|
|
316
|
+
try {
|
|
317
|
+
result = await lazyLoadingOrchestrator.callMetaTool(toolName, request.params.arguments, sessionId);
|
|
318
|
+
}
|
|
319
|
+
catch (metaToolError) {
|
|
320
|
+
logger.error(`Meta-tool ${toolName} execution failed: ${metaToolError}`);
|
|
321
|
+
throw new Error(`Meta-tool ${toolName} failed: ${metaToolError instanceof Error ? metaToolError.message : String(metaToolError)}`);
|
|
322
|
+
}
|
|
323
|
+
// CRITICAL: Do not throw errors for structured error responses
|
|
324
|
+
// Meta-tools return structured errors in the result itself (with error.type and error.message)
|
|
325
|
+
// These should be returned to the client as-is, not thrown as exceptions
|
|
326
|
+
// The client will parse the structured error from the content field
|
|
327
|
+
// Return both content and structuredContent (required by MCP protocol for tools with outputSchema)
|
|
328
|
+
return {
|
|
329
|
+
content: [
|
|
330
|
+
{
|
|
331
|
+
type: 'text',
|
|
332
|
+
text: JSON.stringify(result, null, 2),
|
|
333
|
+
},
|
|
334
|
+
],
|
|
335
|
+
structuredContent: result,
|
|
336
|
+
};
|
|
337
|
+
}
|
|
338
|
+
// CRITICAL: Handle unprefixed tool names when lazy loading is enabled
|
|
339
|
+
// If lazy loading is on and the tool name doesn't have the URI separator format,
|
|
340
|
+
// return a proper error instead of throwing during URI parsing
|
|
341
|
+
const isUnprefixedTool = lazyLoadingEnabled && !toolName.includes(MCP_URI_SEPARATOR);
|
|
342
|
+
if (isUnprefixedTool) {
|
|
343
|
+
// Unknown unprefixed tool in lazy loading mode
|
|
344
|
+
const errorResult = {
|
|
345
|
+
error: {
|
|
346
|
+
type: 'not_found',
|
|
347
|
+
message: `Unknown tool: ${toolName}. In lazy loading mode, use meta-tools (tool_list, tool_schema, tool_invoke) to discover and call tools.`,
|
|
348
|
+
},
|
|
349
|
+
};
|
|
350
|
+
return {
|
|
351
|
+
content: [
|
|
352
|
+
{
|
|
353
|
+
type: 'text',
|
|
354
|
+
text: JSON.stringify(errorResult, null, 2),
|
|
355
|
+
},
|
|
356
|
+
],
|
|
357
|
+
structuredContent: errorResult,
|
|
358
|
+
};
|
|
359
|
+
}
|
|
360
|
+
const { clientName, resourceName: extractedToolName } = parseUri(toolName, MCP_URI_SEPARATOR);
|
|
361
|
+
// Handle 1mcp tools (includes both internal tools and lazy tools)
|
|
334
362
|
if (clientName === '1mcp') {
|
|
335
363
|
const internalProvider = InternalCapabilitiesProvider.getInstance();
|
|
336
364
|
await internalProvider.initialize();
|
|
337
|
-
const result = await internalProvider.executeTool(
|
|
365
|
+
const result = await internalProvider.executeTool(extractedToolName, request.params.arguments, sessionId);
|
|
338
366
|
// For tools with output schemas, return both content and structuredContent
|
|
339
367
|
// This is required by the MCP protocol when outputSchema is defined
|
|
340
368
|
return {
|
|
@@ -352,7 +380,7 @@ function registerToolHandlers(outboundConns, inboundConn) {
|
|
|
352
380
|
if (!outboundConn) {
|
|
353
381
|
throw new Error(`Unknown client: ${clientName}`);
|
|
354
382
|
}
|
|
355
|
-
return outboundConn.client.callTool({ ...request.params, name:
|
|
383
|
+
return outboundConn.client.callTool({ ...request.params, name: extractedToolName }, CallToolResultSchema, {
|
|
356
384
|
timeout: getRequestTimeout(outboundConn.transport),
|
|
357
385
|
});
|
|
358
386
|
}, 'Error calling tool'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestHandlers.js","sourceRoot":"","sources":["../../../src/core/protocol/requestHandlers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"requestHandlers.js","sourceRoot":"","sources":["../../../src/core/protocol/requestHandlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { OutboundConnection, OutboundConnections } from '../../../core/types/client.js';
|
|
2
|
+
import type { MCPServerParams } from '../../../core/types/index.js';
|
|
3
|
+
import { ServerAdapter, ServerContext, ServerStatus, ServerType } from './types.js';
|
|
4
|
+
/**
|
|
5
|
+
* ExternalServerAdapter handles external MCP servers with static connections.
|
|
6
|
+
*
|
|
7
|
+
* External servers are configured in mcp.json and have a single, persistent
|
|
8
|
+
* connection that doesn't vary by session. The adapter is a read-only wrapper
|
|
9
|
+
* that provides unified access to these connections.
|
|
10
|
+
*
|
|
11
|
+
* Key format: serverName (no colon)
|
|
12
|
+
*/
|
|
13
|
+
export declare class ExternalServerAdapter implements ServerAdapter {
|
|
14
|
+
readonly name: string;
|
|
15
|
+
readonly config: MCPServerParams;
|
|
16
|
+
private readonly outboundConns;
|
|
17
|
+
readonly type = ServerType.External;
|
|
18
|
+
constructor(name: string, config: MCPServerParams, outboundConns: OutboundConnections);
|
|
19
|
+
/**
|
|
20
|
+
* Resolve the outbound connection for this external server.
|
|
21
|
+
* External servers use direct name lookup (no session dependency).
|
|
22
|
+
*/
|
|
23
|
+
resolveConnection(_context?: ServerContext): OutboundConnection | undefined;
|
|
24
|
+
/**
|
|
25
|
+
* Get the current status of this external server.
|
|
26
|
+
*/
|
|
27
|
+
getStatus(_context?: ServerContext): ServerStatus;
|
|
28
|
+
/**
|
|
29
|
+
* Check if this external server is available.
|
|
30
|
+
*/
|
|
31
|
+
isAvailable(_context?: ServerContext): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Get the connection key for this external server.
|
|
34
|
+
* External servers use the server name directly.
|
|
35
|
+
*/
|
|
36
|
+
getConnectionKey(_context?: ServerContext): string | undefined;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=ExternalServerAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExternalServerAdapter.d.ts","sourceRoot":"","sources":["../../../../src/core/server/adapters/ExternalServerAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,EAAiC,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEnH;;;;;;;;GAQG;AACH,qBAAa,qBAAsB,YAAW,aAAa;IAIvD,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,MAAM,EAAE,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa;IALhC,QAAQ,CAAC,IAAI,uBAAuB;gBAGzB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,eAAe,EACf,aAAa,EAAE,mBAAmB;IAGrD;;;OAGG;IACH,iBAAiB,CAAC,QAAQ,CAAC,EAAE,aAAa,GAAG,kBAAkB,GAAG,SAAS;IAI3E;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,EAAE,aAAa,GAAG,YAAY;IAKjD;;OAEG;IACH,WAAW,CAAC,QAAQ,CAAC,EAAE,aAAa,GAAG,OAAO;IAK9C;;;OAGG;IACH,gBAAgB,CAAC,QAAQ,CAAC,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS;CAG/D"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { mapClientStatusToServerStatus, ServerStatus, ServerType } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* ExternalServerAdapter handles external MCP servers with static connections.
|
|
4
|
+
*
|
|
5
|
+
* External servers are configured in mcp.json and have a single, persistent
|
|
6
|
+
* connection that doesn't vary by session. The adapter is a read-only wrapper
|
|
7
|
+
* that provides unified access to these connections.
|
|
8
|
+
*
|
|
9
|
+
* Key format: serverName (no colon)
|
|
10
|
+
*/
|
|
11
|
+
export class ExternalServerAdapter {
|
|
12
|
+
name;
|
|
13
|
+
config;
|
|
14
|
+
outboundConns;
|
|
15
|
+
type = ServerType.External;
|
|
16
|
+
constructor(name, config, outboundConns) {
|
|
17
|
+
this.name = name;
|
|
18
|
+
this.config = config;
|
|
19
|
+
this.outboundConns = outboundConns;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Resolve the outbound connection for this external server.
|
|
23
|
+
* External servers use direct name lookup (no session dependency).
|
|
24
|
+
*/
|
|
25
|
+
resolveConnection(_context) {
|
|
26
|
+
return this.outboundConns.get(this.name);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Get the current status of this external server.
|
|
30
|
+
*/
|
|
31
|
+
getStatus(_context) {
|
|
32
|
+
const conn = this.resolveConnection();
|
|
33
|
+
return conn ? mapClientStatusToServerStatus(conn.status) : ServerStatus.Disconnected;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Check if this external server is available.
|
|
37
|
+
*/
|
|
38
|
+
isAvailable(_context) {
|
|
39
|
+
const status = this.getStatus();
|
|
40
|
+
return status === ServerStatus.Connected;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Get the connection key for this external server.
|
|
44
|
+
* External servers use the server name directly.
|
|
45
|
+
*/
|
|
46
|
+
getConnectionKey(_context) {
|
|
47
|
+
return this.name;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=ExternalServerAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExternalServerAdapter.js","sourceRoot":"","sources":["../../../../src/core/server/adapters/ExternalServerAdapter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,6BAA6B,EAAgC,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEnH;;;;;;;;GAQG;AACH,MAAM,OAAO,qBAAqB;IAIrB;IACA;IACQ;IALV,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC;IAEpC,YACW,IAAY,EACZ,MAAuB,EACf,aAAkC;QAF1C,SAAI,GAAJ,IAAI,CAAQ;QACZ,WAAM,GAAN,MAAM,CAAiB;QACf,kBAAa,GAAb,aAAa,CAAqB;IAClD,CAAC;IAEJ;;;OAGG;IACH,iBAAiB,CAAC,QAAwB;QACxC,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,QAAwB;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC,CAAC,CAAC,6BAA6B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC;IACvF,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,QAAwB;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,OAAO,MAAM,KAAK,YAAY,CAAC,SAAS,CAAC;IAC3C,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,QAAwB;QACvC,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CACF"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { TemplateServerManager } from '../../../core/server/templateServerManager.js';
|
|
2
|
+
import type { OutboundConnection, OutboundConnections } from '../../../core/types/client.js';
|
|
3
|
+
import type { MCPServerParams } from '../../../core/types/index.js';
|
|
4
|
+
import { ServerAdapter, ServerContext, ServerType } from './types.js';
|
|
5
|
+
/**
|
|
6
|
+
* ServerRegistry manages server adapters and provides unified access to all server types.
|
|
7
|
+
*
|
|
8
|
+
* The registry acts as a centralized lookup for server adapters, providing:
|
|
9
|
+
* - Unified connection resolution across all server types
|
|
10
|
+
* - Type-safe server access
|
|
11
|
+
* - Centralized server lifecycle tracking
|
|
12
|
+
*/
|
|
13
|
+
export declare class ServerRegistry {
|
|
14
|
+
private readonly outboundConns;
|
|
15
|
+
private readonly templateManager?;
|
|
16
|
+
private adapters;
|
|
17
|
+
constructor(outboundConns: OutboundConnections, templateManager?: TemplateServerManager | undefined);
|
|
18
|
+
/**
|
|
19
|
+
* Register an external server adapter
|
|
20
|
+
*/
|
|
21
|
+
registerExternal(name: string, config: MCPServerParams): void;
|
|
22
|
+
/**
|
|
23
|
+
* Register a template server adapter
|
|
24
|
+
*/
|
|
25
|
+
registerTemplate(name: string, config: MCPServerParams): void;
|
|
26
|
+
/**
|
|
27
|
+
* Register a server adapter directly
|
|
28
|
+
*/
|
|
29
|
+
register(adapter: ServerAdapter): void;
|
|
30
|
+
/**
|
|
31
|
+
* Get a server adapter by name
|
|
32
|
+
*/
|
|
33
|
+
get(name: string): ServerAdapter | undefined;
|
|
34
|
+
/**
|
|
35
|
+
* Check if a server is registered
|
|
36
|
+
*/
|
|
37
|
+
has(name: string): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Resolve connection for a server
|
|
40
|
+
*/
|
|
41
|
+
resolveConnection(name: string, context?: ServerContext): OutboundConnection | undefined;
|
|
42
|
+
/**
|
|
43
|
+
* Get all registered server names
|
|
44
|
+
*/
|
|
45
|
+
getServerNames(): string[];
|
|
46
|
+
/**
|
|
47
|
+
* Get all adapters of a specific type
|
|
48
|
+
*/
|
|
49
|
+
getAdaptersByType(type: ServerType): ServerAdapter[];
|
|
50
|
+
/**
|
|
51
|
+
* Remove a server adapter
|
|
52
|
+
*/
|
|
53
|
+
unregister(name: string): boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Clear all adapters
|
|
56
|
+
*/
|
|
57
|
+
clear(): void;
|
|
58
|
+
/**
|
|
59
|
+
* Get the total number of registered servers
|
|
60
|
+
*/
|
|
61
|
+
size(): number;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=ServerRegistry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServerRegistry.d.ts","sourceRoot":"","sources":["../../../../src/core/server/adapters/ServerRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AACvF,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAIhE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEtE;;;;;;;GAOG;AACH,qBAAa,cAAc;IAIvB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;IAJnC,OAAO,CAAC,QAAQ,CAAoC;gBAGjC,aAAa,EAAE,mBAAmB,EAClC,eAAe,CAAC,EAAE,qBAAqB,YAAA;IAG1D;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI;IAK7D;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI;IAQ7D;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAItC;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAI5C;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B;;OAEG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,kBAAkB,GAAG,SAAS;IAKxF;;OAEG;IACH,cAAc,IAAI,MAAM,EAAE;IAI1B;;OAEG;IACH,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,aAAa,EAAE;IAIpD;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIjC;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,IAAI,IAAI,MAAM;CAGf"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { ExternalServerAdapter } from './ExternalServerAdapter.js';
|
|
2
|
+
import { TemplateServerAdapter } from './TemplateServerAdapter.js';
|
|
3
|
+
/**
|
|
4
|
+
* ServerRegistry manages server adapters and provides unified access to all server types.
|
|
5
|
+
*
|
|
6
|
+
* The registry acts as a centralized lookup for server adapters, providing:
|
|
7
|
+
* - Unified connection resolution across all server types
|
|
8
|
+
* - Type-safe server access
|
|
9
|
+
* - Centralized server lifecycle tracking
|
|
10
|
+
*/
|
|
11
|
+
export class ServerRegistry {
|
|
12
|
+
outboundConns;
|
|
13
|
+
templateManager;
|
|
14
|
+
adapters = new Map();
|
|
15
|
+
constructor(outboundConns, templateManager) {
|
|
16
|
+
this.outboundConns = outboundConns;
|
|
17
|
+
this.templateManager = templateManager;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Register an external server adapter
|
|
21
|
+
*/
|
|
22
|
+
registerExternal(name, config) {
|
|
23
|
+
const adapter = new ExternalServerAdapter(name, config, this.outboundConns);
|
|
24
|
+
this.adapters.set(name, adapter);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Register a template server adapter
|
|
28
|
+
*/
|
|
29
|
+
registerTemplate(name, config) {
|
|
30
|
+
if (!this.templateManager) {
|
|
31
|
+
throw new Error('TemplateServerManager is required for template server adapters');
|
|
32
|
+
}
|
|
33
|
+
const adapter = new TemplateServerAdapter(name, config, this.outboundConns, this.templateManager);
|
|
34
|
+
this.adapters.set(name, adapter);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Register a server adapter directly
|
|
38
|
+
*/
|
|
39
|
+
register(adapter) {
|
|
40
|
+
this.adapters.set(adapter.name, adapter);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Get a server adapter by name
|
|
44
|
+
*/
|
|
45
|
+
get(name) {
|
|
46
|
+
return this.adapters.get(name);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Check if a server is registered
|
|
50
|
+
*/
|
|
51
|
+
has(name) {
|
|
52
|
+
return this.adapters.has(name);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Resolve connection for a server
|
|
56
|
+
*/
|
|
57
|
+
resolveConnection(name, context) {
|
|
58
|
+
const adapter = this.adapters.get(name);
|
|
59
|
+
return adapter?.resolveConnection(context);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Get all registered server names
|
|
63
|
+
*/
|
|
64
|
+
getServerNames() {
|
|
65
|
+
return Array.from(this.adapters.keys());
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Get all adapters of a specific type
|
|
69
|
+
*/
|
|
70
|
+
getAdaptersByType(type) {
|
|
71
|
+
return Array.from(this.adapters.values()).filter((adapter) => adapter.type === type);
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Remove a server adapter
|
|
75
|
+
*/
|
|
76
|
+
unregister(name) {
|
|
77
|
+
return this.adapters.delete(name);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Clear all adapters
|
|
81
|
+
*/
|
|
82
|
+
clear() {
|
|
83
|
+
this.adapters.clear();
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Get the total number of registered servers
|
|
87
|
+
*/
|
|
88
|
+
size() {
|
|
89
|
+
return this.adapters.size;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=ServerRegistry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServerRegistry.js","sourceRoot":"","sources":["../../../../src/core/server/adapters/ServerRegistry.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGnE;;;;;;;GAOG;AACH,MAAM,OAAO,cAAc;IAIN;IACA;IAJX,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;IAEpD,YACmB,aAAkC,EAClC,eAAuC;QADvC,kBAAa,GAAb,aAAa,CAAqB;QAClC,oBAAe,GAAf,eAAe,CAAwB;IACvD,CAAC;IAEJ;;OAEG;IACH,gBAAgB,CAAC,IAAY,EAAE,MAAuB;QACpD,MAAM,OAAO,GAAG,IAAI,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5E,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,IAAY,EAAE,MAAuB;QACpD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACpF,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAClG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,OAAsB;QAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,IAAY,EAAE,OAAuB;QACrD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,OAAO,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,IAAgB;QAChC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACvF,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,IAAI;QACF,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5B,CAAC;CACF"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { TemplateServerManager } from '../../../core/server/templateServerManager.js';
|
|
2
|
+
import type { OutboundConnection, OutboundConnections } from '../../../core/types/client.js';
|
|
3
|
+
import type { MCPServerParams } from '../../../core/types/index.js';
|
|
4
|
+
import { ServerAdapter, ServerContext, ServerStatus, ServerType } from './types.js';
|
|
5
|
+
/**
|
|
6
|
+
* TemplateServerAdapter handles template-based MCP servers with dynamic connections.
|
|
7
|
+
*
|
|
8
|
+
* Template servers are instantiated per session with rendered configurations.
|
|
9
|
+
* They can be either:
|
|
10
|
+
* - Shareable: Multiple sessions share the same instance (key: name:renderedHash)
|
|
11
|
+
* - Per-client: Each session gets its own instance (key: name:sessionId)
|
|
12
|
+
*
|
|
13
|
+
* The adapter wraps TemplateServerManager for session-to-hash lookups and uses
|
|
14
|
+
* the existing OutboundConnections map for connection data.
|
|
15
|
+
*/
|
|
16
|
+
export declare class TemplateServerAdapter implements ServerAdapter {
|
|
17
|
+
readonly name: string;
|
|
18
|
+
readonly config: MCPServerParams;
|
|
19
|
+
private readonly outboundConns;
|
|
20
|
+
private readonly templateManager;
|
|
21
|
+
readonly type = ServerType.Template;
|
|
22
|
+
constructor(name: string, config: MCPServerParams, outboundConns: OutboundConnections, templateManager: TemplateServerManager);
|
|
23
|
+
/**
|
|
24
|
+
* Build the possible connection keys for a session.
|
|
25
|
+
* Returns keys in priority order: session-scoped first, then hash-based.
|
|
26
|
+
*/
|
|
27
|
+
private buildConnectionKeys;
|
|
28
|
+
/**
|
|
29
|
+
* Resolve the outbound connection for this template server.
|
|
30
|
+
* Uses session-based resolution with hash lookup for shareable servers.
|
|
31
|
+
*/
|
|
32
|
+
resolveConnection(context?: ServerContext): OutboundConnection | undefined;
|
|
33
|
+
/**
|
|
34
|
+
* Get the current status of this template server.
|
|
35
|
+
*/
|
|
36
|
+
getStatus(context?: ServerContext): ServerStatus;
|
|
37
|
+
/**
|
|
38
|
+
* Check if this template server is available for the given context.
|
|
39
|
+
*/
|
|
40
|
+
isAvailable(context?: ServerContext): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Get the connection key for this template server.
|
|
43
|
+
* Returns the key used in the outbound connections map.
|
|
44
|
+
*/
|
|
45
|
+
getConnectionKey(context?: ServerContext): string | undefined;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=TemplateServerAdapter.d.ts.map
|