mcp-http-webhook 1.0.4 → 1.0.6

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.
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAsB,MAAM,SAAS,CAAC;AAmEzE;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAmelE"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAiD,MAAM,SAAS,CAAC;AAkKpG;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAogBlE"}
package/dist/server.js CHANGED
@@ -72,6 +72,75 @@ function convertToZodSchema(jsonSchema) {
72
72
  }
73
73
  return schema;
74
74
  }
75
+ const VALID_CREDENTIAL_FIELD_TYPES = new Set([
76
+ 'string',
77
+ 'number',
78
+ 'boolean',
79
+ 'object',
80
+ 'array',
81
+ 'date',
82
+ 'file',
83
+ 'binary',
84
+ ]);
85
+ function sanitizeCredentialFields(fields, path = 'credentials') {
86
+ if (fields === undefined || fields === null) {
87
+ return [];
88
+ }
89
+ if (!Array.isArray(fields)) {
90
+ throw new errors_1.ValidationError(`MCP configuration ${path} must be an array`);
91
+ }
92
+ return fields.map((field, index) => sanitizeCredentialField(field, `${path}[${index}]`));
93
+ }
94
+ function sanitizeCredentialField(field, path) {
95
+ if (typeof field !== 'object' || field === null) {
96
+ throw new errors_1.ValidationError(`MCP configuration ${path} must be an object`);
97
+ }
98
+ const candidate = field;
99
+ const rawName = candidate.name;
100
+ const name = typeof rawName === 'string' ? rawName.trim() : '';
101
+ if (!name) {
102
+ throw new errors_1.ValidationError(`MCP configuration ${path}.name is required`);
103
+ }
104
+ const rawType = typeof candidate.type === 'string'
105
+ ? candidate.type.toLowerCase()
106
+ : 'string';
107
+ const type = (VALID_CREDENTIAL_FIELD_TYPES.has(rawType)
108
+ ? rawType
109
+ : 'string');
110
+ const description = typeof candidate.description === 'string' && candidate.description.trim().length > 0
111
+ ? candidate.description
112
+ : undefined;
113
+ const sanitized = {
114
+ name,
115
+ type,
116
+ required: Boolean(candidate.required),
117
+ };
118
+ if (description) {
119
+ sanitized.description = description;
120
+ }
121
+ if (candidate.default !== undefined) {
122
+ sanitized.default = candidate.default;
123
+ }
124
+ if (Array.isArray(candidate.innerFields) && candidate.innerFields.length > 0) {
125
+ const inner = sanitizeCredentialFields(candidate.innerFields, `${path}.innerFields`);
126
+ if (inner.length > 0) {
127
+ sanitized.innerFields = inner;
128
+ }
129
+ }
130
+ if (Array.isArray(candidate.or) && candidate.or.length > 0) {
131
+ const alternatives = sanitizeCredentialFields(candidate.or, `${path}.or`);
132
+ if (alternatives.length > 0) {
133
+ sanitized.or = alternatives;
134
+ }
135
+ }
136
+ if (candidate.config && typeof candidate.config === 'object') {
137
+ sanitized.config = { ...candidate.config };
138
+ }
139
+ if (candidate.metadata && typeof candidate.metadata === 'object') {
140
+ sanitized.metadata = { ...candidate.metadata };
141
+ }
142
+ return sanitized;
143
+ }
75
144
  /**
76
145
  * Create MCP HTTP Webhook Server using standard MCP SDK
77
146
  */
@@ -82,6 +151,8 @@ function createMCPServer(config) {
82
151
  const host = config.host || '0.0.0.0';
83
152
  // Validate configuration
84
153
  validateConfig(config);
154
+ // Validate credential metadata upfront to surface configuration issues early
155
+ sanitizeCredentialFields(config.credentials);
85
156
  // Create Express app
86
157
  const app = (0, express_1.default)();
87
158
  // Middleware
@@ -148,6 +219,7 @@ function createMCPServer(config) {
148
219
  name: r.name,
149
220
  description: r.description,
150
221
  mimeType: resourceDef.mimeType,
222
+ metadata: resourceDef.metadata,
151
223
  ...r, // Spread to add index signature
152
224
  })),
153
225
  };
