@claude-flow/mcp 3.0.0-alpha.1

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.
Files changed (92) hide show
  1. package/.agentic-flow/intelligence.json +16 -0
  2. package/README.md +428 -0
  3. package/__tests__/integration.test.ts +449 -0
  4. package/__tests__/mcp.test.ts +641 -0
  5. package/dist/connection-pool.d.ts +36 -0
  6. package/dist/connection-pool.d.ts.map +1 -0
  7. package/dist/connection-pool.js +273 -0
  8. package/dist/connection-pool.js.map +1 -0
  9. package/dist/index.d.ts +75 -0
  10. package/dist/index.d.ts.map +1 -0
  11. package/dist/index.js +85 -0
  12. package/dist/index.js.map +1 -0
  13. package/dist/oauth.d.ts +146 -0
  14. package/dist/oauth.d.ts.map +1 -0
  15. package/dist/oauth.js +318 -0
  16. package/dist/oauth.js.map +1 -0
  17. package/dist/prompt-registry.d.ts +90 -0
  18. package/dist/prompt-registry.d.ts.map +1 -0
  19. package/dist/prompt-registry.js +209 -0
  20. package/dist/prompt-registry.js.map +1 -0
  21. package/dist/rate-limiter.d.ts +86 -0
  22. package/dist/rate-limiter.d.ts.map +1 -0
  23. package/dist/rate-limiter.js +197 -0
  24. package/dist/rate-limiter.js.map +1 -0
  25. package/dist/resource-registry.d.ts +144 -0
  26. package/dist/resource-registry.d.ts.map +1 -0
  27. package/dist/resource-registry.js +405 -0
  28. package/dist/resource-registry.js.map +1 -0
  29. package/dist/sampling.d.ts +102 -0
  30. package/dist/sampling.d.ts.map +1 -0
  31. package/dist/sampling.js +268 -0
  32. package/dist/sampling.js.map +1 -0
  33. package/dist/schema-validator.d.ts +30 -0
  34. package/dist/schema-validator.d.ts.map +1 -0
  35. package/dist/schema-validator.js +182 -0
  36. package/dist/schema-validator.js.map +1 -0
  37. package/dist/server.d.ts +122 -0
  38. package/dist/server.d.ts.map +1 -0
  39. package/dist/server.js +829 -0
  40. package/dist/server.js.map +1 -0
  41. package/dist/session-manager.d.ts +55 -0
  42. package/dist/session-manager.d.ts.map +1 -0
  43. package/dist/session-manager.js +252 -0
  44. package/dist/session-manager.js.map +1 -0
  45. package/dist/task-manager.d.ts +81 -0
  46. package/dist/task-manager.d.ts.map +1 -0
  47. package/dist/task-manager.js +337 -0
  48. package/dist/task-manager.js.map +1 -0
  49. package/dist/tool-registry.d.ts +88 -0
  50. package/dist/tool-registry.d.ts.map +1 -0
  51. package/dist/tool-registry.js +353 -0
  52. package/dist/tool-registry.js.map +1 -0
  53. package/dist/transport/http.d.ts +55 -0
  54. package/dist/transport/http.d.ts.map +1 -0
  55. package/dist/transport/http.js +446 -0
  56. package/dist/transport/http.js.map +1 -0
  57. package/dist/transport/index.d.ts +50 -0
  58. package/dist/transport/index.d.ts.map +1 -0
  59. package/dist/transport/index.js +181 -0
  60. package/dist/transport/index.js.map +1 -0
  61. package/dist/transport/stdio.d.ts +43 -0
  62. package/dist/transport/stdio.d.ts.map +1 -0
  63. package/dist/transport/stdio.js +194 -0
  64. package/dist/transport/stdio.js.map +1 -0
  65. package/dist/transport/websocket.d.ts +65 -0
  66. package/dist/transport/websocket.d.ts.map +1 -0
  67. package/dist/transport/websocket.js +314 -0
  68. package/dist/transport/websocket.js.map +1 -0
  69. package/dist/types.d.ts +473 -0
  70. package/dist/types.d.ts.map +1 -0
  71. package/dist/types.js +40 -0
  72. package/dist/types.js.map +1 -0
  73. package/package.json +42 -0
  74. package/src/connection-pool.ts +344 -0
  75. package/src/index.ts +253 -0
  76. package/src/oauth.ts +447 -0
  77. package/src/prompt-registry.ts +296 -0
  78. package/src/rate-limiter.ts +266 -0
  79. package/src/resource-registry.ts +530 -0
  80. package/src/sampling.ts +363 -0
  81. package/src/schema-validator.ts +213 -0
  82. package/src/server.ts +1134 -0
  83. package/src/session-manager.ts +339 -0
  84. package/src/task-manager.ts +427 -0
  85. package/src/tool-registry.ts +475 -0
  86. package/src/transport/http.ts +532 -0
  87. package/src/transport/index.ts +233 -0
  88. package/src/transport/stdio.ts +252 -0
  89. package/src/transport/websocket.ts +396 -0
  90. package/src/types.ts +664 -0
  91. package/tsconfig.json +20 -0
  92. package/vitest.config.ts +13 -0
