mcp-use 1.9.1-canary.0 → 1.10.0-canary.2
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 +9 -6
- package/dist/.tsbuildinfo +1 -1
- package/dist/{chunk-MUZ5WYE3.js → chunk-BFFS67JY.js} +1 -1
- package/dist/{chunk-D22NUQTL.js → chunk-HRWL2M2I.js} +184 -0
- package/dist/{chunk-5URNFWCQ.js → chunk-LWVK6RXA.js} +8 -3
- package/dist/{chunk-KHTTBIRP.js → chunk-Q3PFK7Y4.js} +138 -1
- package/dist/{context-storage-TXQ4DVSS.js → context-storage-NA4MHWOZ.js} +3 -1
- package/dist/index.cjs +184 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/src/browser.cjs +184 -0
- package/dist/src/browser.js +1 -1
- package/dist/src/react/index.cjs +184 -0
- package/dist/src/react/index.js +2 -2
- package/dist/src/server/context-storage.d.ts +8 -1
- package/dist/src/server/context-storage.d.ts.map +1 -1
- package/dist/src/server/endpoints/mount-mcp.d.ts.map +1 -1
- package/dist/src/server/index.cjs +595 -63
- package/dist/src/server/index.d.ts +3 -3
- package/dist/src/server/index.d.ts.map +1 -1
- package/dist/src/server/index.js +459 -67
- package/dist/src/server/mcp-server.d.ts +49 -9
- package/dist/src/server/mcp-server.d.ts.map +1 -1
- package/dist/src/server/oauth/providers.d.ts +27 -9
- package/dist/src/server/oauth/providers.d.ts.map +1 -1
- package/dist/src/server/prompts/index.d.ts.map +1 -1
- package/dist/src/server/resources/index.d.ts +43 -23
- package/dist/src/server/resources/index.d.ts.map +1 -1
- package/dist/src/server/resources/subscriptions.d.ts +54 -0
- package/dist/src/server/resources/subscriptions.d.ts.map +1 -0
- package/dist/src/server/sessions/session-manager.d.ts +9 -1
- package/dist/src/server/sessions/session-manager.d.ts.map +1 -1
- package/dist/src/server/tools/tool-execution-helpers.d.ts +30 -17
- package/dist/src/server/tools/tool-execution-helpers.d.ts.map +1 -1
- package/dist/src/server/tools/tool-registration.d.ts.map +1 -1
- package/dist/src/server/types/common.d.ts +24 -8
- package/dist/src/server/types/common.d.ts.map +1 -1
- package/dist/src/server/types/index.d.ts +3 -3
- package/dist/src/server/types/index.d.ts.map +1 -1
- package/dist/src/server/types/prompt.d.ts +2 -1
- package/dist/src/server/types/prompt.d.ts.map +1 -1
- package/dist/src/server/types/resource.d.ts +53 -8
- package/dist/src/server/types/resource.d.ts.map +1 -1
- package/dist/src/server/types/tool-context.d.ts +131 -0
- package/dist/src/server/types/tool-context.d.ts.map +1 -1
- package/dist/src/server/types/tool.d.ts +1 -1
- package/dist/src/server/types/tool.d.ts.map +1 -1
- package/dist/src/server/utils/response-helpers.d.ts +48 -4
- package/dist/src/server/utils/response-helpers.d.ts.map +1 -1
- package/dist/src/server/widgets/index.d.ts +2 -2
- package/dist/src/server/widgets/ui-resource-registration.d.ts +2 -2
- package/dist/src/session.d.ts +337 -2
- package/dist/src/session.d.ts.map +1 -1
- package/dist/{tool-execution-helpers-IVUDHXMK.js → tool-execution-helpers-RRMGLAHR.js} +7 -1
- package/package.json +3 -3
|
@@ -82,6 +82,190 @@ var MCPSession = class {
|
|
|
82
82
|
getRoots() {
|
|
83
83
|
return this.connector.getRoots();
|
|
84
84
|
}
|
|
85
|
+
/**
|
|
86
|
+
* Get the cached list of tools from the server.
|
|
87
|
+
*
|
|
88
|
+
* @returns Array of available tools
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* ```typescript
|
|
92
|
+
* const tools = session.tools;
|
|
93
|
+
* console.log(`Available tools: ${tools.map(t => t.name).join(", ")}`);
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
96
|
+
get tools() {
|
|
97
|
+
return this.connector.tools;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Get the server capabilities advertised during initialization.
|
|
101
|
+
*
|
|
102
|
+
* @returns Server capabilities object
|
|
103
|
+
*/
|
|
104
|
+
get serverCapabilities() {
|
|
105
|
+
return this.connector.serverCapabilities;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Get the server information (name and version).
|
|
109
|
+
*
|
|
110
|
+
* @returns Server info object or null if not available
|
|
111
|
+
*/
|
|
112
|
+
get serverInfo() {
|
|
113
|
+
return this.connector.serverInfo;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Call a tool on the server.
|
|
117
|
+
*
|
|
118
|
+
* @param name - Name of the tool to call
|
|
119
|
+
* @param args - Arguments to pass to the tool
|
|
120
|
+
* @param options - Optional request options (timeout, progress handlers, etc.)
|
|
121
|
+
* @returns Result from the tool execution
|
|
122
|
+
*
|
|
123
|
+
* @example
|
|
124
|
+
* ```typescript
|
|
125
|
+
* const result = await session.callTool("add", { a: 5, b: 3 });
|
|
126
|
+
* console.log(`Result: ${result.content[0].text}`);
|
|
127
|
+
* ```
|
|
128
|
+
*/
|
|
129
|
+
async callTool(name, args, options) {
|
|
130
|
+
return this.connector.callTool(name, args, options);
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* List resources from the server with optional pagination.
|
|
134
|
+
*
|
|
135
|
+
* @param cursor - Optional cursor for pagination
|
|
136
|
+
* @param options - Request options
|
|
137
|
+
* @returns Resource list with optional nextCursor for pagination
|
|
138
|
+
*
|
|
139
|
+
* @example
|
|
140
|
+
* ```typescript
|
|
141
|
+
* const result = await session.listResources();
|
|
142
|
+
* console.log(`Found ${result.resources.length} resources`);
|
|
143
|
+
* ```
|
|
144
|
+
*/
|
|
145
|
+
async listResources(cursor, options) {
|
|
146
|
+
return this.connector.listResources(cursor, options);
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* List all resources from the server, automatically handling pagination.
|
|
150
|
+
*
|
|
151
|
+
* @param options - Request options
|
|
152
|
+
* @returns Complete list of all resources
|
|
153
|
+
*
|
|
154
|
+
* @example
|
|
155
|
+
* ```typescript
|
|
156
|
+
* const result = await session.listAllResources();
|
|
157
|
+
* console.log(`Total resources: ${result.resources.length}`);
|
|
158
|
+
* ```
|
|
159
|
+
*/
|
|
160
|
+
async listAllResources(options) {
|
|
161
|
+
return this.connector.listAllResources(options);
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* List resource templates from the server.
|
|
165
|
+
*
|
|
166
|
+
* @param options - Request options
|
|
167
|
+
* @returns List of available resource templates
|
|
168
|
+
*
|
|
169
|
+
* @example
|
|
170
|
+
* ```typescript
|
|
171
|
+
* const result = await session.listResourceTemplates();
|
|
172
|
+
* console.log(`Available templates: ${result.resourceTemplates.length}`);
|
|
173
|
+
* ```
|
|
174
|
+
*/
|
|
175
|
+
async listResourceTemplates(options) {
|
|
176
|
+
return this.connector.listResourceTemplates(options);
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Read a resource by URI.
|
|
180
|
+
*
|
|
181
|
+
* @param uri - URI of the resource to read
|
|
182
|
+
* @param options - Request options
|
|
183
|
+
* @returns Resource content
|
|
184
|
+
*
|
|
185
|
+
* @example
|
|
186
|
+
* ```typescript
|
|
187
|
+
* const resource = await session.readResource("file:///path/to/file.txt");
|
|
188
|
+
* console.log(resource.contents);
|
|
189
|
+
* ```
|
|
190
|
+
*/
|
|
191
|
+
async readResource(uri, options) {
|
|
192
|
+
return this.connector.readResource(uri, options);
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Subscribe to resource updates.
|
|
196
|
+
*
|
|
197
|
+
* @param uri - URI of the resource to subscribe to
|
|
198
|
+
* @param options - Request options
|
|
199
|
+
*
|
|
200
|
+
* @example
|
|
201
|
+
* ```typescript
|
|
202
|
+
* await session.subscribeToResource("file:///path/to/file.txt");
|
|
203
|
+
* // Now you'll receive notifications when this resource changes
|
|
204
|
+
* ```
|
|
205
|
+
*/
|
|
206
|
+
async subscribeToResource(uri, options) {
|
|
207
|
+
return this.connector.subscribeToResource(uri, options);
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Unsubscribe from resource updates.
|
|
211
|
+
*
|
|
212
|
+
* @param uri - URI of the resource to unsubscribe from
|
|
213
|
+
* @param options - Request options
|
|
214
|
+
*
|
|
215
|
+
* @example
|
|
216
|
+
* ```typescript
|
|
217
|
+
* await session.unsubscribeFromResource("file:///path/to/file.txt");
|
|
218
|
+
* ```
|
|
219
|
+
*/
|
|
220
|
+
async unsubscribeFromResource(uri, options) {
|
|
221
|
+
return this.connector.unsubscribeFromResource(uri, options);
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* List available prompts from the server.
|
|
225
|
+
*
|
|
226
|
+
* @returns List of available prompts
|
|
227
|
+
*
|
|
228
|
+
* @example
|
|
229
|
+
* ```typescript
|
|
230
|
+
* const result = await session.listPrompts();
|
|
231
|
+
* console.log(`Available prompts: ${result.prompts.length}`);
|
|
232
|
+
* ```
|
|
233
|
+
*/
|
|
234
|
+
async listPrompts() {
|
|
235
|
+
return this.connector.listPrompts();
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Get a specific prompt with arguments.
|
|
239
|
+
*
|
|
240
|
+
* @param name - Name of the prompt to get
|
|
241
|
+
* @param args - Arguments for the prompt
|
|
242
|
+
* @returns Prompt result
|
|
243
|
+
*
|
|
244
|
+
* @example
|
|
245
|
+
* ```typescript
|
|
246
|
+
* const prompt = await session.getPrompt("greeting", { name: "Alice" });
|
|
247
|
+
* console.log(prompt.messages);
|
|
248
|
+
* ```
|
|
249
|
+
*/
|
|
250
|
+
async getPrompt(name, args) {
|
|
251
|
+
return this.connector.getPrompt(name, args);
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Send a raw request through the client.
|
|
255
|
+
*
|
|
256
|
+
* @param method - MCP method name
|
|
257
|
+
* @param params - Request parameters
|
|
258
|
+
* @param options - Request options
|
|
259
|
+
* @returns Response from the server
|
|
260
|
+
*
|
|
261
|
+
* @example
|
|
262
|
+
* ```typescript
|
|
263
|
+
* const result = await session.request("custom/method", { key: "value" });
|
|
264
|
+
* ```
|
|
265
|
+
*/
|
|
266
|
+
async request(method, params = null, options) {
|
|
267
|
+
return this.connector.request(method, params, options);
|
|
268
|
+
}
|
|
85
269
|
};
|
|
86
270
|
|
|
87
271
|
// src/connectors/http.ts
|
|
@@ -5,14 +5,18 @@ import {
|
|
|
5
5
|
// src/server/context-storage.ts
|
|
6
6
|
import { AsyncLocalStorage } from "async_hooks";
|
|
7
7
|
var requestContextStorage = new AsyncLocalStorage();
|
|
8
|
-
async function runWithContext(context, fn) {
|
|
9
|
-
return requestContextStorage.run(context, fn);
|
|
8
|
+
async function runWithContext(context, fn, sessionId) {
|
|
9
|
+
return requestContextStorage.run({ honoContext: context, sessionId }, fn);
|
|
10
10
|
}
|
|
11
11
|
__name(runWithContext, "runWithContext");
|
|
12
12
|
function getRequestContext() {
|
|
13
|
-
return requestContextStorage.getStore();
|
|
13
|
+
return requestContextStorage.getStore()?.honoContext;
|
|
14
14
|
}
|
|
15
15
|
__name(getRequestContext, "getRequestContext");
|
|
16
|
+
function getSessionId() {
|
|
17
|
+
return requestContextStorage.getStore()?.sessionId;
|
|
18
|
+
}
|
|
19
|
+
__name(getSessionId, "getSessionId");
|
|
16
20
|
function hasRequestContext() {
|
|
17
21
|
return requestContextStorage.getStore() !== void 0;
|
|
18
22
|
}
|
|
@@ -21,5 +25,6 @@ __name(hasRequestContext, "hasRequestContext");
|
|
|
21
25
|
export {
|
|
22
26
|
runWithContext,
|
|
23
27
|
getRequestContext,
|
|
28
|
+
getSessionId,
|
|
24
29
|
hasRequestContext
|
|
25
30
|
};
|
|
@@ -252,7 +252,123 @@ function createReportProgressMethod(progressToken, sendNotification) {
|
|
|
252
252
|
return void 0;
|
|
253
253
|
}
|
|
254
254
|
__name(createReportProgressMethod, "createReportProgressMethod");
|
|
255
|
-
|
|
255
|
+
var LOG_LEVELS = {
|
|
256
|
+
debug: 0,
|
|
257
|
+
info: 1,
|
|
258
|
+
notice: 2,
|
|
259
|
+
warning: 3,
|
|
260
|
+
error: 4,
|
|
261
|
+
critical: 5,
|
|
262
|
+
alert: 6,
|
|
263
|
+
emergency: 7
|
|
264
|
+
};
|
|
265
|
+
var VALID_LOG_LEVELS = [
|
|
266
|
+
"debug",
|
|
267
|
+
"info",
|
|
268
|
+
"notice",
|
|
269
|
+
"warning",
|
|
270
|
+
"error",
|
|
271
|
+
"critical",
|
|
272
|
+
"alert",
|
|
273
|
+
"emergency"
|
|
274
|
+
];
|
|
275
|
+
function isValidLogLevel(level) {
|
|
276
|
+
return VALID_LOG_LEVELS.includes(level);
|
|
277
|
+
}
|
|
278
|
+
__name(isValidLogLevel, "isValidLogLevel");
|
|
279
|
+
function shouldLogMessage(messageLevel, minLevel) {
|
|
280
|
+
if (!minLevel) {
|
|
281
|
+
return true;
|
|
282
|
+
}
|
|
283
|
+
if (!isValidLogLevel(messageLevel) || !isValidLogLevel(minLevel)) {
|
|
284
|
+
return true;
|
|
285
|
+
}
|
|
286
|
+
return LOG_LEVELS[messageLevel] >= LOG_LEVELS[minLevel];
|
|
287
|
+
}
|
|
288
|
+
__name(shouldLogMessage, "shouldLogMessage");
|
|
289
|
+
function createLogMethod(sendNotification, minLogLevel) {
|
|
290
|
+
if (!sendNotification) {
|
|
291
|
+
return void 0;
|
|
292
|
+
}
|
|
293
|
+
return async (level, message, logger) => {
|
|
294
|
+
if (!shouldLogMessage(level, minLogLevel)) {
|
|
295
|
+
return;
|
|
296
|
+
}
|
|
297
|
+
await sendNotification({
|
|
298
|
+
method: "notifications/message",
|
|
299
|
+
params: {
|
|
300
|
+
level,
|
|
301
|
+
data: message,
|
|
302
|
+
logger: logger || "tool"
|
|
303
|
+
}
|
|
304
|
+
});
|
|
305
|
+
};
|
|
306
|
+
}
|
|
307
|
+
__name(createLogMethod, "createLogMethod");
|
|
308
|
+
function createClientCapabilityChecker(clientCapabilities) {
|
|
309
|
+
const caps = clientCapabilities || {};
|
|
310
|
+
return {
|
|
311
|
+
can(capability) {
|
|
312
|
+
return capability in caps;
|
|
313
|
+
},
|
|
314
|
+
capabilities() {
|
|
315
|
+
return { ...caps };
|
|
316
|
+
}
|
|
317
|
+
};
|
|
318
|
+
}
|
|
319
|
+
__name(createClientCapabilityChecker, "createClientCapabilityChecker");
|
|
320
|
+
function createSendNotificationMethod(sessionId, sessions) {
|
|
321
|
+
if (!sessionId || !sessions) {
|
|
322
|
+
return void 0;
|
|
323
|
+
}
|
|
324
|
+
return async (method, params) => {
|
|
325
|
+
const session = sessions.get(sessionId);
|
|
326
|
+
if (!session?.sendNotification) {
|
|
327
|
+
console.warn(
|
|
328
|
+
`[MCP] Cannot send notification to session ${sessionId} - no sendNotification function`
|
|
329
|
+
);
|
|
330
|
+
return;
|
|
331
|
+
}
|
|
332
|
+
try {
|
|
333
|
+
await session.sendNotification({
|
|
334
|
+
method,
|
|
335
|
+
params: params || {}
|
|
336
|
+
});
|
|
337
|
+
} catch (error) {
|
|
338
|
+
console.error(
|
|
339
|
+
`[MCP] Error sending notification to session ${sessionId}:`,
|
|
340
|
+
error
|
|
341
|
+
);
|
|
342
|
+
}
|
|
343
|
+
};
|
|
344
|
+
}
|
|
345
|
+
__name(createSendNotificationMethod, "createSendNotificationMethod");
|
|
346
|
+
function createSendNotificationToSessionMethod(sessions) {
|
|
347
|
+
if (!sessions) {
|
|
348
|
+
return void 0;
|
|
349
|
+
}
|
|
350
|
+
return async (sessionId, method, params) => {
|
|
351
|
+
const session = sessions.get(sessionId);
|
|
352
|
+
if (!session?.sendNotification) {
|
|
353
|
+
return false;
|
|
354
|
+
}
|
|
355
|
+
try {
|
|
356
|
+
await session.sendNotification({
|
|
357
|
+
method,
|
|
358
|
+
params: params || {}
|
|
359
|
+
});
|
|
360
|
+
return true;
|
|
361
|
+
} catch (error) {
|
|
362
|
+
console.error(
|
|
363
|
+
`[MCP] Error sending notification to session ${sessionId}:`,
|
|
364
|
+
error
|
|
365
|
+
);
|
|
366
|
+
return false;
|
|
367
|
+
}
|
|
368
|
+
};
|
|
369
|
+
}
|
|
370
|
+
__name(createSendNotificationToSessionMethod, "createSendNotificationToSessionMethod");
|
|
371
|
+
function createEnhancedContext(baseContext, createMessage, elicitInput, progressToken, sendNotification, minLogLevel, clientCapabilities, sessionId, sessions) {
|
|
256
372
|
const enhancedContext = baseContext ? Object.create(baseContext) : {};
|
|
257
373
|
enhancedContext.sample = createSampleMethod(
|
|
258
374
|
createMessage,
|
|
@@ -264,6 +380,24 @@ function createEnhancedContext(baseContext, createMessage, elicitInput, progress
|
|
|
264
380
|
progressToken,
|
|
265
381
|
sendNotification
|
|
266
382
|
);
|
|
383
|
+
enhancedContext.log = createLogMethod(sendNotification, minLogLevel);
|
|
384
|
+
enhancedContext.client = createClientCapabilityChecker(clientCapabilities);
|
|
385
|
+
if (sessionId) {
|
|
386
|
+
enhancedContext.session = {
|
|
387
|
+
sessionId
|
|
388
|
+
};
|
|
389
|
+
}
|
|
390
|
+
const sendNotificationMethod = createSendNotificationMethod(
|
|
391
|
+
sessionId,
|
|
392
|
+
sessions
|
|
393
|
+
);
|
|
394
|
+
if (sendNotificationMethod) {
|
|
395
|
+
enhancedContext.sendNotification = sendNotificationMethod;
|
|
396
|
+
}
|
|
397
|
+
const sendNotificationToSessionMethod = createSendNotificationToSessionMethod(sessions);
|
|
398
|
+
if (sendNotificationToSessionMethod) {
|
|
399
|
+
enhancedContext.sendNotificationToSession = sendNotificationToSessionMethod;
|
|
400
|
+
}
|
|
267
401
|
return enhancedContext;
|
|
268
402
|
}
|
|
269
403
|
__name(createEnhancedContext, "createEnhancedContext");
|
|
@@ -276,5 +410,8 @@ export {
|
|
|
276
410
|
createSampleMethod,
|
|
277
411
|
createElicitMethod,
|
|
278
412
|
createReportProgressMethod,
|
|
413
|
+
VALID_LOG_LEVELS,
|
|
414
|
+
isValidLogLevel,
|
|
415
|
+
shouldLogMessage,
|
|
279
416
|
createEnhancedContext
|
|
280
417
|
};
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getRequestContext,
|
|
3
|
+
getSessionId,
|
|
3
4
|
hasRequestContext,
|
|
4
5
|
runWithContext
|
|
5
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-LWVK6RXA.js";
|
|
6
7
|
import "./chunk-3GQAWCBQ.js";
|
|
7
8
|
export {
|
|
8
9
|
getRequestContext,
|
|
10
|
+
getSessionId,
|
|
9
11
|
hasRequestContext,
|
|
10
12
|
runWithContext
|
|
11
13
|
};
|
package/dist/index.cjs
CHANGED
|
@@ -4723,6 +4723,190 @@ var MCPSession = class {
|
|
|
4723
4723
|
getRoots() {
|
|
4724
4724
|
return this.connector.getRoots();
|
|
4725
4725
|
}
|
|
4726
|
+
/**
|
|
4727
|
+
* Get the cached list of tools from the server.
|
|
4728
|
+
*
|
|
4729
|
+
* @returns Array of available tools
|
|
4730
|
+
*
|
|
4731
|
+
* @example
|
|
4732
|
+
* ```typescript
|
|
4733
|
+
* const tools = session.tools;
|
|
4734
|
+
* console.log(`Available tools: ${tools.map(t => t.name).join(", ")}`);
|
|
4735
|
+
* ```
|
|
4736
|
+
*/
|
|
4737
|
+
get tools() {
|
|
4738
|
+
return this.connector.tools;
|
|
4739
|
+
}
|
|
4740
|
+
/**
|
|
4741
|
+
* Get the server capabilities advertised during initialization.
|
|
4742
|
+
*
|
|
4743
|
+
* @returns Server capabilities object
|
|
4744
|
+
*/
|
|
4745
|
+
get serverCapabilities() {
|
|
4746
|
+
return this.connector.serverCapabilities;
|
|
4747
|
+
}
|
|
4748
|
+
/**
|
|
4749
|
+
* Get the server information (name and version).
|
|
4750
|
+
*
|
|
4751
|
+
* @returns Server info object or null if not available
|
|
4752
|
+
*/
|
|
4753
|
+
get serverInfo() {
|
|
4754
|
+
return this.connector.serverInfo;
|
|
4755
|
+
}
|
|
4756
|
+
/**
|
|
4757
|
+
* Call a tool on the server.
|
|
4758
|
+
*
|
|
4759
|
+
* @param name - Name of the tool to call
|
|
4760
|
+
* @param args - Arguments to pass to the tool
|
|
4761
|
+
* @param options - Optional request options (timeout, progress handlers, etc.)
|
|
4762
|
+
* @returns Result from the tool execution
|
|
4763
|
+
*
|
|
4764
|
+
* @example
|
|
4765
|
+
* ```typescript
|
|
4766
|
+
* const result = await session.callTool("add", { a: 5, b: 3 });
|
|
4767
|
+
* console.log(`Result: ${result.content[0].text}`);
|
|
4768
|
+
* ```
|
|
4769
|
+
*/
|
|
4770
|
+
async callTool(name, args, options) {
|
|
4771
|
+
return this.connector.callTool(name, args, options);
|
|
4772
|
+
}
|
|
4773
|
+
/**
|
|
4774
|
+
* List resources from the server with optional pagination.
|
|
4775
|
+
*
|
|
4776
|
+
* @param cursor - Optional cursor for pagination
|
|
4777
|
+
* @param options - Request options
|
|
4778
|
+
* @returns Resource list with optional nextCursor for pagination
|
|
4779
|
+
*
|
|
4780
|
+
* @example
|
|
4781
|
+
* ```typescript
|
|
4782
|
+
* const result = await session.listResources();
|
|
4783
|
+
* console.log(`Found ${result.resources.length} resources`);
|
|
4784
|
+
* ```
|
|
4785
|
+
*/
|
|
4786
|
+
async listResources(cursor, options) {
|
|
4787
|
+
return this.connector.listResources(cursor, options);
|
|
4788
|
+
}
|
|
4789
|
+
/**
|
|
4790
|
+
* List all resources from the server, automatically handling pagination.
|
|
4791
|
+
*
|
|
4792
|
+
* @param options - Request options
|
|
4793
|
+
* @returns Complete list of all resources
|
|
4794
|
+
*
|
|
4795
|
+
* @example
|
|
4796
|
+
* ```typescript
|
|
4797
|
+
* const result = await session.listAllResources();
|
|
4798
|
+
* console.log(`Total resources: ${result.resources.length}`);
|
|
4799
|
+
* ```
|
|
4800
|
+
*/
|
|
4801
|
+
async listAllResources(options) {
|
|
4802
|
+
return this.connector.listAllResources(options);
|
|
4803
|
+
}
|
|
4804
|
+
/**
|
|
4805
|
+
* List resource templates from the server.
|
|
4806
|
+
*
|
|
4807
|
+
* @param options - Request options
|
|
4808
|
+
* @returns List of available resource templates
|
|
4809
|
+
*
|
|
4810
|
+
* @example
|
|
4811
|
+
* ```typescript
|
|
4812
|
+
* const result = await session.listResourceTemplates();
|
|
4813
|
+
* console.log(`Available templates: ${result.resourceTemplates.length}`);
|
|
4814
|
+
* ```
|
|
4815
|
+
*/
|
|
4816
|
+
async listResourceTemplates(options) {
|
|
4817
|
+
return this.connector.listResourceTemplates(options);
|
|
4818
|
+
}
|
|
4819
|
+
/**
|
|
4820
|
+
* Read a resource by URI.
|
|
4821
|
+
*
|
|
4822
|
+
* @param uri - URI of the resource to read
|
|
4823
|
+
* @param options - Request options
|
|
4824
|
+
* @returns Resource content
|
|
4825
|
+
*
|
|
4826
|
+
* @example
|
|
4827
|
+
* ```typescript
|
|
4828
|
+
* const resource = await session.readResource("file:///path/to/file.txt");
|
|
4829
|
+
* console.log(resource.contents);
|
|
4830
|
+
* ```
|
|
4831
|
+
*/
|
|
4832
|
+
async readResource(uri, options) {
|
|
4833
|
+
return this.connector.readResource(uri, options);
|
|
4834
|
+
}
|
|
4835
|
+
/**
|
|
4836
|
+
* Subscribe to resource updates.
|
|
4837
|
+
*
|
|
4838
|
+
* @param uri - URI of the resource to subscribe to
|
|
4839
|
+
* @param options - Request options
|
|
4840
|
+
*
|
|
4841
|
+
* @example
|
|
4842
|
+
* ```typescript
|
|
4843
|
+
* await session.subscribeToResource("file:///path/to/file.txt");
|
|
4844
|
+
* // Now you'll receive notifications when this resource changes
|
|
4845
|
+
* ```
|
|
4846
|
+
*/
|
|
4847
|
+
async subscribeToResource(uri, options) {
|
|
4848
|
+
return this.connector.subscribeToResource(uri, options);
|
|
4849
|
+
}
|
|
4850
|
+
/**
|
|
4851
|
+
* Unsubscribe from resource updates.
|
|
4852
|
+
*
|
|
4853
|
+
* @param uri - URI of the resource to unsubscribe from
|
|
4854
|
+
* @param options - Request options
|
|
4855
|
+
*
|
|
4856
|
+
* @example
|
|
4857
|
+
* ```typescript
|
|
4858
|
+
* await session.unsubscribeFromResource("file:///path/to/file.txt");
|
|
4859
|
+
* ```
|
|
4860
|
+
*/
|
|
4861
|
+
async unsubscribeFromResource(uri, options) {
|
|
4862
|
+
return this.connector.unsubscribeFromResource(uri, options);
|
|
4863
|
+
}
|
|
4864
|
+
/**
|
|
4865
|
+
* List available prompts from the server.
|
|
4866
|
+
*
|
|
4867
|
+
* @returns List of available prompts
|
|
4868
|
+
*
|
|
4869
|
+
* @example
|
|
4870
|
+
* ```typescript
|
|
4871
|
+
* const result = await session.listPrompts();
|
|
4872
|
+
* console.log(`Available prompts: ${result.prompts.length}`);
|
|
4873
|
+
* ```
|
|
4874
|
+
*/
|
|
4875
|
+
async listPrompts() {
|
|
4876
|
+
return this.connector.listPrompts();
|
|
4877
|
+
}
|
|
4878
|
+
/**
|
|
4879
|
+
* Get a specific prompt with arguments.
|
|
4880
|
+
*
|
|
4881
|
+
* @param name - Name of the prompt to get
|
|
4882
|
+
* @param args - Arguments for the prompt
|
|
4883
|
+
* @returns Prompt result
|
|
4884
|
+
*
|
|
4885
|
+
* @example
|
|
4886
|
+
* ```typescript
|
|
4887
|
+
* const prompt = await session.getPrompt("greeting", { name: "Alice" });
|
|
4888
|
+
* console.log(prompt.messages);
|
|
4889
|
+
* ```
|
|
4890
|
+
*/
|
|
4891
|
+
async getPrompt(name, args) {
|
|
4892
|
+
return this.connector.getPrompt(name, args);
|
|
4893
|
+
}
|
|
4894
|
+
/**
|
|
4895
|
+
* Send a raw request through the client.
|
|
4896
|
+
*
|
|
4897
|
+
* @param method - MCP method name
|
|
4898
|
+
* @param params - Request parameters
|
|
4899
|
+
* @param options - Request options
|
|
4900
|
+
* @returns Response from the server
|
|
4901
|
+
*
|
|
4902
|
+
* @example
|
|
4903
|
+
* ```typescript
|
|
4904
|
+
* const result = await session.request("custom/method", { key: "value" });
|
|
4905
|
+
* ```
|
|
4906
|
+
*/
|
|
4907
|
+
async request(method, params = null, options) {
|
|
4908
|
+
return this.connector.request(method, params, options);
|
|
4909
|
+
}
|
|
4726
4910
|
};
|
|
4727
4911
|
|
|
4728
4912
|
// src/client/base.ts
|
package/dist/index.d.ts
CHANGED
|
@@ -18,7 +18,7 @@ import { HttpConnector } from "./src/connectors/http.js";
|
|
|
18
18
|
import { StdioConnector } from "./src/connectors/stdio.js";
|
|
19
19
|
import { WebSocketConnector } from "./src/connectors/websocket.js";
|
|
20
20
|
import { Logger, logger } from "./src/logging.js";
|
|
21
|
-
import { MCPSession, Notification, Root } from "./src/session.js";
|
|
21
|
+
import { MCPSession, type CallToolResult, type Notification, type Root, type Tool } from "./src/session.js";
|
|
22
22
|
import type { CreateMessageRequest } from "@modelcontextprotocol/sdk/types.js";
|
|
23
23
|
export { BaseAdapter, LangChainAdapter } from "./src/adapters/index.js";
|
|
24
24
|
export * from "./src/agents/utils/index.js";
|
|
@@ -32,7 +32,8 @@ export { BrowserOAuthClientProvider, onMcpAuthorization, } from "./src/auth/inde
|
|
|
32
32
|
export type { StoredState } from "./src/auth/types.js";
|
|
33
33
|
export * from "./src/react/index.js";
|
|
34
34
|
export { PROMPTS } from "./src/agents/index.js";
|
|
35
|
-
export { BaseConnector, HttpConnector, loadConfigFile, Logger, logger, MCPAgent, MCPClient, MCPSession,
|
|
35
|
+
export { BaseConnector, HttpConnector, loadConfigFile, Logger, logger, MCPAgent, MCPClient, MCPSession, RemoteAgent, StdioConnector, WebSocketConnector, };
|
|
36
|
+
export type { CallToolResult, Notification, Root, Tool };
|
|
36
37
|
export type { NotificationHandler };
|
|
37
38
|
export type { CodeModeConfig, E2BExecutorOptions, ExecutorOptions, MCPClientOptions, VMExecutorOptions, } from "./src/client.js";
|
|
38
39
|
export { BaseCodeExecutor, E2BCodeExecutor, VMCodeExecutor, isVMAvailable, } from "./src/client.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EACL,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,IAAI,EACT,KAAK,IAAI,EACV,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAExE,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEjE,cAAc,+BAA+B,CAAC;AAG9C,OAAO,EACL,oBAAoB,EACpB,KAAK,mBAAmB,GACzB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAGzE,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,WAAW,GACZ,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,kBAAkB,EAClB,WAAW,EACX,cAAc,EACd,WAAW,EACX,UAAU,GACX,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,0BAA0B,EAC1B,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGvD,cAAc,sBAAsB,CAAC;AAGrC,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAQhD,OAAO,EACL,aAAa,EACb,aAAa,EACb,cAAc,EACd,MAAM,EACN,MAAM,EACN,QAAQ,EACR,SAAS,EACT,UAAU,EACV,WAAW,EACX,cAAc,EACd,kBAAkB,GACnB,CAAC;AAGF,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAGzD,YAAY,EAAE,mBAAmB,EAAE,CAAC;AAGpC,YAAY,EACV,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,aAAa,GACd,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EACV,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,oCAAoC,CAAC;AAE5C;;;GAGG;AACH,MAAM,MAAM,0BAA0B,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -36,14 +36,14 @@ import {
|
|
|
36
36
|
useWidgetProps,
|
|
37
37
|
useWidgetState,
|
|
38
38
|
useWidgetTheme
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-BFFS67JY.js";
|
|
40
40
|
import {
|
|
41
41
|
BaseMCPClient,
|
|
42
42
|
ConnectionManager,
|
|
43
43
|
HttpConnector,
|
|
44
44
|
MCPSession,
|
|
45
45
|
WebSocketConnector
|
|
46
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-HRWL2M2I.js";
|
|
47
47
|
import {
|
|
48
48
|
BrowserOAuthClientProvider,
|
|
49
49
|
onMcpAuthorization
|