@@ -159,25 +231,28 @@ function createMCPServer(config) {
159
231
  }, async (uri, _variables, _extra) => {
160
232
  const context = sdkServer._currentContext || { userId: 'anonymous' };
161
233
  const result = await resourceDef.read(uri.href, { ...context, ...(_variables || {}) });
162
- return {
163
- contents: Array.isArray(result.contents)
164
- ? result.contents.map((content) => ({
165
- ...(typeof content === 'string' ? {} : { ...content }),
166
- uri: uri.href,
167
- text: typeof content === 'string' ? content : content.text,
168
- mimeType: content.mimeType || resourceDef.mimeType || 'text/plain',
169
- blob: content.blob,
170
- }))
171
- : [
172
- {
173
- ...(typeof result.contents === 'string' ? {} : { ...result.contents }),
174
- uri: uri.href,
175
- text: typeof result.contents === 'string' ? result.contents : result.contents.text,
176
- mimeType: result.contents.mimeType || resourceDef.mimeType || 'text/plain',
177
- blob: result.contents.blob,
178
- },
179
- ],
234
+ const metadata = result.metadata ||
235
+ (resourceDef.getMetadata ? await resourceDef.getMetadata(uri.href, context) : resourceDef.metadata);
236
+ const defaultMimeType = resourceDef.mimeType || 'text/plain';
237
+ const normalizeContent = (content) => ({
238
+ ...(typeof content === 'string' ? {} : { ...content }),
239
+ uri: uri.href,
240
+ text: typeof content === 'string' ? content : content.text,
241
+ mimeType: (typeof content === 'string' ? resourceDef.mimeType : content.mimeType) ||
242
+ defaultMimeType,
243
+ blob: typeof content === 'string' ? undefined : content.blob,
244
+ });
245
+ const contents = Array.isArray(result.contents)
246
+ ? result.contents.map((content) => normalizeContent(content))
247
+ : [normalizeContent(result.contents)];
248
+ const response = {
249
+ contents,
250
+ structuredContent: result.contents,
180
251
  };
252
+ if (metadata) {
253
+ response.metadata = metadata;
254
+ }
255
+ return response;
181
256
  });
182
257
  }
183
258
  else {
@@ -188,23 +263,28 @@ function createMCPServer(config) {
188
263
  }, async (uri, _extra) => {
189
264
  const context = sdkServer._currentContext || { userId: 'anonymous' };
190
265
  const result = await resourceDef.read(uri.href, context);
191
- return {
192
- contents: Array.isArray(result.contents)
193
- ? result.contents.map((content) => ({
194
- uri: uri.href,
195
- text: typeof content === 'string' ? content : JSON.stringify(content),
196
- mimeType: resourceDef.mimeType || 'application/json',
197
- }))
198
- : [
199
- {
200
- uri: uri.href,
201
- text: typeof result.contents === 'string'
202
- ? result.contents
203
- : JSON.stringify(result.contents),
204
- mimeType: resourceDef.mimeType || 'application/json',
205
- },
206
- ],
266
+ const metadata = result.metadata ||
267
+ (resourceDef.getMetadata ? await resourceDef.getMetadata(uri.href, context) : resourceDef.metadata);
268
+ const defaultMimeType = resourceDef.mimeType || 'application/json';
269
+ const normalizeContent = (content) => ({
270
+ ...(typeof content === 'string' ? {} : { ...content }),
271
+ uri: uri.href,
272
+ text: typeof content === 'string' ? content : content.text,
273
+ mimeType: (typeof content === 'string' ? resourceDef.mimeType : content.mimeType) ||
274
+ defaultMimeType,
275
+ blob: typeof content === 'string' ? undefined : content.blob,
276
+ });
277
+ const contents = Array.isArray(result.contents)
278
+ ? result.contents.map((content) => normalizeContent(content))
279
+ : [normalizeContent(result.contents)];
280
+ const response = {
281
+ contents,
282
+ structuredContent: result.contents,
207
283
  };
284
+ if (metadata) {
285
+ response.metadata = metadata;
286
+ }
287
+ return response;
208
288
  });
209
289
  }
210
290
  });
@@ -382,6 +462,13 @@ function createMCPServer(config) {
382
462
  await subscriptionManager.deleteSubscription(subscriptionId, context);
383
463
  res.json({ status: 'unsubscribed' });
384
464
  }));
