mcp-use 1.9.1-canary.1 → 1.10.0-canary.3
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-QREDNTLS.js → chunk-F5MMLHUR.js} +1 -1
- package/dist/{chunk-33U4IA4N.js → chunk-L6P6GBCW.js} +84 -3
- package/dist/{chunk-ZQUCGISK.js → chunk-LTA4LQTH.js} +6 -4
- package/dist/{chunk-D22NUQTL.js → chunk-QBTQXCAI.js} +185 -1
- package/dist/{chunk-MUZ5WYE3.js → chunk-VPHP7ERH.js} +18 -9
- package/dist/{chunk-U5BX3ISQ.js → chunk-YMJL66MY.js} +10 -6
- package/dist/index.cjs +220 -20
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -12
- package/dist/src/agents/index.cjs +10 -6
- package/dist/src/agents/index.js +3 -3
- package/dist/src/agents/mcp_agent.d.ts.map +1 -1
- package/dist/src/browser.cjs +200 -10
- package/dist/src/browser.js +7 -7
- package/dist/src/client/prompts.js +2 -2
- package/dist/src/connectors/base.d.ts +2 -2
- package/dist/src/connectors/base.d.ts.map +1 -1
- package/dist/src/oauth-helper.d.ts.map +1 -1
- package/dist/src/react/WidgetControls.d.ts.map +1 -1
- package/dist/src/react/index.cjs +207 -12
- package/dist/src/react/index.js +4 -4
- package/dist/src/react/useMcp.d.ts.map +1 -1
- package/dist/src/server/endpoints/mount-mcp.d.ts +4 -1
- package/dist/src/server/endpoints/mount-mcp.d.ts.map +1 -1
- package/dist/src/server/index.cjs +268 -125
- package/dist/src/server/index.d.ts +2 -2
- package/dist/src/server/index.d.ts.map +1 -1
- package/dist/src/server/index.js +188 -126
- package/dist/src/server/mcp-server.d.ts +21 -10
- package/dist/src/server/mcp-server.d.ts.map +1 -1
- package/dist/src/server/oauth/middleware.d.ts.map +1 -1
- package/dist/src/server/oauth/providers/auth0.d.ts +1 -1
- package/dist/src/server/oauth/providers/auth0.d.ts.map +1 -1
- package/dist/src/server/oauth/providers/custom.d.ts +4 -2
- package/dist/src/server/oauth/providers/custom.d.ts.map +1 -1
- package/dist/src/server/oauth/providers/keycloak.d.ts +1 -1
- package/dist/src/server/oauth/providers/keycloak.d.ts.map +1 -1
- package/dist/src/server/oauth/providers/supabase.d.ts +1 -1
- package/dist/src/server/oauth/providers/supabase.d.ts.map +1 -1
- package/dist/src/server/oauth/providers/types.d.ts +9 -5
- package/dist/src/server/oauth/providers/types.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/oauth/setup.d.ts +5 -4
- package/dist/src/server/oauth/setup.d.ts.map +1 -1
- package/dist/src/server/oauth/utils.d.ts +3 -2
- package/dist/src/server/oauth/utils.d.ts.map +1 -1
- package/dist/src/server/prompts/index.d.ts +5 -4
- package/dist/src/server/prompts/index.d.ts.map +1 -1
- package/dist/src/server/resources/index.d.ts +43 -24
- package/dist/src/server/resources/index.d.ts.map +1 -1
- package/dist/src/server/sessions/session-manager.d.ts +11 -5
- package/dist/src/server/sessions/session-manager.d.ts.map +1 -1
- package/dist/src/server/tools/tool-execution-helpers.d.ts +31 -8
- package/dist/src/server/tools/tool-execution-helpers.d.ts.map +1 -1
- package/dist/src/server/tools/tool-registration.d.ts +21 -7
- package/dist/src/server/tools/tool-registration.d.ts.map +1 -1
- package/dist/src/server/types/common.d.ts +25 -9
- 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 +54 -9
- package/dist/src/server/types/resource.d.ts.map +1 -1
- package/dist/src/server/types/tool-context.d.ts +115 -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/types/widget.d.ts +2 -1
- package/dist/src/server/types/widget.d.ts.map +1 -1
- package/dist/src/server/widgets/index.d.ts +3 -3
- package/dist/src/server/widgets/index.d.ts.map +1 -1
- package/dist/src/server/widgets/mount-widgets-dev.d.ts.map +1 -1
- package/dist/src/server/widgets/ui-resource-registration.d.ts +11 -25
- package/dist/src/server/widgets/ui-resource-registration.d.ts.map +1 -1
- package/dist/src/server/widgets/widget-helpers.d.ts +11 -6
- package/dist/src/server/widgets/widget-helpers.d.ts.map +1 -1
- package/dist/src/server/widgets/widget-types.d.ts +3 -3
- package/dist/src/server/widgets/widget-types.d.ts.map +1 -1
- package/dist/src/session.d.ts +337 -2
- package/dist/src/session.d.ts.map +1 -1
- package/dist/{tool-execution-helpers-BQJTPWPN.js → tool-execution-helpers-2LGVSS7L.js} +1 -1
- package/package.json +3 -3
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { McpServer as OfficialMcpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
2
|
import type { CreateMessageRequest, CreateMessageResult } from "@modelcontextprotocol/sdk/types.js";
|
|
3
3
|
import type { Hono as HonoType } from "hono";
|
|
4
|
+
import { uiResourceRegistration } from "./widgets/index.js";
|
|
4
5
|
import { toolRegistration, convertZodSchemaToParams, createParamsSchema } from "./tools/index.js";
|
|
5
6
|
import { registerResource, registerResourceTemplate } from "./resources/index.js";
|
|
6
7
|
import { registerPrompt } from "./prompts/index.js";
|
|
@@ -11,7 +12,7 @@ import type { SessionData } from "./sessions/index.js";
|
|
|
11
12
|
import { getActiveSessions, sendNotification, sendNotificationToSession } from "./notifications/index.js";
|
|
12
13
|
import type { ServerConfig } from "./types/index.js";
|
|
13
14
|
import { parseTemplateUri as parseTemplateUriHelper } from "./utils/index.js";
|
|
14
|
-
export declare class
|
|
15
|
+
export declare class MCPServer {
|
|
15
16
|
/**
|
|
16
17
|
* Native MCP server instance from @modelcontextprotocol/sdk
|
|
17
18
|
* Exposed publicly for advanced use cases
|
|
@@ -63,7 +64,7 @@ export declare class McpServer {
|
|
|
63
64
|
* access to Hono methods while preserving MCP server functionality.
|
|
64
65
|
*
|
|
65
66
|
* @param config - Server configuration including name, version, and description
|
|
66
|
-
* @returns A proxied
|
|
67
|
+
* @returns A proxied MCPServer instance that supports both MCP and Hono methods
|
|
67
68
|
*/
|
|
68
69
|
constructor(config: ServerConfig);
|
|
69
70
|
/**
|
|
@@ -107,7 +108,7 @@ export declare class McpServer {
|
|
|
107
108
|
* ```
|
|
108
109
|
*/
|
|
109
110
|
notifyResourceUpdated(uri: string): Promise<void>;
|
|
110
|
-
uiResource:
|
|
111
|
+
uiResource: (definition: Parameters<typeof uiResourceRegistration>[1]) => this;
|
|
111
112
|
/**
|
|
112
113
|
* Mount MCP server endpoints at /mcp and /sse
|
|
113
114
|
*
|
|
@@ -179,7 +180,7 @@ export declare class McpServer {
|
|
|
179
180
|
* @example
|
|
180
181
|
* ```typescript
|
|
181
182
|
* // For Supabase Edge Functions (handles path rewriting automatically)
|
|
182
|
-
* const server =
|
|
183
|
+
* const server = new MCPServer({ name: 'my-server', version: '1.0.0' });
|
|
183
184
|
* server.tool({ ... });
|
|
184
185
|
* const handler = await server.getHandler({ provider: 'supabase' });
|
|
185
186
|
* Deno.serve(handler);
|
|
@@ -188,7 +189,7 @@ export declare class McpServer {
|
|
|
188
189
|
* @example
|
|
189
190
|
* ```typescript
|
|
190
191
|
* // For Cloudflare Workers
|
|
191
|
-
* const server =
|
|
192
|
+
* const server = new MCPServer({ name: 'my-server', version: '1.0.0' });
|
|
192
193
|
* server.tool({ ... });
|
|
193
194
|
* const handler = await server.getHandler();
|
|
194
195
|
* export default { fetch: handler };
|
|
@@ -223,7 +224,7 @@ export declare class McpServer {
|
|
|
223
224
|
*/
|
|
224
225
|
private mountInspector;
|
|
225
226
|
}
|
|
226
|
-
export type McpServerInstance =
|
|
227
|
+
export type McpServerInstance = MCPServer & HonoType;
|
|
227
228
|
/**
|
|
228
229
|
* Create a new MCP server instance
|
|
229
230
|
*
|
|
@@ -242,14 +243,22 @@ export type McpServerInstance = McpServer & HonoType;
|
|
|
242
243
|
*
|
|
243
244
|
* @example
|
|
244
245
|
* ```typescript
|
|
245
|
-
* //
|
|
246
|
+
* // Recommended: Use class constructor (matches MCPClient/MCPAgent pattern)
|
|
247
|
+
* const server = new MCPServer({
|
|
248
|
+
* name: 'my-server',
|
|
249
|
+
* version: '1.0.0',
|
|
250
|
+
* description: 'My MCP server'
|
|
251
|
+
* })
|
|
252
|
+
*
|
|
253
|
+
* // Legacy: Factory function (still supported for backward compatibility)
|
|
246
254
|
* const server = createMCPServer('my-server', {
|
|
247
255
|
* version: '1.0.0',
|
|
248
256
|
* description: 'My MCP server'
|
|
249
257
|
* })
|
|
250
258
|
*
|
|
251
259
|
* // Production mode with explicit allowed origins
|
|
252
|
-
* const server =
|
|
260
|
+
* const server = new MCPServer({
|
|
261
|
+
* name: 'my-server',
|
|
253
262
|
* version: '1.0.0',
|
|
254
263
|
* allowedOrigins: [
|
|
255
264
|
* 'https://myapp.com',
|
|
@@ -258,13 +267,15 @@ export type McpServerInstance = McpServer & HonoType;
|
|
|
258
267
|
* })
|
|
259
268
|
*
|
|
260
269
|
* // With custom host (e.g., for Docker or remote access)
|
|
261
|
-
* const server =
|
|
270
|
+
* const server = new MCPServer({
|
|
271
|
+
* name: 'my-server',
|
|
262
272
|
* version: '1.0.0',
|
|
263
273
|
* host: '0.0.0.0' // or 'myserver.com'
|
|
264
274
|
* })
|
|
265
275
|
*
|
|
266
276
|
* // With full base URL (e.g., behind a proxy or custom domain)
|
|
267
|
-
* const server =
|
|
277
|
+
* const server = new MCPServer({
|
|
278
|
+
* name: 'my-server',
|
|
268
279
|
* version: '1.0.0',
|
|
269
280
|
* baseUrl: 'https://myserver.com' // or process.env.MCP_URL
|
|
270
281
|
* })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../../../src/server/mcp-server.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,IAAI,iBAAiB,EAE/B,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,KAAK,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../../../src/server/mcp-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../../src/server/oauth/middleware.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,aAAa,EACvB,OAAO,CAAC,EAAE,MAAM,IAEF,GAAG,OAAO,EAAE,MAAM,IAAI;;
|
|
1
|
+
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../../src/server/oauth/middleware.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,aAAa,EACvB,OAAO,CAAC,EAAE,MAAM,IAEF,GAAG,OAAO,EAAE,MAAM,IAAI;;8BA0ErC"}
|
|
@@ -12,7 +12,7 @@ export declare class Auth0OAuthProvider implements OAuthProvider {
|
|
|
12
12
|
constructor(config: Auth0OAuthConfig);
|
|
13
13
|
private getJWKS;
|
|
14
14
|
verifyToken(token: string): Promise<any>;
|
|
15
|
-
getUserInfo(payload:
|
|
15
|
+
getUserInfo(payload: Record<string, unknown>): UserInfo;
|
|
16
16
|
getIssuer(): string;
|
|
17
17
|
getAuthEndpoint(): string;
|
|
18
18
|
getTokenEndpoint(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth0.d.ts","sourceRoot":"","sources":["../../../../../src/server/oauth/providers/auth0.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE5E,qBAAa,kBAAmB,YAAW,aAAa;IACtD,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,IAAI,CAAsD;gBAEtD,MAAM,EAAE,gBAAgB;IAKpC,OAAO,CAAC,OAAO;IAST,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IA4B9C,WAAW,CAAC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"auth0.d.ts","sourceRoot":"","sources":["../../../../../src/server/oauth/providers/auth0.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE5E,qBAAa,kBAAmB,YAAW,aAAa;IACtD,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,IAAI,CAAsD;gBAEtD,MAAM,EAAE,gBAAgB;IAKpC,OAAO,CAAC,OAAO;IAST,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IA4B9C,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,QAAQ;IAwBvD,SAAS,IAAI,MAAM;IAInB,eAAe,IAAI,MAAM;IAIzB,gBAAgB,IAAI,MAAM;IAI1B,kBAAkB,IAAI,MAAM,EAAE;IAI9B,sBAAsB,IAAI,MAAM,EAAE;CAGnC"}
|
|
@@ -8,8 +8,10 @@ import type { OAuthProvider, UserInfo, CustomOAuthConfig } from "./types.js";
|
|
|
8
8
|
export declare class CustomOAuthProvider implements OAuthProvider {
|
|
9
9
|
private config;
|
|
10
10
|
constructor(config: CustomOAuthConfig);
|
|
11
|
-
verifyToken(token: string): Promise<
|
|
12
|
-
|
|
11
|
+
verifyToken(token: string): Promise<{
|
|
12
|
+
payload: Record<string, unknown>;
|
|
13
|
+
}>;
|
|
14
|
+
getUserInfo(payload: Record<string, unknown>): UserInfo;
|
|
13
15
|
getIssuer(): string;
|
|
14
16
|
getAuthEndpoint(): string;
|
|
15
17
|
getTokenEndpoint(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom.d.ts","sourceRoot":"","sources":["../../../../../src/server/oauth/providers/custom.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE7E,qBAAa,mBAAoB,YAAW,aAAa;IACvD,OAAO,CAAC,MAAM,CAAoB;gBAEtB,MAAM,EAAE,iBAAiB;IAI/B,WAAW,
|
|
1
|
+
{"version":3,"file":"custom.d.ts","sourceRoot":"","sources":["../../../../../src/server/oauth/providers/custom.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE7E,qBAAa,mBAAoB,YAAW,aAAa;IACvD,OAAO,CAAC,MAAM,CAAoB;gBAEtB,MAAM,EAAE,iBAAiB;IAI/B,WAAW,CACf,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;IAShD,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,QAAQ;IA6BvD,SAAS,IAAI,MAAM;IAInB,eAAe,IAAI,MAAM;IAIzB,gBAAgB,IAAI,MAAM;IAI1B,kBAAkB,IAAI,MAAM,EAAE;IAI9B,sBAAsB,IAAI,MAAM,EAAE;CAKnC"}
|
|
@@ -12,7 +12,7 @@ export declare class KeycloakOAuthProvider implements OAuthProvider {
|
|
|
12
12
|
constructor(config: KeycloakOAuthConfig);
|
|
13
13
|
private getJWKS;
|
|
14
14
|
verifyToken(token: string): Promise<any>;
|
|
15
|
-
getUserInfo(payload:
|
|
15
|
+
getUserInfo(payload: Record<string, unknown>): UserInfo;
|
|
16
16
|
getIssuer(): string;
|
|
17
17
|
getAuthEndpoint(): string;
|
|
18
18
|
getTokenEndpoint(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keycloak.d.ts","sourceRoot":"","sources":["../../../../../src/server/oauth/providers/keycloak.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAE/E,qBAAa,qBAAsB,YAAW,aAAa;IACzD,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,IAAI,CAAsD;gBAEtD,MAAM,EAAE,mBAAmB;IAOvC,OAAO,CAAC,OAAO;IAST,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAgC9C,WAAW,CAAC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"keycloak.d.ts","sourceRoot":"","sources":["../../../../../src/server/oauth/providers/keycloak.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAE/E,qBAAa,qBAAsB,YAAW,aAAa;IACzD,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,IAAI,CAAsD;gBAEtD,MAAM,EAAE,mBAAmB;IAOvC,OAAO,CAAC,OAAO;IAST,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAgC9C,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,QAAQ;IAsDvD,SAAS,IAAI,MAAM;IAInB,eAAe,IAAI,MAAM;IAIzB,gBAAgB,IAAI,MAAM;IAI1B,kBAAkB,IAAI,MAAM,EAAE;IAI9B,sBAAsB,IAAI,MAAM,EAAE;CAGnC"}
|
|
@@ -14,7 +14,7 @@ export declare class SupabaseOAuthProvider implements OAuthProvider {
|
|
|
14
14
|
constructor(config: SupabaseOAuthConfig);
|
|
15
15
|
private getJWKS;
|
|
16
16
|
verifyToken(token: string): Promise<any>;
|
|
17
|
-
getUserInfo(payload:
|
|
17
|
+
getUserInfo(payload: Record<string, unknown>): UserInfo;
|
|
18
18
|
getIssuer(): string;
|
|
19
19
|
getAuthEndpoint(): string;
|
|
20
20
|
getTokenEndpoint(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supabase.d.ts","sourceRoot":"","sources":["../../../../../src/server/oauth/providers/supabase.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAE/E,qBAAa,qBAAsB,YAAW,aAAa;IACzD,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,IAAI,CAAsD;gBAEtD,MAAM,EAAE,mBAAmB;IAOvC,OAAO,CAAC,OAAO;IAST,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IA+C9C,WAAW,CAAC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"supabase.d.ts","sourceRoot":"","sources":["../../../../../src/server/oauth/providers/supabase.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAE/E,qBAAa,qBAAsB,YAAW,aAAa;IACzD,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,IAAI,CAAsD;gBAEtD,MAAM,EAAE,mBAAmB;IAOvC,OAAO,CAAC,OAAO;IAST,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IA+C9C,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,QAAQ;IAqBvD,SAAS,IAAI,MAAM;IAInB,eAAe,IAAI,MAAM;IAIzB,gBAAgB,IAAI,MAAM;IAI1B,kBAAkB,IAAI,MAAM,EAAE;IAI9B,sBAAsB,IAAI,MAAM,EAAE;CAGnC"}
|
|
@@ -15,13 +15,15 @@ export interface OAuthProvider {
|
|
|
15
15
|
* @returns The decoded and verified token payload
|
|
16
16
|
* @throws Error if token is invalid or verification fails
|
|
17
17
|
*/
|
|
18
|
-
verifyToken(token: string): Promise<
|
|
18
|
+
verifyToken(token: string): Promise<{
|
|
19
|
+
payload: Record<string, unknown>;
|
|
20
|
+
}>;
|
|
19
21
|
/**
|
|
20
22
|
* Extract user information from a verified token payload
|
|
21
23
|
* @param payload - The verified JWT payload
|
|
22
24
|
* @returns User information object
|
|
23
25
|
*/
|
|
24
|
-
getUserInfo(payload:
|
|
26
|
+
getUserInfo(payload: Record<string, unknown>): UserInfo;
|
|
25
27
|
/**
|
|
26
28
|
* Get the OAuth issuer URL
|
|
27
29
|
* @returns The issuer URL for this provider
|
|
@@ -71,7 +73,7 @@ export interface UserInfo {
|
|
|
71
73
|
picture?: string;
|
|
72
74
|
roles?: string[];
|
|
73
75
|
permissions?: string[];
|
|
74
|
-
[key: string]:
|
|
76
|
+
[key: string]: unknown;
|
|
75
77
|
}
|
|
76
78
|
/**
|
|
77
79
|
* Base configuration for all OAuth providers
|
|
@@ -128,8 +130,10 @@ export interface CustomOAuthConfig extends BaseOAuthConfig {
|
|
|
128
130
|
tokenEndpoint: string;
|
|
129
131
|
scopesSupported?: string[];
|
|
130
132
|
grantTypesSupported?: string[];
|
|
131
|
-
verifyToken: (token: string) => Promise<
|
|
132
|
-
|
|
133
|
+
verifyToken: (token: string) => Promise<{
|
|
134
|
+
payload: Record<string, unknown>;
|
|
135
|
+
}>;
|
|
136
|
+
getUserInfo?: (payload: Record<string, unknown>) => UserInfo;
|
|
133
137
|
}
|
|
134
138
|
/**
|
|
135
139
|
* Union type of all OAuth provider configurations
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/server/oauth/providers/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,SAAS,GACjB,QAAQ,GACR,OAAO,CAAC;AAEZ;;;;;GAKG;AAEH,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/server/oauth/providers/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -65,14 +65,18 @@ export interface CustomProviderConfig {
|
|
|
65
65
|
*
|
|
66
66
|
* @example Zero-config with environment variables
|
|
67
67
|
* ```typescript
|
|
68
|
-
* const server =
|
|
68
|
+
* const server = new MCPServer({
|
|
69
|
+
* name: 'my-server',
|
|
70
|
+
* version: '1.0.0',
|
|
69
71
|
* oauth: oauthSupabaseProvider()
|
|
70
72
|
* });
|
|
71
73
|
* ```
|
|
72
74
|
*
|
|
73
75
|
* @example With explicit configuration
|
|
74
76
|
* ```typescript
|
|
75
|
-
* const server =
|
|
77
|
+
* const server = new MCPServer({
|
|
78
|
+
* name: 'my-server',
|
|
79
|
+
* version: '1.0.0',
|
|
76
80
|
* oauth: oauthSupabaseProvider({
|
|
77
81
|
* projectId: 'my-project',
|
|
78
82
|
* jwtSecret: process.env.SUPABASE_JWT_SECRET
|
|
@@ -93,14 +97,18 @@ export declare function oauthSupabaseProvider(config?: Partial<SupabaseProviderC
|
|
|
93
97
|
*
|
|
94
98
|
* @example Zero-config with environment variables
|
|
95
99
|
* ```typescript
|
|
96
|
-
* const server =
|
|
100
|
+
* const server = new MCPServer({
|
|
101
|
+
* name: 'my-server',
|
|
102
|
+
* version: '1.0.0',
|
|
97
103
|
* oauth: oauthAuth0Provider()
|
|
98
104
|
* });
|
|
99
105
|
* ```
|
|
100
106
|
*
|
|
101
107
|
* @example With explicit configuration
|
|
102
108
|
* ```typescript
|
|
103
|
-
* const server =
|
|
109
|
+
* const server = new MCPServer({
|
|
110
|
+
* name: 'my-server',
|
|
111
|
+
* version: '1.0.0',
|
|
104
112
|
* oauth: oauthAuth0Provider({
|
|
105
113
|
* domain: 'my-tenant.auth0.com',
|
|
106
114
|
* audience: 'https://my-api.com'
|
|
@@ -122,14 +130,18 @@ export declare function oauthAuth0Provider(config?: Partial<Auth0ProviderConfig>
|
|
|
122
130
|
*
|
|
123
131
|
* @example Zero-config with environment variables
|
|
124
132
|
* ```typescript
|
|
125
|
-
* const server =
|
|
133
|
+
* const server = new MCPServer({
|
|
134
|
+
* name: 'my-server',
|
|
135
|
+
* version: '1.0.0',
|
|
126
136
|
* oauth: oauthKeycloakProvider()
|
|
127
137
|
* });
|
|
128
138
|
* ```
|
|
129
139
|
*
|
|
130
140
|
* @example With explicit configuration
|
|
131
141
|
* ```typescript
|
|
132
|
-
* const server =
|
|
142
|
+
* const server = new MCPServer({
|
|
143
|
+
* name: 'my-server',
|
|
144
|
+
* version: '1.0.0',
|
|
133
145
|
* oauth: oauthKeycloakProvider({
|
|
134
146
|
* serverUrl: 'https://keycloak.example.com',
|
|
135
147
|
* realm: 'my-realm',
|
|
@@ -164,7 +176,9 @@ export declare function oauthKeycloakProvider(config?: Partial<KeycloakProviderC
|
|
|
164
176
|
*
|
|
165
177
|
* @example Dynamic Client Registration (recommended)
|
|
166
178
|
* ```typescript
|
|
167
|
-
* const server =
|
|
179
|
+
* const server = new MCPServer({
|
|
180
|
+
* name: 'my-server',
|
|
181
|
+
* version: '1.0.0',
|
|
168
182
|
* oauth: oauthWorkOSProvider({
|
|
169
183
|
* subdomain: 'my-company'
|
|
170
184
|
* })
|
|
@@ -173,7 +187,9 @@ export declare function oauthKeycloakProvider(config?: Partial<KeycloakProviderC
|
|
|
173
187
|
*
|
|
174
188
|
* @example Pre-registered OAuth Client
|
|
175
189
|
* ```typescript
|
|
176
|
-
* const server =
|
|
190
|
+
* const server = new MCPServer({
|
|
191
|
+
* name: 'my-server',
|
|
192
|
+
* version: '1.0.0',
|
|
177
193
|
* oauth: oauthWorkOSProvider({
|
|
178
194
|
* subdomain: 'my-company',
|
|
179
195
|
* clientId: 'client_01KB5DRXBDDY1VGCBKY108SKJW'
|
|
@@ -190,7 +206,9 @@ export declare function oauthWorkOSProvider(config?: Partial<WorkOSProviderConfi
|
|
|
190
206
|
*
|
|
191
207
|
* @example
|
|
192
208
|
* ```typescript
|
|
193
|
-
* const server =
|
|
209
|
+
* const server = new MCPServer({
|
|
210
|
+
* name: 'my-server',
|
|
211
|
+
* version: '1.0.0',
|
|
194
212
|
* oauth: oauthCustomProvider({
|
|
195
213
|
* issuer: 'https://oauth.example.com',
|
|
196
214
|
* jwksUrl: 'https://oauth.example.com/.well-known/jwks.json',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../../../src/server/oauth/providers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAM1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGrD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7C,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,QAAQ,CAAC;CAC1C;AAED
|
|
1
|
+
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../../../src/server/oauth/providers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAM1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGrD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7C,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,QAAQ,CAAC;CAC1C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,GAAE,OAAO,CAAC,sBAAsB,CAAM,GAC3C,aAAa,CAmBf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,GAAE,OAAO,CAAC,mBAAmB,CAAM,GACxC,aAAa,CAwBf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,GAAE,OAAO,CAAC,sBAAsB,CAAM,GAC3C,aAAa,CA4Bf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,GAAE,OAAO,CAAC,oBAAoB,CAAM,GACzC,aAAa,CAwCf;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,oBAAoB,GAC3B,aAAa,CAKf"}
|
|
@@ -3,13 +3,14 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Handles OAuth provider initialization and configuration for MCP servers.
|
|
5
5
|
*/
|
|
6
|
-
import type { Hono as HonoType } from "hono";
|
|
6
|
+
import type { Hono as HonoType, Context, Next } from "hono";
|
|
7
|
+
import type { OAuthProvider } from "./providers/types.js";
|
|
7
8
|
/**
|
|
8
9
|
* OAuth setup state
|
|
9
10
|
*/
|
|
10
11
|
export interface OAuthSetupState {
|
|
11
|
-
provider?:
|
|
12
|
-
middleware?:
|
|
12
|
+
provider?: OAuthProvider;
|
|
13
|
+
middleware?: (c: Context, next: Next) => Promise<Response | void>;
|
|
13
14
|
complete: boolean;
|
|
14
15
|
}
|
|
15
16
|
/**
|
|
@@ -24,5 +25,5 @@ export interface OAuthSetupState {
|
|
|
24
25
|
* @param state - OAuth setup state to track completion
|
|
25
26
|
* @returns Updated OAuth setup state with provider and middleware
|
|
26
27
|
*/
|
|
27
|
-
export declare function setupOAuthForServer(app: HonoType, oauthProvider:
|
|
28
|
+
export declare function setupOAuthForServer(app: HonoType, oauthProvider: OAuthProvider, baseUrl: string, state: OAuthSetupState): Promise<OAuthSetupState>;
|
|
28
29
|
//# sourceMappingURL=setup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../../src/server/oauth/setup.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../../src/server/oauth/setup.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,IAAI,IAAI,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IAClE,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,QAAQ,EACb,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,eAAe,CAAC,CAkC1B"}
|
|
@@ -5,12 +5,13 @@
|
|
|
5
5
|
* accessing authentication information in tool callbacks and middleware.
|
|
6
6
|
*/
|
|
7
7
|
import type { Context, Next } from "hono";
|
|
8
|
+
import type { UserInfo } from "./providers/types.js";
|
|
8
9
|
/**
|
|
9
10
|
* Authentication information extracted from context
|
|
10
11
|
*/
|
|
11
12
|
export interface AuthInfo {
|
|
12
|
-
user:
|
|
13
|
-
payload:
|
|
13
|
+
user: UserInfo;
|
|
14
|
+
payload: Record<string, unknown>;
|
|
14
15
|
accessToken: string;
|
|
15
16
|
scopes: string[];
|
|
16
17
|
permissions: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/server/oauth/utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/server/oauth/utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,QAAQ,CAElD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAQ7E;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAOvE;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,IACtC,GAAG,OAAO,EAAE,MAAM,IAAI;;;;;;8BAkBrC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAChC,GAAG,OAAO,EAAE,MAAM,IAAI;;;;;;8BAiBrC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { z } from "zod";
|
|
1
2
|
import type { GetPromptResult } from "@modelcontextprotocol/sdk/types.js";
|
|
2
3
|
import type { PromptDefinition, PromptDefinitionWithoutCallback, PromptCallback } from "../types.js";
|
|
3
4
|
export interface PromptServerContext {
|
|
@@ -5,12 +6,12 @@ export interface PromptServerContext {
|
|
|
5
6
|
registerPrompt(name: string, metadata: {
|
|
6
7
|
title?: string;
|
|
7
8
|
description: string;
|
|
8
|
-
argsSchema: any;
|
|
9
|
-
}, getPromptCallback: (params: any) => Promise<GetPromptResult>): void;
|
|
9
|
+
argsSchema: z.ZodObject<any> | Record<string, z.ZodSchema> | undefined;
|
|
10
|
+
}, getPromptCallback: (params: Record<string, unknown>, extra?: any) => Promise<GetPromptResult>): void;
|
|
10
11
|
};
|
|
11
12
|
registeredPrompts: string[];
|
|
12
|
-
createParamsSchema: (args:
|
|
13
|
-
convertZodSchemaToParams: (schema: any) =>
|
|
13
|
+
createParamsSchema: (args: import("../types/common.js").InputDefinition[]) => Record<string, z.ZodSchema>;
|
|
14
|
+
convertZodSchemaToParams: (schema: z.ZodObject<any>) => Record<string, z.ZodSchema>;
|
|
14
15
|
}
|
|
15
16
|
/**
|
|
16
17
|
* Define a prompt template
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/prompts/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAEhB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EACV,gBAAgB,EAChB,+BAA+B,EAC/B,cAAc,EACf,MAAM,aAAa,CAAC;AAGrB,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE;QACN,cAAc,CACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE;YACR,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,WAAW,EAAE,MAAM,CAAC;YACpB,UAAU,EAAE,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/prompts/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EACV,eAAe,EAEhB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EACV,gBAAgB,EAChB,+BAA+B,EAC/B,cAAc,EACf,MAAM,aAAa,CAAC;AAGrB,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE;QACN,cAAc,CACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE;YACR,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,WAAW,EAAE,MAAM,CAAC;YACpB,UAAU,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;SACxE,EACD,iBAAiB,EAAE,CACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,KAAK,CAAC,EAAE,GAAG,KACR,OAAO,CAAC,eAAe,CAAC,GAC5B,IAAI,CAAC;KACT,CAAC;IACF,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,kBAAkB,EAAE,CAClB,IAAI,EAAE,OAAO,oBAAoB,EAAE,eAAe,EAAE,KACjD,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;IACjC,wBAAwB,EAAE,CACxB,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,KACrB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;CAClC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,mBAAmB,EACzB,gBAAgB,EAAE,gBAAgB,GAAG,+BAA+B,EACpE,QAAQ,CAAC,EAAE,cAAc,GACxB,mBAAmB,CAiFrB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { ResourceDefinition, ReadResourceCallback,
|
|
1
|
+
import type { ResourceDefinition, ReadResourceCallback, ResourceDefinitionWithoutCallback, ResourceTemplateDefinitionWithoutCallback, FlatResourceTemplateDefinition, FlatResourceTemplateDefinitionWithoutCallback, ResourceTemplateDefinition, EnhancedResourceContext } from "../types/index.js";
|
|
2
2
|
import { ResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
3
|
-
import type { ReadResourceResult } from "@modelcontextprotocol/sdk/types.js";
|
|
4
|
-
import type {
|
|
3
|
+
import type { ReadResourceResult, CallToolResult } from "@modelcontextprotocol/sdk/types.js";
|
|
4
|
+
import type { TypedCallToolResult } from "../utils/response-helpers.js";
|
|
5
5
|
export { ResourceSubscriptionManager } from "./subscriptions.js";
|
|
6
6
|
export interface ResourceServerContext {
|
|
7
7
|
server: {
|
|
@@ -66,7 +66,7 @@ export interface ResourceServerContext {
|
|
|
66
66
|
export declare function registerResource(this: ResourceServerContext, resourceDefinition: ResourceDefinition | ResourceDefinitionWithoutCallback, callback?: ReadResourceCallback): ResourceServerContext;
|
|
67
67
|
export interface ResourceTemplateServerContext {
|
|
68
68
|
server: {
|
|
69
|
-
registerResource(name: string, template: ResourceTemplate, metadata:
|
|
69
|
+
registerResource(name: string, template: ResourceTemplate, metadata: Record<string, unknown>, readCallback: (uri: URL) => Promise<ReadResourceResult>): void;
|
|
70
70
|
};
|
|
71
71
|
registeredResources: string[];
|
|
72
72
|
parseTemplateUri(uriTemplate: string, uri: string): Record<string, string>;
|
|
@@ -78,40 +78,59 @@ export interface ResourceTemplateServerContext {
|
|
|
78
78
|
* patterns with placeholders that can be filled in at request time, allowing dynamic
|
|
79
79
|
* resource generation based on parameters.
|
|
80
80
|
*
|
|
81
|
-
* Supports
|
|
82
|
-
* 1.
|
|
83
|
-
* 2.
|
|
81
|
+
* Supports multiple API patterns:
|
|
82
|
+
* 1. Flat structure (recommended): `uriTemplate` directly on definition
|
|
83
|
+
* 2. Nested structure (legacy): `resourceTemplate.uriTemplate`
|
|
84
|
+
* 3. Old API: Single object with readCallback property
|
|
85
|
+
* 4. New API: Definition object + separate callback (like tools)
|
|
86
|
+
*
|
|
87
|
+
* The callback function supports multiple signatures for flexibility:
|
|
88
|
+
* - `async () => ...` - No parameters (for static templates)
|
|
89
|
+
* - `async (uri) => ...` - Just the URI
|
|
90
|
+
* - `async (uri, params) => ...` - URI and extracted parameters
|
|
91
|
+
* - `async (uri, params, ctx) => ...` - URI, parameters, and context (with auth, request, etc.)
|
|
84
92
|
*
|
|
85
93
|
* @param resourceTemplateDefinition - Configuration object for the resource template
|
|
86
94
|
* @param resourceTemplateDefinition.name - Unique identifier for the template
|
|
87
|
-
* @param resourceTemplateDefinition.
|
|
95
|
+
* @param resourceTemplateDefinition.uriTemplate - URI template (flat structure, recommended)
|
|
96
|
+
* @param resourceTemplateDefinition.resourceTemplate - ResourceTemplate object (nested structure, legacy)
|
|
88
97
|
* @param callback - Optional separate callback function (new API pattern)
|
|
89
98
|
* @returns The server instance for method chaining
|
|
90
99
|
*
|
|
91
100
|
* @example
|
|
92
101
|
* ```typescript
|
|
93
|
-
* //
|
|
94
|
-
* server.resourceTemplate(
|
|
95
|
-
*
|
|
96
|
-
*
|
|
97
|
-
*
|
|
102
|
+
* // Flat structure (recommended)
|
|
103
|
+
* server.resourceTemplate({
|
|
104
|
+
* name: 'user',
|
|
105
|
+
* uriTemplate: 'user://{id}',
|
|
106
|
+
* title: 'User Profile'
|
|
107
|
+
* }, async (uri, { id }) => object(await getUserData(id)))
|
|
98
108
|
*
|
|
99
|
-
* //
|
|
109
|
+
* // Minimal signature - no parameters
|
|
110
|
+
* server.resourceTemplate({
|
|
111
|
+
* name: 'static',
|
|
112
|
+
* uriTemplate: 'app://static'
|
|
113
|
+
* }, async () => text('Static content'))
|
|
114
|
+
*
|
|
115
|
+
* // With context for auth/request access
|
|
116
|
+
* server.resourceTemplate({
|
|
117
|
+
* name: 'private',
|
|
118
|
+
* uriTemplate: 'private://{id}'
|
|
119
|
+
* }, async (uri, { id }, ctx) => {
|
|
120
|
+
* const user = ctx.auth; // Access authenticated user
|
|
121
|
+
* return object(await getPrivateData(id, user));
|
|
122
|
+
* })
|
|
123
|
+
*
|
|
124
|
+
* // Nested structure (legacy, still supported)
|
|
100
125
|
* server.resourceTemplate({
|
|
101
126
|
* name: 'user-profile',
|
|
102
127
|
* resourceTemplate: {
|
|
103
128
|
* uriTemplate: 'user://{userId}/profile',
|
|
104
129
|
* mimeType: 'application/json'
|
|
105
|
-
* }
|
|
106
|
-
*
|
|
107
|
-
* contents: [{
|
|
108
|
-
* uri: uri.toString(),
|
|
109
|
-
* mimeType: 'application/json',
|
|
110
|
-
* text: JSON.stringify({ userId: params.userId })
|
|
111
|
-
* }]
|
|
112
|
-
* })
|
|
113
|
-
* })
|
|
130
|
+
* }
|
|
131
|
+
* }, async (uri, { userId }) => object(await getUserData(userId)))
|
|
114
132
|
* ```
|
|
115
133
|
*/
|
|
116
|
-
export declare function registerResourceTemplate(this: ResourceTemplateServerContext, resourceTemplateDefinition: ResourceTemplateDefinition | ResourceTemplateDefinitionWithoutCallback, callback
|
|
134
|
+
export declare function registerResourceTemplate<HasOAuth extends boolean = false>(this: ResourceTemplateServerContext, resourceTemplateDefinition: ResourceTemplateDefinition<HasOAuth> | ResourceTemplateDefinitionWithoutCallback | FlatResourceTemplateDefinition<HasOAuth> | FlatResourceTemplateDefinitionWithoutCallback, callback: (uri: URL, params: Record<string, any>) => Promise<CallToolResult | ReadResourceResult | TypedCallToolResult<any>>): ResourceTemplateServerContext;
|
|
135
|
+
export declare function registerResourceTemplate<HasOAuth extends boolean = false>(this: ResourceTemplateServerContext, resourceTemplateDefinition: ResourceTemplateDefinition<HasOAuth> | ResourceTemplateDefinitionWithoutCallback | FlatResourceTemplateDefinition<HasOAuth> | FlatResourceTemplateDefinitionWithoutCallback, callback: (uri: URL, params: Record<string, any>, ctx: EnhancedResourceContext<HasOAuth>) => Promise<CallToolResult | ReadResourceResult | TypedCallToolResult<any>>): ResourceTemplateServerContext;
|
|
117
136
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/resources/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,15 +5,17 @@
|
|
|
5
5
|
* The native SDK transport handles session lifecycle internally.
|
|
6
6
|
*/
|
|
7
7
|
import type { Context } from "hono";
|
|
8
|
+
import type { Transport } from "@modelcontextprotocol/sdk/shared/transport.js";
|
|
9
|
+
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
8
10
|
/**
|
|
9
11
|
* Session data stored for each active MCP session
|
|
10
12
|
* Following official SDK pattern - each session has its own transport and server
|
|
11
13
|
*/
|
|
12
14
|
export interface SessionData {
|
|
13
15
|
/** Reference to this session's transport instance */
|
|
14
|
-
transport:
|
|
16
|
+
transport: Transport;
|
|
15
17
|
/** Reference to this session's server instance */
|
|
16
|
-
server?:
|
|
18
|
+
server?: McpServer;
|
|
17
19
|
/** Timestamp of last activity for idle timeout tracking */
|
|
18
20
|
lastAccessedAt: number;
|
|
19
21
|
/** Hono context for this session's current request */
|
|
@@ -23,14 +25,16 @@ export interface SessionData {
|
|
|
23
25
|
/** Function to send notifications to the client */
|
|
24
26
|
sendNotification?: (notification: {
|
|
25
27
|
method: string;
|
|
26
|
-
params: Record<string,
|
|
28
|
+
params: Record<string, unknown>;
|
|
27
29
|
}) => Promise<void>;
|
|
28
30
|
/** Express-like response object for notifications */
|
|
29
|
-
expressRes?:
|
|
31
|
+
expressRes?: Response | Record<string, unknown>;
|
|
30
32
|
/** Hono context for direct response access */
|
|
31
33
|
honoContext?: Context;
|
|
32
34
|
/** Minimum log level for filtering log messages (RFC 5424 levels) */
|
|
33
35
|
logLevel?: string;
|
|
36
|
+
/** Client capabilities advertised during initialization */
|
|
37
|
+
clientCapabilities?: Record<string, unknown>;
|
|
34
38
|
}
|
|
35
39
|
/**
|
|
36
40
|
* Start idle session cleanup interval
|
|
@@ -43,5 +47,7 @@ export interface SessionData {
|
|
|
43
47
|
* @param idleTimeoutMs - Idle timeout in milliseconds
|
|
44
48
|
* @param mcpServerInstance - Optional MCP server instance for cleanup callbacks
|
|
45
49
|
*/
|
|
46
|
-
export declare function startIdleCleanup(sessions: Map<string, SessionData>, idleTimeoutMs: number, mcpServerInstance?:
|
|
50
|
+
export declare function startIdleCleanup(sessions: Map<string, SessionData>, idleTimeoutMs: number, mcpServerInstance?: {
|
|
51
|
+
cleanupSessionSubscriptions?: (sessionId: string) => void;
|
|
52
|
+
}): NodeJS.Timeout | undefined;
|
|
47
53
|
//# sourceMappingURL=session-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../../../src/server/sessions/session-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../../../src/server/sessions/session-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAC/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,qDAAqD;IACrD,SAAS,EAAE,SAAS,CAAC;IACrB,kDAAkD;IAClD,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,2DAA2D;IAC3D,cAAc,EAAE,MAAM,CAAC;IACvB,sDAAsD;IACtD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mDAAmD;IACnD,gBAAgB,CAAC,EAAE,CAAC,YAAY,EAAE;QAChC,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACjC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpB,qDAAqD;IACrD,UAAU,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChD,8CAA8C;IAC9C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EAClC,aAAa,EAAE,MAAM,EACrB,iBAAiB,CAAC,EAAE;IAClB,2BAA2B,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3D,GACA,MAAM,CAAC,OAAO,GAAG,SAAS,CA0B5B"}
|