@@ -0,0 +1,473 @@
1
+ /**
2
+ * @claude-flow/mcp - Standalone Types
3
+ *
4
+ * Complete type definitions for MCP server implementation
5
+ * Zero external @claude-flow dependencies
6
+ */
7
+ export type JsonRpcVersion = '2.0';
8
+ export interface MCPProtocolVersion {
9
+ major: number;
10
+ minor: number;
11
+ patch: number;
12
+ }
13
+ export type RequestId = string | number | null;
14
+ export interface MCPMessage {
15
+ jsonrpc: JsonRpcVersion;
16
+ }
17
+ export interface MCPRequest extends MCPMessage {
18
+ id: RequestId;
19
+ method: string;
20
+ params?: Record<string, unknown>;
21
+ }
22
+ export interface MCPNotification extends MCPMessage {
23
+ method: string;
24
+ params?: Record<string, unknown>;
25
+ }
26
+ export interface MCPError {
27
+ code: number;
28
+ message: string;
29
+ data?: unknown;
30
+ }
31
+ export interface MCPResponse extends MCPMessage {
32
+ id: RequestId;
33
+ result?: unknown;
34
+ error?: MCPError;
35
+ }
36
+ export type TransportType = 'stdio' | 'http' | 'websocket' | 'in-process';
37
+ export type AuthMethod = 'token' | 'oauth' | 'api-key' | 'none';
38
+ export interface AuthConfig {
39
+ enabled: boolean;
40
+ method: AuthMethod;
41
+ tokens?: string[];
42
+ apiKeys?: string[];
43
+ jwtSecret?: string;
44
+ oauth?: {
45
+ clientId: string;
46
+ clientSecret: string;
47
+ authorizationUrl: string;
48
+ tokenUrl: string;
49
+ };
50
+ }
51
+ export interface LoadBalancerConfig {
52
+ enabled: boolean;
53
+ maxConcurrentRequests: number;
54
+ rateLimit?: {
55
+ requestsPerSecond: number;
56
+ burstSize: number;
57
+ };
58
+ circuitBreaker?: {
59
+ failureThreshold: number;
60
+ resetTimeout: number;
61
+ };
62
+ }
63
+ export interface ConnectionPoolConfig {
64
+ maxConnections: number;
65
+ minConnections: number;
66
+ idleTimeout: number;
67
+ acquireTimeout: number;
68
+ maxWaitingClients: number;
69
+ evictionRunInterval: number;
70
+ }
71
+ export interface MCPServerConfig {
72
+ name: string;
73
+ version: string;
74
+ transport: TransportType;
75
+ host?: string;
76
+ port?: number;
77
+ tlsEnabled?: boolean;
78
+ tlsCert?: string;
79
+ tlsKey?: string;
80
+ auth?: AuthConfig;
81
+ loadBalancer?: LoadBalancerConfig;
82
+ connectionPool?: ConnectionPoolConfig;
83
+ corsEnabled?: boolean;
84
+ corsOrigins?: string[];
85
+ maxRequestSize?: number;
86
+ requestTimeout?: number;
87
+ enableMetrics?: boolean;
88
+ enableCaching?: boolean;
89
+ cacheTTL?: number;
90
+ logLevel?: 'debug' | 'info' | 'warn' | 'error';
91
+ }
92
+ export type SessionState = 'created' | 'initializing' | 'ready' | 'closing' | 'closed' | 'error';
93
+ export interface MCPSession {
94
+ id: string;
95
+ state: SessionState;
96
+ transport: TransportType;
97
+ createdAt: Date;
98
+ lastActivityAt: Date;
99
+ isInitialized: boolean;
100
+ isAuthenticated: boolean;
101
+ clientInfo?: MCPClientInfo;
102
+ protocolVersion?: MCPProtocolVersion;
103
+ capabilities?: MCPCapabilities;
104
+ metadata?: Record<string, unknown>;
105
+ }
106
+ export interface MCPClientInfo {
107
+ name: string;
108
+ version: string;
109
+ }
110
+ export interface MCPCapabilities {
111
+ logging?: {
112
+ level: 'debug' | 'info' | 'warn' | 'error';
113
+ };
114
+ tools?: {
115
+ listChanged: boolean;
116
+ };
117
+ resources?: {
118
+ listChanged: boolean;
119
+ subscribe: boolean;
120
+ };
121
+ prompts?: {
122
+ listChanged: boolean;
123
+ };
124
+ sampling?: Record<string, unknown>;
125
+ experimental?: Record<string, unknown>;
126
+ }
127
+ export interface MCPInitializeParams {
128
+ protocolVersion: MCPProtocolVersion;
129
+ capabilities: MCPCapabilities;
130
+ clientInfo: MCPClientInfo;
131
+ }
132
+ export interface MCPInitializeResult {
133
+ protocolVersion: MCPProtocolVersion;
134
+ capabilities: MCPCapabilities;
135
+ serverInfo: {
136
+ name: string;
137
+ version: string;
138
+ };
139
+ instructions?: string;
140
+ }
141
+ export interface JSONSchema {
142
+ type: string;
143
+ properties?: Record<string, JSONSchema>;
144
+ required?: string[];
145
+ items?: JSONSchema;
146
+ enum?: string[];
147
+ description?: string;
148
+ default?: unknown;
149
+ minimum?: number;
150
+ maximum?: number;
151
+ minLength?: number;
152
+ maxLength?: number;
153
+ pattern?: string;
154
+ additionalProperties?: boolean | JSONSchema;
155
+ }
156
+ export interface ToolContext {
157
+ sessionId: string;
158
+ requestId?: RequestId;
159
+ orchestrator?: unknown;
160
+ swarmCoordinator?: unknown;
161
+ agentManager?: unknown;
162
+ resourceManager?: unknown;
163
+ messageBus?: unknown;
164
+ monitor?: unknown;
165
+ metadata?: Record<string, unknown>;
166
+ }
167
+ export type ToolHandler<TInput = unknown, TOutput = unknown> = (input: TInput, context?: ToolContext) => Promise<TOutput>;
168
+ export interface MCPTool<TInput = unknown, TOutput = unknown> {
169
+ name: string;
170
+ description: string;
171
+ inputSchema: JSONSchema;
172
+ handler: ToolHandler<TInput, TOutput>;
173
+ category?: string;
174
+ tags?: string[];
175
+ version?: string;
176
+ deprecated?: boolean;
177
+ cacheable?: boolean;
178
+ cacheTTL?: number;
179
+ timeout?: number;
180
+ }
181
+ export interface ToolCallResult {
182
+ content: Array<{
183
+ type: 'text' | 'image' | 'resource';
184
+ text?: string;
185
+ data?: string;
186
+ mimeType?: string;
187
+ }>;
188
+ isError: boolean;
189
+ }
190
+ export interface ToolRegistrationOptions {
191
+ override?: boolean;
192
+ validate?: boolean;
193
+ preload?: boolean;
194
+ }
195
+ export interface MCPResource {
196
+ uri: string;
197
+ name: string;
198
+ description?: string;
199
+ mimeType?: string;
200
+ annotations?: ContentAnnotations;
201
+ }
202
+ export interface ResourceContent {
203
+ uri: string;
204
+ mimeType?: string;
205
+ text?: string;
206
+ blob?: string;
207
+ }
208
+ export interface ResourceTemplate {
209
+ uriTemplate: string;
210
+ name: string;
211
+ description?: string;
212
+ mimeType?: string;
213
+ }
214
+ export interface ResourceListResult {
215
+ resources: MCPResource[];
216
+ nextCursor?: string;
217
+ }
218
+ export interface ResourceReadResult {
219
+ contents: ResourceContent[];
220
+ }
221
+ export interface PromptArgument {
222
+ name: string;
223
+ description?: string;
224
+ required?: boolean;
225
+ }
226
+ export interface MCPPrompt {
227
+ name: string;
228
+ title?: string;
229
+ description?: string;
230
+ arguments?: PromptArgument[];
231
+ }
232
+ export type PromptRole = 'user' | 'assistant';
233
+ export interface ContentAnnotations {
234
+ audience?: Array<'user' | 'assistant'>;
235
+ priority?: number;
236
+ createdAt?: string;
237
+ modifiedAt?: string;
238
+ }
239
+ export interface TextContent {
240
+ type: 'text';
241
+ text: string;
242
+ annotations?: ContentAnnotations;
243
+ }
244
+ export interface ImageContent {
245
+ type: 'image';
246
+ data: string;
247
+ mimeType: string;
248
+ annotations?: ContentAnnotations;
249
+ }
250
+ export interface AudioContent {
251
+ type: 'audio';
252
+ data: string;
253
+ mimeType: string;
254
+ annotations?: ContentAnnotations;
255
+ }
256
+ export interface EmbeddedResource {
257
+ type: 'resource';
258
+ resource: ResourceContent;
259
+ annotations?: ContentAnnotations;
260
+ }
261
+ export type PromptContent = TextContent | ImageContent | AudioContent | EmbeddedResource;
262
+ export interface PromptMessage {
263
+ role: PromptRole;
264
+ content: PromptContent;
265
+ }
266
+ export interface PromptListResult {
267
+ prompts: MCPPrompt[];
268
+ nextCursor?: string;
269
+ }
270
+ export interface PromptGetResult {
271
+ description?: string;
272
+ messages: PromptMessage[];
273
+ }
274
+ export type TaskState = 'pending' | 'running' | 'completed' | 'failed' | 'cancelled';
275
+ export interface MCPTask {
276
+ id: string;
277
+ state: TaskState;
278
+ progress?: TaskProgress;
279
+ result?: unknown;
280
+ error?: MCPError;
281
+ createdAt: Date;
282
+ updatedAt: Date;
283
+ metadata?: Record<string, unknown>;
284
+ }
285
+ export interface TaskProgress {
286
+ progress: number;
287
+ total?: number;
288
+ message?: string;
289
+ }
290
+ export interface TaskResult {
291
+ taskId: string;
292
+ state: TaskState;
293
+ progress?: TaskProgress;
294
+ result?: unknown;
295
+ error?: MCPError;
296
+ }
297
+ export interface PaginatedRequest {
298
+ cursor?: string;
299
+ }
300
+ export interface PaginatedResult<T> {
301
+ items: T[];
302
+ nextCursor?: string;
303
+ }
304
+ export interface ProgressNotification {
305
+ progressToken: string | number;
306
+ progress: number;
307
+ total?: number;
308
+ message?: string;
309
+ }
310
+ export interface CancellationParams {
311
+ requestId: RequestId;
312
+ reason?: string;
313
+ }
314
+ export interface SamplingMessage {
315
+ role: PromptRole;
316
+ content: PromptContent;
317
+ }
318
+ export interface ModelPreferences {
319
+ hints?: Array<{
320
+ name?: string;
321
+ }>;
322
+ costPriority?: number;
323
+ speedPriority?: number;
324
+ intelligencePriority?: number;
325
+ }
326
+ export interface CreateMessageRequest {
327
+ messages: SamplingMessage[];
328
+ modelPreferences?: ModelPreferences;
329
+ systemPrompt?: string;
330
+ includeContext?: 'none' | 'thisServer' | 'allServers';
331
+ temperature?: number;
332
+ maxTokens: number;
333
+ stopSequences?: string[];
334
+ metadata?: Record<string, unknown>;
335
+ }
336
+ export interface CreateMessageResult {
337
+ role: 'assistant';
338
+ content: PromptContent;
339
+ model: string;
340
+ stopReason?: 'endTurn' | 'stopSequence' | 'maxTokens';
341
+ }
342
+ export interface Root {
343
+ uri: string;
344
+ name?: string;
345
+ }
346
+ export interface RootsListResult {
347
+ roots: Root[];
348
+ }
349
+ export type MCPLogLevel = 'debug' | 'info' | 'notice' | 'warning' | 'error' | 'critical' | 'alert' | 'emergency';
350
+ export interface LoggingMessage {
351
+ level: MCPLogLevel;
352
+ logger?: string;
353
+ data?: unknown;
354
+ }
355
+ export interface CompletionReference {
356
+ type: 'ref/prompt' | 'ref/resource';
357
+ name?: string;
358
+ uri?: string;
359
+ }
360
+ export interface CompletionArgument {
361
+ name: string;
362
+ value: string;
363
+ }
364
+ export interface CompletionResult {
365
+ values: string[];
366
+ total?: number;
367
+ hasMore?: boolean;
368
+ }
369
+ export type RequestHandler = (request: MCPRequest) => Promise<MCPResponse>;
370
+ export type NotificationHandler = (notification: MCPNotification) => Promise<void>;
371
+ export interface TransportHealthStatus {
372
+ healthy: boolean;
373
+ error?: string;
374
+ metrics?: Record<string, number>;
375
+ }
376
+ export interface ITransport {
377
+ readonly type: TransportType;
378
+ start(): Promise<void>;
379
+ stop(): Promise<void>;
380
+ onRequest(handler: RequestHandler): void;
381
+ onNotification(handler: NotificationHandler): void;
382
+ sendNotification?(notification: MCPNotification): Promise<void>;
383
+ getHealthStatus(): Promise<TransportHealthStatus>;
384
+ }
385
+ export type ConnectionState = 'idle' | 'busy' | 'closing' | 'closed' | 'error';
386
+ export interface PooledConnection {
387
+ id: string;
388
+ state: ConnectionState;
389
+ createdAt: Date;
390
+ lastUsedAt: Date;
391
+ useCount: number;
392
+ transport: TransportType;
393
+ metadata?: Record<string, unknown>;
394
+ }
395
+ export interface ConnectionPoolStats {
396
+ totalConnections: number;
397
+ idleConnections: number;
398
+ busyConnections: number;
399
+ pendingRequests: number;
400
+ totalAcquired: number;
401
+ totalReleased: number;
402
+ totalCreated: number;
403
+ totalDestroyed: number;
404
+ avgAcquireTime: number;
405
+ }
406
+ export interface IConnectionPool {
407
+ acquire(): Promise<PooledConnection>;
408
+ release(connection: PooledConnection): void;
409
+ destroy(connection: PooledConnection): void;
410
+ getStats(): ConnectionPoolStats;
411
+ drain(): Promise<void>;
412
+ clear(): Promise<void>;
413
+ }
414
+ export interface ToolCallMetrics {
415
+ toolName: string;
416
+ duration: number;
417
+ success: boolean;
418
+ timestamp: number;
419
+ transport: TransportType;
420
+ cached?: boolean;
421
+ }
422
+ export interface MCPServerMetrics {
423
+ totalRequests: number;
424
+ successfulRequests: number;
425
+ failedRequests: number;
426
+ averageResponseTime: number;
427
+ activeSessions: number;
428
+ toolInvocations: Record<string, number>;
429
+ errors: Record<string, number>;
430
+ lastReset: Date;
431
+ startupTime?: number;
432
+ uptime?: number;
433
+ }
434
+ export interface SessionMetrics {
435
+ total: number;
436
+ active: number;
437
+ authenticated: number;
438
+ expired: number;
439
+ }
440
+ export type MCPEventType = 'server:started' | 'server:stopped' | 'server:error' | 'session:created' | 'session:initialized' | 'session:closed' | 'session:error' | 'tool:registered' | 'tool:unregistered' | 'tool:called' | 'tool:completed' | 'tool:error' | 'transport:connected' | 'transport:disconnected' | 'transport:error' | 'pool:connection:acquired' | 'pool:connection:released' | 'pool:connection:created' | 'pool:connection:destroyed';
441
+ export interface MCPEvent {
442
+ type: MCPEventType;
443
+ timestamp: Date;
444
+ data?: unknown;
445
+ }
446
+ export type EventHandler = (event: MCPEvent) => void;
447
+ export type LogLevel = 'debug' | 'info' | 'warn' | 'error';
448
+ export interface ILogger {
449
+ debug(message: string, data?: unknown): void;
450
+ info(message: string, data?: unknown): void;
451
+ warn(message: string, data?: unknown): void;
452
+ error(message: string, data?: unknown): void;
453
+ }
454
+ export declare const ErrorCodes: {
455
+ readonly PARSE_ERROR: -32700;
456
+ readonly INVALID_REQUEST: -32600;
457
+ readonly METHOD_NOT_FOUND: -32601;
458
+ readonly INVALID_PARAMS: -32602;
459
+ readonly INTERNAL_ERROR: -32603;
460
+ readonly SERVER_NOT_INITIALIZED: -32002;
461
+ readonly UNKNOWN_ERROR: -32001;
462
+ readonly REQUEST_CANCELLED: -32800;
463
+ readonly RATE_LIMITED: -32000;
464
+ readonly AUTHENTICATION_REQUIRED: -32001;
465
+ readonly AUTHORIZATION_FAILED: -32002;
466
+ };
467
+ export declare class MCPServerError extends Error {
468
+ code: number;
469
+ data?: unknown | undefined;
470
+ constructor(message: string, code?: number, data?: unknown | undefined);
471
+ toMCPError(): MCPError;
472
+ }
473
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,40 @@
1
+ /**
2
+ * @claude-flow/mcp - Standalone Types
3
+ *
4
+ * Complete type definitions for MCP server implementation
5
+ * Zero external @claude-flow dependencies
6
+ */
7
+ // ============================================================================
8
+ // Error Codes
9
+ // ============================================================================
10
+ export const ErrorCodes = {
11
+ PARSE_ERROR: -32700,
12
+ INVALID_REQUEST: -32600,
13
+ METHOD_NOT_FOUND: -32601,
14
+ INVALID_PARAMS: -32602,
15
+ INTERNAL_ERROR: -32603,
16
+ SERVER_NOT_INITIALIZED: -32002,
17
+ UNKNOWN_ERROR: -32001,
18
+ REQUEST_CANCELLED: -32800,
19
+ RATE_LIMITED: -32000,
20
+ AUTHENTICATION_REQUIRED: -32001,
21
+ AUTHORIZATION_FAILED: -32002,
22
+ };
23
+ export class MCPServerError extends Error {
24
+ code;
25
+ data;
26
+ constructor(message, code = ErrorCodes.INTERNAL_ERROR, data) {
27
+ super(message);
28
+ this.code = code;
29
+ this.data = data;
30
+ this.name = 'MCPServerError';
31
+ }
32
+ toMCPError() {
33
+ return {
34
+ code: this.code,
35
+ message: this.message,
36
+ data: this.data,
37
+ };
38
+ }
39
+ }
40
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA+mBH,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,WAAW,EAAE,CAAC,KAAK;IACnB,eAAe,EAAE,CAAC,KAAK;IACvB,gBAAgB,EAAE,CAAC,KAAK;IACxB,cAAc,EAAE,CAAC,KAAK;IACtB,cAAc,EAAE,CAAC,KAAK;IACtB,sBAAsB,EAAE,CAAC,KAAK;IAC9B,aAAa,EAAE,CAAC,KAAK;IACrB,iBAAiB,EAAE,CAAC,KAAK;IACzB,YAAY,EAAE,CAAC,KAAK;IACpB,uBAAuB,EAAE,CAAC,KAAK;IAC/B,oBAAoB,EAAE,CAAC,KAAK;CACpB,CAAC;AAEX,MAAM,OAAO,cAAe,SAAQ,KAAK;IAG9B;IACA;IAHT,YACE,OAAe,EACR,OAAe,UAAU,CAAC,cAAc,EACxC,IAAc;QAErB,KAAK,CAAC,OAAO,CAAC,CAAC;QAHR,SAAI,GAAJ,IAAI,CAAoC;QACxC,SAAI,GAAJ,IAAI,CAAU;QAGrB,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;IAED,UAAU;QACR,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC;IACJ,CAAC;CACF"}
package/package.json ADDED
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "@claude-flow/mcp",
3
+ "version": "3.0.0-alpha.1",
4
+ "type": "module",
5
+ "description": "Standalone MCP (Model Context Protocol) server - stdio/http/websocket transports, connection pooling, tool registry",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": "./dist/index.js",
10
+ "./*": "./dist/*.js"
11
+ },
12
+ "scripts": {
13
+ "test": "vitest run",
14
+ "build": "tsc"
15
+ },
16
+ "dependencies": {
17
+ "cors": "^2.8.5",
18
+ "express": "^4.18.2",
19
+ "helmet": "^7.1.0",
20
+ "ws": "^8.14.2"
21
+ },
22
+ "devDependencies": {
23
+ "@types/cors": "^2.8.17",
24
+ "@types/express": "^4.17.21",
25
+ "@types/ws": "^8.5.10",
26
+ "vitest": "^1.0.0"
27
+ },
28
+ "keywords": [
29
+ "mcp",
30
+ "model-context-protocol",
31
+ "claude",
32
+ "ai-agents",
33
+ "json-rpc",
34
+ "stdio",
35
+ "websocket",
36
+ "tool-registry"
37
+ ],
38
+ "publishConfig": {
39
+ "access": "public",
40
+ "tag": "v3alpha"
41
+ }
42
+ }