465
+ app.get(`${basePath}/.well-known/credentials`, asyncHandler(async (req, res) => {
466
+ const credentials = sanitizeCredentialFields(config.credentials);
467
+ res.json({
468
+ version: config.version,
469
+ credentials,
470
+ });
471
+ }));
385
472
  // Webhook endpoints
386
473
  const webhookPath = config.webhooks?.incomingPath || '/webhooks/incoming';
387
474
  app.post(`${webhookPath}/:subscriptionId`, asyncHandler(async (req, res) => {
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,24 @@ export interface JSONSchema {
8
8
  required?: string[];
9
9
  [key: string]: any;
10
10
  }
11
+ export type CredentialFieldType = 'string' | 'number' | 'boolean' | 'object' | 'array' | 'date' | 'file' | 'binary';
12
+ export type CredentialFieldConfigType = 'jwt' | 'bearer' | 'basic' | 'oauth' | 'oidc' | 'keyValue';
13
+ export interface CredentialFieldConfig {
14
+ type?: CredentialFieldConfigType;
15
+ inject?: any;
16
+ [key: string]: any;
17
+ }
18
+ export interface CredentialFieldDefinition {
19
+ name: string;
20
+ description?: string;
21
+ type: CredentialFieldType;
22
+ required?: boolean;
23
+ default?: any;
24
+ innerFields?: CredentialFieldDefinition[];
25
+ or?: CredentialFieldDefinition[];
26
+ config?: CredentialFieldConfig;
27
+ metadata?: Record<string, any>;
28
+ }
11
29
  /**
12
30
  * Authentication context passed to handlers
13
31
  */
@@ -70,18 +88,71 @@ export interface ToolDefinition<TInput = any, TOutput = any> {
70
88
  /**
71
89
  * Resource list item
72
90
  */
91
+ export type ResourceCategory = 'table' | 'file' | 'document' | 'stream' | 'queue' | 'service' | 'topic';
92
+ export interface ResourceSchemaColumn {
93
+ name: string;
94
+ type: string;
95
+ nullable?: boolean;
96
+ isPrimaryKey?: boolean;
97
+ description?: string;
98
+ example?: any;
99
+ metadata?: Record<string, any>;
100
+ }
101
+ export interface ResourceSchema {
102
+ columns?: ResourceSchemaColumn[];
103
+ primaryKey?: string[];
104
+ idField?: string;
105
+ encoding?: string;
106
+ partitionKeys?: string[];
107
+ sampleUri?: string;
108
+ metadata?: Record<string, any>;
109
+ }
110
+ export interface ResourceChangeModel {
111
+ mode: 'row' | 'object' | 'file' | 'custom';
112
+ identifierField?: string;
113
+ supportsDiff?: boolean;
114
+ payloadSchema?: JSONSchema;
115
+ description?: string;
116
+ metadata?: Record<string, any>;
117
+ }
118
+ export interface ResourceAccessDetails {
119
+ classifications?: string[];
120
+ sensitivity?: 'public' | 'internal' | 'confidential' | 'restricted';
121
+ owners?: string[];
122
+ tags?: string[];
123
+ metadata?: Record<string, any>;
124
+ }
125
+ export interface ResourceCacheStrategy {
126
+ recommendedTtlSeconds?: number;
127
+ supportsIncremental?: boolean;
128
+ requiresFullRefresh?: boolean;
129
+ metadata?: Record<string, any>;
130
+ }
131
+ export interface ResourceMetadata {
132
+ resourceType: ResourceCategory;
133
+ schema?: ResourceSchema;
134
+ changeModel?: ResourceChangeModel;
135
+ access?: ResourceAccessDetails;
136
+ cache?: ResourceCacheStrategy;
137
+ sourceSystem?: string;
138
+ sourceLocation?: string;
139
+ notes?: string;
140
+ metadata?: Record<string, any>;
141
+ [key: string]: any;
142
+ }
73
143
  export interface ResourceListItem {
74
144
  uri: string;
75
145
  name: string;
76
146
  description?: string;
77
147
  mimeType?: string;
148
+ metadata?: ResourceMetadata;
78
149
  }
79
150
  /**
80
151
  * Resource read result
81
152
  */
82
153
  export interface ResourceReadResult<TData = any> {
83
154
  contents: TData;
84
- metadata?: Record<string, any>;
155
+ metadata?: ResourceMetadata;
85
156
  }
86
157
  /**
87
158
  * Resource read options
@@ -132,6 +203,8 @@ export interface ResourceDefinition<TData = any> {
132
203
  name: string;
133
204
  description: string;
134
205
  mimeType?: string;
206
+ metadata?: ResourceMetadata;
207
+ getMetadata?: (uri: string, context: AuthContext) => Promise<ResourceMetadata | null>;
135
208
  read: (uri: string, context: AuthContext, options?: ResourceReadOptions) => Promise<ResourceReadResult<TData>>;
136
209
  list?: (context: AuthContext) => Promise<ResourceListItem[]>;
137
210
  subscription?: ResourceSubscription;
@@ -235,6 +308,7 @@ export interface MCPServerConfig {
235
308
  middleware?: Middleware[];
236
309
  logger?: Logger;
237
310
  logLevel?: 'debug' | 'info' | 'warn' | 'error';
311
+ credentials?: CredentialFieldDefinition[];
238
312
  }
239
313
  /**
240
314
  * Stored subscription data
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;AAiUA;;GAEG;AACH,IAAY,YAOX;AAPD,WAAY,YAAY;IACtB,kFAA4B,CAAA;IAC5B,0EAAwB,CAAA;IACxB,sFAA8B,CAAA;IAC9B,gFAA2B,CAAA;IAC3B,oEAAqB,CAAA;IACrB,oEAAqB,CAAA;AACvB,CAAC,EAPW,YAAY,4BAAZ,YAAY,QAOvB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;AA4aA;;GAEG;AACH,IAAY,YAOX;AAPD,WAAY,YAAY;IACtB,kFAA4B,CAAA;IAC5B,0EAAwB,CAAA;IACxB,sFAA8B,CAAA;IAC9B,gFAA2B,CAAA;IAC3B,oEAAqB,CAAA;IACrB,oEAAqB,CAAA;AACvB,CAAC,EAPW,YAAY,4BAAZ,YAAY,QAOvB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mcp-http-webhook",
3
- "version": "1.0.4",
3
+ "version": "1.0.6",
4
4
  "description": "Production-ready MCP server framework with HTTP + webhook-based subscriptions",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/src/server.ts CHANGED
@@ -2,7 +2,7 @@ import express, { Express, Request, Response, NextFunction } from 'express';
2
2
  import { McpServer, ResourceTemplate } from '@modelcontextprotocol/sdk/server/mcp.js';
3
3
  import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
4
4
  import { z } from 'zod';
5
- import { MCPServerConfig, MCPServer, Logger, JSONSchema } from './types';
5
+ import { MCPServerConfig, MCPServer, Logger, JSONSchema, CredentialFieldDefinition } from './types';
6
6
  import { SubscriptionManager } from './subscriptions/SubscriptionManager';
7
7
  import { WebhookManager } from './webhooks/WebhookManager';
8
8
  import { MCPError, AuthenticationError, ValidationError } from './errors';
@@ -69,6 +69,101 @@ function convertToZodSchema(jsonSchema: JSONSchema): Record<string, z.ZodTypeAny
69
69
  return schema;
70
70
  }
71
71
 
72
+ const VALID_CREDENTIAL_FIELD_TYPES = new Set([
73
+ 'string',
74
+ 'number',
75
+ 'boolean',
76
+ 'object',
77
+ 'array',
78
+ 'date',
79
+ 'file',
80
+ 'binary',
81
+ ]);
82
+
83
+ function sanitizeCredentialFields(
84
+ fields: unknown,
85
+ path = 'credentials'
86
+ ): CredentialFieldDefinition[] {
87
+ if (fields === undefined || fields === null) {
88
+ return [];
89
+ }
90
+
91
+ if (!Array.isArray(fields)) {
92
+ throw new ValidationError(`MCP configuration ${path} must be an array`);
93
+ }
94
+
95
+ return fields.map((field, index) =>
96
+ sanitizeCredentialField(field, `${path}[${index}]`)
97
+ );
98
+ }
99
+
100
+ function sanitizeCredentialField(
101
+ field: unknown,
102
+ path: string
103
+ ): CredentialFieldDefinition {
104
+ if (typeof field !== 'object' || field === null) {
105
+ throw new ValidationError(`MCP configuration ${path} must be an object`);
106
+ }
107
+
108
+ const candidate = field as Record<string, any>;
109
+ const rawName = candidate.name;
110
+ const name = typeof rawName === 'string' ? rawName.trim() : '';
111
+
112
+ if (!name) {
113
+ throw new ValidationError(`MCP configuration ${path}.name is required`);
114
+ }
115
+
116
+ const rawType = typeof candidate.type === 'string'
117
+ ? candidate.type.toLowerCase()
118
+ : 'string';
119
+ const type = (VALID_CREDENTIAL_FIELD_TYPES.has(rawType)
120
+ ? rawType
121
+ : 'string') as CredentialFieldDefinition['type'];
122
+
123
+ const description =
124
+ typeof candidate.description === 'string' && candidate.description.trim().length > 0
125
+ ? candidate.description
126
+ : undefined;
127
+
128
+ const sanitized: CredentialFieldDefinition = {
129
+ name,
130
+ type,
131
+ required: Boolean(candidate.required),
132
+ };
133
+
134
+ if (description) {
135
+ sanitized.description = description;
136
+ }
137
+
138
+ if (candidate.default !== undefined) {
139
+ sanitized.default = candidate.default;
140
+ }
141
+
142
+ if (Array.isArray(candidate.innerFields) && candidate.innerFields.length > 0) {
143
+ const inner = sanitizeCredentialFields(candidate.innerFields, `${path}.innerFields`);
144
+ if (inner.length > 0) {
145
+ sanitized.innerFields = inner;
146
+ }
147
+ }
148
+
149
+ if (Array.isArray(candidate.or) && candidate.or.length > 0) {
150
+ const alternatives = sanitizeCredentialFields(candidate.or, `${path}.or`);
151
+ if (alternatives.length > 0) {
152
+ sanitized.or = alternatives;
153
+ }
154
+ }
155
+
156
+ if (candidate.config && typeof candidate.config === 'object') {
157
+ sanitized.config = { ...candidate.config };
158
+ }
159
+
160
+ if (candidate.metadata && typeof candidate.metadata === 'object') {
161
+ sanitized.metadata = { ...candidate.metadata };
162
+ }
163
+
164
+ return sanitized;
165
+ }
166
+
72
167
  /**
73
168
  * Create MCP HTTP Webhook Server using standard MCP SDK
74
169
  */
@@ -80,6 +175,8 @@ export function createMCPServer(config: MCPServerConfig): MCPServer {
80
175
 
81
176
  // Validate configuration
82
177
  validateConfig(config);
178
+ // Validate credential metadata upfront to surface configuration issues early
179
+ sanitizeCredentialFields(config.credentials);
83
180
 
84
181
  // Create Express app
85
182
  const app: Express = express();
@@ -169,6 +266,7 @@ export function createMCPServer(config: MCPServerConfig): MCPServer {
169
266
  name: r.name,
170
267
  description: r.description,
171
268
  mimeType: resourceDef.mimeType,
269
+ metadata: resourceDef.metadata,
172
270
  ...r, // Spread to add index signature
173
271
  })),
174
272
  };
@@ -185,26 +283,36 @@ export function createMCPServer(config: MCPServerConfig): MCPServer {
185
283
  const context = (sdkServer as any)._currentContext || { userId: 'anonymous' };
186
284
  const result = await resourceDef.read(uri.href, { ...context, ...(_variables || {}) });
187
285
 
188
- return {
189
- contents: Array.isArray(result.contents)
190
- ? result.contents.map((content: any) => ({
191
- ...(typeof content === 'string' ? {} : { ...content }),
192
- uri: uri.href,
193
- text: typeof content === 'string' ? content : content.text,
194
- mimeType: content.mimeType || resourceDef.mimeType || 'text/plain',
195
- blob: content.blob,
196
- }))
197
- : [
198
- {
199
- ...(typeof result.contents === 'string' ? {} : { ...result.contents }),
200
- uri: uri.href,
201
- text:
202
- typeof result.contents === 'string' ? result.contents : result.contents.text,
203
- mimeType: result.contents.mimeType || resourceDef.mimeType || 'text/plain',
204
- blob: result.contents.blob,
205
- },
206
- ],
286
+ const metadata =
287
+ result.metadata ||
288
+ (resourceDef.getMetadata ? await resourceDef.getMetadata(uri.href, context) : resourceDef.metadata);
289
+
290
+ const defaultMimeType = resourceDef.mimeType || 'text/plain';
291
+
292
+ const normalizeContent = (content: any) => ({
293
+ ...(typeof content === 'string' ? {} : { ...content }),
294
+ uri: uri.href,
295
+ text: typeof content === 'string' ? content : content.text,
296
+ mimeType:
297
+ (typeof content === 'string' ? resourceDef.mimeType : content.mimeType) ||
298
+ defaultMimeType,
299
+ blob: typeof content === 'string' ? undefined : content.blob,
300
+ });
301
+
302
+ const contents = Array.isArray(result.contents)
303
+ ? result.contents.map((content: any) => normalizeContent(content))
304
+ : [normalizeContent(result.contents)];
305
+
306
+ const response: any = {
307
+ contents,
308
+ structuredContent: result.contents,
207
309
  };
310
+
311
+ if (metadata) {
312
+ response.metadata = metadata;
313
+ }
314
+
315
+ return response;
208
316
  }
209
317
  );
210
318
  } else {
@@ -220,24 +328,36 @@ export function createMCPServer(config: MCPServerConfig): MCPServer {
220
328
  const context = (sdkServer as any)._currentContext || { userId: 'anonymous' };
221
329
  const result = await resourceDef.read(uri.href, context);
222
330
 
223
- return {
224
- contents: Array.isArray(result.contents)
225
- ? result.contents.map((content: any) => ({
226
- uri: uri.href,
227
- text: typeof content === 'string' ? content : JSON.stringify(content),
228
- mimeType: resourceDef.mimeType || 'application/json',
229
- }))
230
- : [
231
- {
232
- uri: uri.href,
233
- text:
234
- typeof result.contents === 'string'
235
- ? result.contents
236
- : JSON.stringify(result.contents),
237
- mimeType: resourceDef.mimeType || 'application/json',
238
- },
239
- ],
331
+ const metadata =
332
+ result.metadata ||
333
+ (resourceDef.getMetadata ? await resourceDef.getMetadata(uri.href, context) : resourceDef.metadata);
334
+
335
+ const defaultMimeType = resourceDef.mimeType || 'application/json';
336
+
337
+ const normalizeContent = (content: any) => ({
338
+ ...(typeof content === 'string' ? {} : { ...content }),
339
+ uri: uri.href,
340
+ text: typeof content === 'string' ? content : content.text,
341
+ mimeType:
342
+ (typeof content === 'string' ? resourceDef.mimeType : content.mimeType) ||
343
+ defaultMimeType,
344
+ blob: typeof content === 'string' ? undefined : content.blob,
345
+ });
346
+
347
+ const contents = Array.isArray(result.contents)
348
+ ? result.contents.map((content: any) => normalizeContent(content))
349
+ : [normalizeContent(result.contents)];
350
+
351
+ const response: any = {
352
+ contents,
353
+ structuredContent: result.contents,
240
354
  };
355
+
356
+ if (metadata) {
357
+ response.metadata = metadata;
358
+ }
359
+
360
+ return response;
241
361
  }
242
362
  );
243
363
  }
@@ -458,6 +578,14 @@ export function createMCPServer(config: MCPServerConfig): MCPServer {
458
578
  })
459
579
  );
460
580
 
581
+ app.get(`${basePath}/.well-known/credentials`, asyncHandler(async (req, res) => {
582
+ const credentials = sanitizeCredentialFields(config.credentials);
583
+ res.json({
584
+ version: config.version,
585
+ credentials,
586
+ });
587
+ }));
588
+
461
589
  // Webhook endpoints
462
590
  const webhookPath = config.webhooks?.incomingPath || '/webhooks/incoming';
463
591
 
@@ -10,6 +10,42 @@ export interface JSONSchema {
10
10
  [key: string]: any;
11
11
  }
12
12
 
13
+ export type CredentialFieldType =
14
+ | 'string'
15
+ | 'number'
16
+ | 'boolean'
17
+ | 'object'
18
+ | 'array'
19
+ | 'date'
20
+ | 'file'
21
+ | 'binary';
22
+
23
+ export type CredentialFieldConfigType =
24
+ | 'jwt'
25
+ | 'bearer'
26
+ | 'basic'
27
+ | 'oauth'
28
+ | 'oidc'
29
+ | 'keyValue';
30
+
31
+ export interface CredentialFieldConfig {
32
+ type?: CredentialFieldConfigType;
33
+ inject?: any;
34
+ [key: string]: any;
35
+ }
36
+
37
+ export interface CredentialFieldDefinition {
38
+ name: string;
39
+ description?: string;
40
+ type: CredentialFieldType;
41
+ required?: boolean;
42
+ default?: any;
43
+ innerFields?: CredentialFieldDefinition[];
44
+ or?: CredentialFieldDefinition[];
45
+ config?: CredentialFieldConfig;
46
+ metadata?: Record<string, any>;
47
+ }
48
+
13
49
  /**
14
50
  * Authentication context passed to handlers
15
51
  */
@@ -84,11 +120,78 @@ export interface ToolDefinition<TInput = any, TOutput = any> {
84
120
  /**
85
121
  * Resource list item
86
122
  */
123
+ export type ResourceCategory =
124
+ | 'table'
125
+ | 'file'
126
+ | 'document'
127
+ | 'stream'
128
+ | 'queue'
129
+ | 'service'
130
+ | 'topic';
131
+
132
+ export interface ResourceSchemaColumn {
133
+ name: string;
134
+ type: string;
135
+ nullable?: boolean;
136
+ isPrimaryKey?: boolean;
137
+ description?: string;
138
+ example?: any;
139
+ metadata?: Record<string, any>;
140
+ }
141
+
142
+ export interface ResourceSchema {
143
+ columns?: ResourceSchemaColumn[];
144
+ primaryKey?: string[];
145
+ idField?: string;
146
+ encoding?: string;
147
+ partitionKeys?: string[];
148
+ sampleUri?: string;
149
+ metadata?: Record<string, any>;
150
+ }
151
+
152
+ export interface ResourceChangeModel {
153
+ mode: 'row' | 'object' | 'file' | 'custom';
154
+ identifierField?: string;
155
+ supportsDiff?: boolean;
156
+ payloadSchema?: JSONSchema;
157
+ description?: string;
158
+ metadata?: Record<string, any>;
159
+ }
160
+
161
+ export interface ResourceAccessDetails {
162
+ classifications?: string[];
163
+ sensitivity?: 'public' | 'internal' | 'confidential' | 'restricted';
164
+ owners?: string[];
165
+ tags?: string[];
166
+ metadata?: Record<string, any>;
167
+ }
168
+
169
+ export interface ResourceCacheStrategy {
170
+ recommendedTtlSeconds?: number;
171
+ supportsIncremental?: boolean;
172
+ requiresFullRefresh?: boolean;
173
+ metadata?: Record<string, any>;
174
+ }
175
+
176
+ export interface ResourceMetadata {
177
+ resourceType: ResourceCategory;
178
+ schema?: ResourceSchema;
179
+ changeModel?: ResourceChangeModel;
180
+ access?: ResourceAccessDetails;
181
+ cache?: ResourceCacheStrategy;
182
+ sourceSystem?: string;
183
+ sourceLocation?: string;
184
+ notes?: string;
185
+ metadata?: Record<string, any>;
186
+ [key: string]: any;
187
+ }
188
+
87
189
  export interface ResourceListItem {
88
190
  uri: string;
89
191
  name: string;
90
192
  description?: string;
91
193
  mimeType?: string;
194
+ metadata?: ResourceMetadata;
92
195
  }
93
196
 
94
197
  /**
@@ -96,7 +199,7 @@ export interface ResourceListItem {
96
199
  */
97
200
  export interface ResourceReadResult<TData = any> {
98
201
  contents: TData;
99
- metadata?: Record<string, any>;
202
+ metadata?: ResourceMetadata;
100
203
  }
101
204
 
102
205
  /**
@@ -168,6 +271,8 @@ export interface ResourceDefinition<TData = any> {
168
271
  name: string;
169
272
  description: string;
170
273
  mimeType?: string;
274
+ metadata?: ResourceMetadata;
275
+ getMetadata?: (uri: string, context: AuthContext) => Promise<ResourceMetadata | null>;
171
276
 
172
277
  read: (
173
278
  uri: string,
@@ -303,6 +408,8 @@ export interface MCPServerConfig {
303
408
  // Logging
304
409
  logger?: Logger;
305
410
  logLevel?: 'debug' | 'info' | 'warn' | 'error';
411
+
412
+ credentials?: CredentialFieldDefinition[];
306
413
  }
307
414
 
308
415
  /**