@claude-flow/cli 3.38.9 → 3.38.11
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/.claude/helpers/helpers.manifest.json +2 -2
- package/catalog-manifest.json +2 -2
- package/dist/src/commands/doctor.js +53 -8
- package/dist/src/commands/mcp.js +4 -3
- package/dist/src/init/helper-refresh.d.ts +16 -9
- package/dist/src/init/helper-refresh.js +177 -20
- package/dist/src/log-filters.d.ts +3 -3
- package/dist/src/mcp-server.d.ts +1 -0
- package/dist/src/mcp-server.js +39 -3
- package/dist/src/mcp-tools/neural-tools.js +4 -3
- package/dist/src/memory/memory-bridge.d.ts +8 -0
- package/dist/src/memory/memory-bridge.js +18 -0
- package/node_modules/@claude-flow/codex/dist/cli.js +0 -0
- package/node_modules/@claude-flow/mcp/README.md +429 -0
- package/node_modules/@claude-flow/mcp/dist/connection-pool.d.ts +36 -0
- package/node_modules/@claude-flow/mcp/dist/connection-pool.d.ts.map +1 -0
- package/node_modules/@claude-flow/mcp/dist/connection-pool.js +273 -0
- package/node_modules/@claude-flow/mcp/dist/connection-pool.js.map +1 -0
- package/node_modules/@claude-flow/mcp/dist/index.d.ts +75 -0
- package/node_modules/@claude-flow/mcp/dist/index.d.ts.map +1 -0
- package/node_modules/@claude-flow/mcp/dist/index.js +85 -0
- package/node_modules/@claude-flow/mcp/dist/index.js.map +1 -0
- package/node_modules/@claude-flow/mcp/dist/oauth.d.ts +146 -0
- package/node_modules/@claude-flow/mcp/dist/oauth.d.ts.map +1 -0
- package/node_modules/@claude-flow/mcp/dist/oauth.js +318 -0
- package/node_modules/@claude-flow/mcp/dist/oauth.js.map +1 -0
- package/node_modules/@claude-flow/mcp/dist/prompt-registry.d.ts +90 -0
- package/node_modules/@claude-flow/mcp/dist/prompt-registry.d.ts.map +1 -0
- package/node_modules/@claude-flow/mcp/dist/prompt-registry.js +209 -0
- package/node_modules/@claude-flow/mcp/dist/prompt-registry.js.map +1 -0
- package/node_modules/@claude-flow/mcp/dist/rate-limiter.d.ts +86 -0
- package/node_modules/@claude-flow/mcp/dist/rate-limiter.d.ts.map +1 -0
- package/node_modules/@claude-flow/mcp/dist/rate-limiter.js +197 -0
- package/node_modules/@claude-flow/mcp/dist/rate-limiter.js.map +1 -0
- package/node_modules/@claude-flow/mcp/dist/resource-registry.d.ts +144 -0
- package/node_modules/@claude-flow/mcp/dist/resource-registry.d.ts.map +1 -0
- package/node_modules/@claude-flow/mcp/dist/resource-registry.js +405 -0
- package/node_modules/@claude-flow/mcp/dist/resource-registry.js.map +1 -0
- package/node_modules/@claude-flow/mcp/dist/sampling.d.ts +102 -0
- package/node_modules/@claude-flow/mcp/dist/sampling.d.ts.map +1 -0
- package/node_modules/@claude-flow/mcp/dist/sampling.js +268 -0
- package/node_modules/@claude-flow/mcp/dist/sampling.js.map +1 -0
- package/node_modules/@claude-flow/mcp/dist/schema-validator.d.ts +30 -0
- package/node_modules/@claude-flow/mcp/dist/schema-validator.d.ts.map +1 -0
- package/node_modules/@claude-flow/mcp/dist/schema-validator.js +182 -0
- package/node_modules/@claude-flow/mcp/dist/schema-validator.js.map +1 -0
- package/node_modules/@claude-flow/mcp/dist/server.d.ts +125 -0
- package/node_modules/@claude-flow/mcp/dist/server.d.ts.map +1 -0
- package/node_modules/@claude-flow/mcp/dist/server.js +849 -0
- package/node_modules/@claude-flow/mcp/dist/server.js.map +1 -0
- package/node_modules/@claude-flow/mcp/dist/session-manager.d.ts +55 -0
- package/node_modules/@claude-flow/mcp/dist/session-manager.d.ts.map +1 -0
- package/node_modules/@claude-flow/mcp/dist/session-manager.js +252 -0
- package/node_modules/@claude-flow/mcp/dist/session-manager.js.map +1 -0
- package/node_modules/@claude-flow/mcp/dist/task-manager.d.ts +81 -0
- package/node_modules/@claude-flow/mcp/dist/task-manager.d.ts.map +1 -0
- package/node_modules/@claude-flow/mcp/dist/task-manager.js +337 -0
- package/node_modules/@claude-flow/mcp/dist/task-manager.js.map +1 -0
- package/node_modules/@claude-flow/mcp/dist/tool-registry.d.ts +96 -0
- package/node_modules/@claude-flow/mcp/dist/tool-registry.d.ts.map +1 -0
- package/node_modules/@claude-flow/mcp/dist/tool-registry.js +399 -0
- package/node_modules/@claude-flow/mcp/dist/tool-registry.js.map +1 -0
- package/node_modules/@claude-flow/mcp/dist/transport/http.d.ts +60 -0
- package/node_modules/@claude-flow/mcp/dist/transport/http.d.ts.map +1 -0
- package/node_modules/@claude-flow/mcp/dist/transport/http.js +503 -0
- package/node_modules/@claude-flow/mcp/dist/transport/http.js.map +1 -0
- package/node_modules/@claude-flow/mcp/dist/transport/index.d.ts +50 -0
- package/node_modules/@claude-flow/mcp/dist/transport/index.d.ts.map +1 -0
- package/node_modules/@claude-flow/mcp/dist/transport/index.js +181 -0
- package/node_modules/@claude-flow/mcp/dist/transport/index.js.map +1 -0
- package/node_modules/@claude-flow/mcp/dist/transport/stdio.d.ts +43 -0
- package/node_modules/@claude-flow/mcp/dist/transport/stdio.d.ts.map +1 -0
- package/node_modules/@claude-flow/mcp/dist/transport/stdio.js +194 -0
- package/node_modules/@claude-flow/mcp/dist/transport/stdio.js.map +1 -0
- package/node_modules/@claude-flow/mcp/dist/transport/websocket.d.ts +65 -0
- package/node_modules/@claude-flow/mcp/dist/transport/websocket.d.ts.map +1 -0
- package/node_modules/@claude-flow/mcp/dist/transport/websocket.js +314 -0
- package/node_modules/@claude-flow/mcp/dist/transport/websocket.js.map +1 -0
- package/node_modules/@claude-flow/mcp/dist/types.d.ts +482 -0
- package/node_modules/@claude-flow/mcp/dist/types.d.ts.map +1 -0
- package/node_modules/@claude-flow/mcp/dist/types.js +40 -0
- package/node_modules/@claude-flow/mcp/dist/types.js.map +1 -0
- package/node_modules/@claude-flow/mcp/package.json +50 -0
- package/node_modules/@claude-flow/plugin-agent-federation/dist/bin.js +0 -0
- package/node_modules/@claude-flow/security/dist/path-validator.d.ts +23 -0
- package/node_modules/@claude-flow/security/dist/path-validator.d.ts.map +1 -1
- package/node_modules/@claude-flow/security/dist/path-validator.js +128 -27
- package/node_modules/@claude-flow/security/dist/path-validator.js.map +1 -1
- package/package.json +9 -2
- package/.claude/.proven-config-version +0 -1
- package/.claude/proven-config.json +0 -42
|
@@ -0,0 +1,482 @@
|
|
|
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
|
+
/**
|
|
9
|
+
* MCP protocol version. Per the [MCP spec](https://spec.modelcontextprotocol.io/specification/basic/lifecycle/#initialization)
|
|
10
|
+
* this must be a `YYYY-MM-DD` date string (e.g. `'2024-11-05'`, `'2025-06-18'`).
|
|
11
|
+
*
|
|
12
|
+
* Earlier versions of this type used `{major,minor,patch}`, which Claude
|
|
13
|
+
* Code's Zod validator rejects with `Invalid input: expected string,
|
|
14
|
+
* received object` (#1874). The string form is canonical and cross-client
|
|
15
|
+
* compatible.
|
|
16
|
+
*/
|
|
17
|
+
export type MCPProtocolVersion = string;
|
|
18
|
+
export type RequestId = string | number | null;
|
|
19
|
+
export interface MCPMessage {
|
|
20
|
+
jsonrpc: JsonRpcVersion;
|
|
21
|
+
}
|
|
22
|
+
export interface MCPRequest extends MCPMessage {
|
|
23
|
+
id: RequestId;
|
|
24
|
+
method: string;
|
|
25
|
+
params?: Record<string, unknown>;
|
|
26
|
+
}
|
|
27
|
+
export interface MCPNotification extends MCPMessage {
|
|
28
|
+
method: string;
|
|
29
|
+
params?: Record<string, unknown>;
|
|
30
|
+
}
|
|
31
|
+
export interface MCPError {
|
|
32
|
+
code: number;
|
|
33
|
+
message: string;
|
|
34
|
+
data?: unknown;
|
|
35
|
+
}
|
|
36
|
+
export interface MCPResponse extends MCPMessage {
|
|
37
|
+
id: RequestId;
|
|
38
|
+
result?: unknown;
|
|
39
|
+
error?: MCPError;
|
|
40
|
+
}
|
|
41
|
+
export type TransportType = 'stdio' | 'http' | 'websocket' | 'in-process';
|
|
42
|
+
export type AuthMethod = 'token' | 'oauth' | 'api-key' | 'none';
|
|
43
|
+
export interface AuthConfig {
|
|
44
|
+
enabled: boolean;
|
|
45
|
+
method: AuthMethod;
|
|
46
|
+
tokens?: string[];
|
|
47
|
+
apiKeys?: string[];
|
|
48
|
+
jwtSecret?: string;
|
|
49
|
+
oauth?: {
|
|
50
|
+
clientId: string;
|
|
51
|
+
clientSecret: string;
|
|
52
|
+
authorizationUrl: string;
|
|
53
|
+
tokenUrl: string;
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
export interface LoadBalancerConfig {
|
|
57
|
+
enabled: boolean;
|
|
58
|
+
maxConcurrentRequests: number;
|
|
59
|
+
rateLimit?: {
|
|
60
|
+
requestsPerSecond: number;
|
|
61
|
+
burstSize: number;
|
|
62
|
+
};
|
|
63
|
+
circuitBreaker?: {
|
|
64
|
+
failureThreshold: number;
|
|
65
|
+
resetTimeout: number;
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
export interface ConnectionPoolConfig {
|
|
69
|
+
maxConnections: number;
|
|
70
|
+
minConnections: number;
|
|
71
|
+
idleTimeout: number;
|
|
72
|
+
acquireTimeout: number;
|
|
73
|
+
maxWaitingClients: number;
|
|
74
|
+
evictionRunInterval: number;
|
|
75
|
+
}
|
|
76
|
+
export interface MCPServerConfig {
|
|
77
|
+
name: string;
|
|
78
|
+
version: string;
|
|
79
|
+
transport: TransportType;
|
|
80
|
+
host?: string;
|
|
81
|
+
/** Additional HTTP bind addresses that share the same MCP server state. */
|
|
82
|
+
additionalHosts?: string[];
|
|
83
|
+
port?: number;
|
|
84
|
+
tlsEnabled?: boolean;
|
|
85
|
+
tlsCert?: string;
|
|
86
|
+
tlsKey?: string;
|
|
87
|
+
auth?: AuthConfig;
|
|
88
|
+
loadBalancer?: LoadBalancerConfig;
|
|
89
|
+
connectionPool?: ConnectionPoolConfig;
|
|
90
|
+
corsEnabled?: boolean;
|
|
91
|
+
corsOrigins?: string[];
|
|
92
|
+
maxRequestSize?: number;
|
|
93
|
+
requestTimeout?: number;
|
|
94
|
+
enableMetrics?: boolean;
|
|
95
|
+
enableCaching?: boolean;
|
|
96
|
+
cacheTTL?: number;
|
|
97
|
+
logLevel?: 'debug' | 'info' | 'warn' | 'error';
|
|
98
|
+
/** Fail construction unless a ToolAuthorizer is installed. */
|
|
99
|
+
requireToolAuthorization?: boolean;
|
|
100
|
+
}
|
|
101
|
+
export type SessionState = 'created' | 'initializing' | 'ready' | 'closing' | 'closed' | 'error';
|
|
102
|
+
export interface MCPSession {
|
|
103
|
+
id: string;
|
|
104
|
+
state: SessionState;
|
|
105
|
+
transport: TransportType;
|
|
106
|
+
createdAt: Date;
|
|
107
|
+
lastActivityAt: Date;
|
|
108
|
+
isInitialized: boolean;
|
|
109
|
+
isAuthenticated: boolean;
|
|
110
|
+
clientInfo?: MCPClientInfo;
|
|
111
|
+
protocolVersion?: MCPProtocolVersion;
|
|
112
|
+
capabilities?: MCPCapabilities;
|
|
113
|
+
metadata?: Record<string, unknown>;
|
|
114
|
+
}
|
|
115
|
+
export interface MCPClientInfo {
|
|
116
|
+
name: string;
|
|
117
|
+
version: string;
|
|
118
|
+
}
|
|
119
|
+
export interface MCPCapabilities {
|
|
120
|
+
logging?: {
|
|
121
|
+
level: 'debug' | 'info' | 'warn' | 'error';
|
|
122
|
+
};
|
|
123
|
+
tools?: {
|
|
124
|
+
listChanged: boolean;
|
|
125
|
+
};
|
|
126
|
+
resources?: {
|
|
127
|
+
listChanged: boolean;
|
|
128
|
+
subscribe: boolean;
|
|
129
|
+
};
|
|
130
|
+
prompts?: {
|
|
131
|
+
listChanged: boolean;
|
|
132
|
+
};
|
|
133
|
+
sampling?: Record<string, unknown>;
|
|
134
|
+
experimental?: Record<string, unknown>;
|
|
135
|
+
}
|
|
136
|
+
export interface MCPInitializeParams {
|
|
137
|
+
protocolVersion: MCPProtocolVersion;
|
|
138
|
+
capabilities: MCPCapabilities;
|
|
139
|
+
clientInfo: MCPClientInfo;
|
|
140
|
+
}
|
|
141
|
+
export interface MCPInitializeResult {
|
|
142
|
+
protocolVersion: MCPProtocolVersion;
|
|
143
|
+
capabilities: MCPCapabilities;
|
|
144
|
+
serverInfo: {
|
|
145
|
+
name: string;
|
|
146
|
+
version: string;
|
|
147
|
+
};
|
|
148
|
+
instructions?: string;
|
|
149
|
+
}
|
|
150
|
+
export interface JSONSchema {
|
|
151
|
+
type: string;
|
|
152
|
+
properties?: Record<string, JSONSchema>;
|
|
153
|
+
required?: string[];
|
|
154
|
+
items?: JSONSchema;
|
|
155
|
+
enum?: string[];
|
|
156
|
+
description?: string;
|
|
157
|
+
default?: unknown;
|
|
158
|
+
minimum?: number;
|
|
159
|
+
maximum?: number;
|
|
160
|
+
minLength?: number;
|
|
161
|
+
maxLength?: number;
|
|
162
|
+
pattern?: string;
|
|
163
|
+
additionalProperties?: boolean | JSONSchema;
|
|
164
|
+
}
|
|
165
|
+
export interface ToolContext {
|
|
166
|
+
sessionId: string;
|
|
167
|
+
requestId?: RequestId;
|
|
168
|
+
orchestrator?: unknown;
|
|
169
|
+
swarmCoordinator?: unknown;
|
|
170
|
+
agentManager?: unknown;
|
|
171
|
+
resourceManager?: unknown;
|
|
172
|
+
messageBus?: unknown;
|
|
173
|
+
monitor?: unknown;
|
|
174
|
+
metadata?: Record<string, unknown>;
|
|
175
|
+
}
|
|
176
|
+
export type ToolHandler<TInput = unknown, TOutput = unknown> = (input: TInput, context?: ToolContext) => Promise<TOutput>;
|
|
177
|
+
export interface MCPTool<TInput = unknown, TOutput = unknown> {
|
|
178
|
+
name: string;
|
|
179
|
+
description: string;
|
|
180
|
+
inputSchema: JSONSchema;
|
|
181
|
+
handler: ToolHandler<TInput, TOutput>;
|
|
182
|
+
category?: string;
|
|
183
|
+
tags?: string[];
|
|
184
|
+
version?: string;
|
|
185
|
+
deprecated?: boolean;
|
|
186
|
+
cacheable?: boolean;
|
|
187
|
+
cacheTTL?: number;
|
|
188
|
+
timeout?: number;
|
|
189
|
+
}
|
|
190
|
+
export interface ToolCallResult {
|
|
191
|
+
content: Array<{
|
|
192
|
+
type: 'text' | 'image' | 'resource';
|
|
193
|
+
text?: string;
|
|
194
|
+
data?: string;
|
|
195
|
+
mimeType?: string;
|
|
196
|
+
}>;
|
|
197
|
+
isError: boolean;
|
|
198
|
+
}
|
|
199
|
+
export interface ToolRegistrationOptions {
|
|
200
|
+
override?: boolean;
|
|
201
|
+
validate?: boolean;
|
|
202
|
+
preload?: boolean;
|
|
203
|
+
}
|
|
204
|
+
export interface MCPResource {
|
|
205
|
+
uri: string;
|
|
206
|
+
name: string;
|
|
207
|
+
description?: string;
|
|
208
|
+
mimeType?: string;
|
|
209
|
+
annotations?: ContentAnnotations;
|
|
210
|
+
}
|
|
211
|
+
export interface ResourceContent {
|
|
212
|
+
uri: string;
|
|
213
|
+
mimeType?: string;
|
|
214
|
+
text?: string;
|
|
215
|
+
blob?: string;
|
|
216
|
+
}
|
|
217
|
+
export interface ResourceTemplate {
|
|
218
|
+
uriTemplate: string;
|
|
219
|
+
name: string;
|
|
220
|
+
description?: string;
|
|
221
|
+
mimeType?: string;
|
|
222
|
+
}
|
|
223
|
+
export interface ResourceListResult {
|
|
224
|
+
resources: MCPResource[];
|
|
225
|
+
nextCursor?: string;
|
|
226
|
+
}
|
|
227
|
+
export interface ResourceReadResult {
|
|
228
|
+
contents: ResourceContent[];
|
|
229
|
+
}
|
|
230
|
+
export interface PromptArgument {
|
|
231
|
+
name: string;
|
|
232
|
+
description?: string;
|
|
233
|
+
required?: boolean;
|
|
234
|
+
}
|
|
235
|
+
export interface MCPPrompt {
|
|
236
|
+
name: string;
|
|
237
|
+
title?: string;
|
|
238
|
+
description?: string;
|
|
239
|
+
arguments?: PromptArgument[];
|
|
240
|
+
}
|
|
241
|
+
export type PromptRole = 'user' | 'assistant';
|
|
242
|
+
export interface ContentAnnotations {
|
|
243
|
+
audience?: Array<'user' | 'assistant'>;
|
|
244
|
+
priority?: number;
|
|
245
|
+
createdAt?: string;
|
|
246
|
+
modifiedAt?: string;
|
|
247
|
+
}
|
|
248
|
+
export interface TextContent {
|
|
249
|
+
type: 'text';
|
|
250
|
+
text: string;
|
|
251
|
+
annotations?: ContentAnnotations;
|
|
252
|
+
}
|
|
253
|
+
export interface ImageContent {
|
|
254
|
+
type: 'image';
|
|
255
|
+
data: string;
|
|
256
|
+
mimeType: string;
|
|
257
|
+
annotations?: ContentAnnotations;
|
|
258
|
+
}
|
|
259
|
+
export interface AudioContent {
|
|
260
|
+
type: 'audio';
|
|
261
|
+
data: string;
|
|
262
|
+
mimeType: string;
|
|
263
|
+
annotations?: ContentAnnotations;
|
|
264
|
+
}
|
|
265
|
+
export interface EmbeddedResource {
|
|
266
|
+
type: 'resource';
|
|
267
|
+
resource: ResourceContent;
|
|
268
|
+
annotations?: ContentAnnotations;
|
|
269
|
+
}
|
|
270
|
+
export type PromptContent = TextContent | ImageContent | AudioContent | EmbeddedResource;
|
|
271
|
+
export interface PromptMessage {
|
|
272
|
+
role: PromptRole;
|
|
273
|
+
content: PromptContent;
|
|
274
|
+
}
|
|
275
|
+
export interface PromptListResult {
|
|
276
|
+
prompts: MCPPrompt[];
|
|
277
|
+
nextCursor?: string;
|
|
278
|
+
}
|
|
279
|
+
export interface PromptGetResult {
|
|
280
|
+
description?: string;
|
|
281
|
+
messages: PromptMessage[];
|
|
282
|
+
}
|
|
283
|
+
export type TaskState = 'pending' | 'running' | 'completed' | 'failed' | 'cancelled';
|
|
284
|
+
export interface MCPTask {
|
|
285
|
+
id: string;
|
|
286
|
+
state: TaskState;
|
|
287
|
+
progress?: TaskProgress;
|
|
288
|
+
result?: unknown;
|
|
289
|
+
error?: MCPError;
|
|
290
|
+
createdAt: Date;
|
|
291
|
+
updatedAt: Date;
|
|
292
|
+
metadata?: Record<string, unknown>;
|
|
293
|
+
}
|
|
294
|
+
export interface TaskProgress {
|
|
295
|
+
progress: number;
|
|
296
|
+
total?: number;
|
|
297
|
+
message?: string;
|
|
298
|
+
}
|
|
299
|
+
export interface TaskResult {
|
|
300
|
+
taskId: string;
|
|
301
|
+
state: TaskState;
|
|
302
|
+
progress?: TaskProgress;
|
|
303
|
+
result?: unknown;
|
|
304
|
+
error?: MCPError;
|
|
305
|
+
}
|
|
306
|
+
export interface PaginatedRequest {
|
|
307
|
+
cursor?: string;
|
|
308
|
+
}
|
|
309
|
+
export interface PaginatedResult<T> {
|
|
310
|
+
items: T[];
|
|
311
|
+
nextCursor?: string;
|
|
312
|
+
}
|
|
313
|
+
export interface ProgressNotification {
|
|
314
|
+
progressToken: string | number;
|
|
315
|
+
progress: number;
|
|
316
|
+
total?: number;
|
|
317
|
+
message?: string;
|
|
318
|
+
}
|
|
319
|
+
export interface CancellationParams {
|
|
320
|
+
requestId: RequestId;
|
|
321
|
+
reason?: string;
|
|
322
|
+
}
|
|
323
|
+
export interface SamplingMessage {
|
|
324
|
+
role: PromptRole;
|
|
325
|
+
content: PromptContent;
|
|
326
|
+
}
|
|
327
|
+
export interface ModelPreferences {
|
|
328
|
+
hints?: Array<{
|
|
329
|
+
name?: string;
|
|
330
|
+
}>;
|
|
331
|
+
costPriority?: number;
|
|
332
|
+
speedPriority?: number;
|
|
333
|
+
intelligencePriority?: number;
|
|
334
|
+
}
|
|
335
|
+
export interface CreateMessageRequest {
|
|
336
|
+
messages: SamplingMessage[];
|
|
337
|
+
modelPreferences?: ModelPreferences;
|
|
338
|
+
systemPrompt?: string;
|
|
339
|
+
includeContext?: 'none' | 'thisServer' | 'allServers';
|
|
340
|
+
temperature?: number;
|
|
341
|
+
maxTokens: number;
|
|
342
|
+
stopSequences?: string[];
|
|
343
|
+
metadata?: Record<string, unknown>;
|
|
344
|
+
}
|
|
345
|
+
export interface CreateMessageResult {
|
|
346
|
+
role: 'assistant';
|
|
347
|
+
content: PromptContent;
|
|
348
|
+
model: string;
|
|
349
|
+
stopReason?: 'endTurn' | 'stopSequence' | 'maxTokens';
|
|
350
|
+
}
|
|
351
|
+
export interface Root {
|
|
352
|
+
uri: string;
|
|
353
|
+
name?: string;
|
|
354
|
+
}
|
|
355
|
+
export interface RootsListResult {
|
|
356
|
+
roots: Root[];
|
|
357
|
+
}
|
|
358
|
+
export type MCPLogLevel = 'debug' | 'info' | 'notice' | 'warning' | 'error' | 'critical' | 'alert' | 'emergency';
|
|
359
|
+
export interface LoggingMessage {
|
|
360
|
+
level: MCPLogLevel;
|
|
361
|
+
logger?: string;
|
|
362
|
+
data?: unknown;
|
|
363
|
+
}
|
|
364
|
+
export interface CompletionReference {
|
|
365
|
+
type: 'ref/prompt' | 'ref/resource';
|
|
366
|
+
name?: string;
|
|
367
|
+
uri?: string;
|
|
368
|
+
}
|
|
369
|
+
export interface CompletionArgument {
|
|
370
|
+
name: string;
|
|
371
|
+
value: string;
|
|
372
|
+
}
|
|
373
|
+
export interface CompletionResult {
|
|
374
|
+
values: string[];
|
|
375
|
+
total?: number;
|
|
376
|
+
hasMore?: boolean;
|
|
377
|
+
}
|
|
378
|
+
export type RequestHandler = (request: MCPRequest) => Promise<MCPResponse>;
|
|
379
|
+
export type NotificationHandler = (notification: MCPNotification) => Promise<void>;
|
|
380
|
+
export interface TransportHealthStatus {
|
|
381
|
+
healthy: boolean;
|
|
382
|
+
error?: string;
|
|
383
|
+
metrics?: Record<string, number>;
|
|
384
|
+
}
|
|
385
|
+
export interface ITransport {
|
|
386
|
+
readonly type: TransportType;
|
|
387
|
+
start(): Promise<void>;
|
|
388
|
+
stop(): Promise<void>;
|
|
389
|
+
onRequest(handler: RequestHandler): void;
|
|
390
|
+
onNotification(handler: NotificationHandler): void;
|
|
391
|
+
sendNotification?(notification: MCPNotification): Promise<void>;
|
|
392
|
+
getHealthStatus(): Promise<TransportHealthStatus>;
|
|
393
|
+
}
|
|
394
|
+
export type ConnectionState = 'idle' | 'busy' | 'closing' | 'closed' | 'error';
|
|
395
|
+
export interface PooledConnection {
|
|
396
|
+
id: string;
|
|
397
|
+
state: ConnectionState;
|
|
398
|
+
createdAt: Date;
|
|
399
|
+
lastUsedAt: Date;
|
|
400
|
+
useCount: number;
|
|
401
|
+
transport: TransportType;
|
|
402
|
+
metadata?: Record<string, unknown>;
|
|
403
|
+
}
|
|
404
|
+
export interface ConnectionPoolStats {
|
|
405
|
+
totalConnections: number;
|
|
406
|
+
idleConnections: number;
|
|
407
|
+
busyConnections: number;
|
|
408
|
+
pendingRequests: number;
|
|
409
|
+
totalAcquired: number;
|
|
410
|
+
totalReleased: number;
|
|
411
|
+
totalCreated: number;
|
|
412
|
+
totalDestroyed: number;
|
|
413
|
+
avgAcquireTime: number;
|
|
414
|
+
}
|
|
415
|
+
export interface IConnectionPool {
|
|
416
|
+
acquire(): Promise<PooledConnection>;
|
|
417
|
+
release(connection: PooledConnection): void;
|
|
418
|
+
destroy(connection: PooledConnection): void;
|
|
419
|
+
getStats(): ConnectionPoolStats;
|
|
420
|
+
drain(): Promise<void>;
|
|
421
|
+
clear(): Promise<void>;
|
|
422
|
+
}
|
|
423
|
+
export interface ToolCallMetrics {
|
|
424
|
+
toolName: string;
|
|
425
|
+
duration: number;
|
|
426
|
+
success: boolean;
|
|
427
|
+
timestamp: number;
|
|
428
|
+
transport: TransportType;
|
|
429
|
+
cached?: boolean;
|
|
430
|
+
}
|
|
431
|
+
export interface MCPServerMetrics {
|
|
432
|
+
totalRequests: number;
|
|
433
|
+
successfulRequests: number;
|
|
434
|
+
failedRequests: number;
|
|
435
|
+
averageResponseTime: number;
|
|
436
|
+
activeSessions: number;
|
|
437
|
+
toolInvocations: Record<string, number>;
|
|
438
|
+
errors: Record<string, number>;
|
|
439
|
+
lastReset: Date;
|
|
440
|
+
startupTime?: number;
|
|
441
|
+
uptime?: number;
|
|
442
|
+
}
|
|
443
|
+
export interface SessionMetrics {
|
|
444
|
+
total: number;
|
|
445
|
+
active: number;
|
|
446
|
+
authenticated: number;
|
|
447
|
+
expired: number;
|
|
448
|
+
}
|
|
449
|
+
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';
|
|
450
|
+
export interface MCPEvent {
|
|
451
|
+
type: MCPEventType;
|
|
452
|
+
timestamp: Date;
|
|
453
|
+
data?: unknown;
|
|
454
|
+
}
|
|
455
|
+
export type EventHandler = (event: MCPEvent) => void;
|
|
456
|
+
export type LogLevel = 'debug' | 'info' | 'warn' | 'error';
|
|
457
|
+
export interface ILogger {
|
|
458
|
+
debug(message: string, data?: unknown): void;
|
|
459
|
+
info(message: string, data?: unknown): void;
|
|
460
|
+
warn(message: string, data?: unknown): void;
|
|
461
|
+
error(message: string, data?: unknown): void;
|
|
462
|
+
}
|
|
463
|
+
export declare const ErrorCodes: {
|
|
464
|
+
readonly PARSE_ERROR: -32700;
|
|
465
|
+
readonly INVALID_REQUEST: -32600;
|
|
466
|
+
readonly METHOD_NOT_FOUND: -32601;
|
|
467
|
+
readonly INVALID_PARAMS: -32602;
|
|
468
|
+
readonly INTERNAL_ERROR: -32603;
|
|
469
|
+
readonly SERVER_NOT_INITIALIZED: -32002;
|
|
470
|
+
readonly UNKNOWN_ERROR: -32001;
|
|
471
|
+
readonly REQUEST_CANCELLED: -32800;
|
|
472
|
+
readonly RATE_LIMITED: -32000;
|
|
473
|
+
readonly AUTHENTICATION_REQUIRED: -32001;
|
|
474
|
+
readonly AUTHORIZATION_FAILED: -32002;
|
|
475
|
+
};
|
|
476
|
+
export declare class MCPServerError extends Error {
|
|
477
|
+
code: number;
|
|
478
|
+
data?: unknown | undefined;
|
|
479
|
+
constructor(message: string, code?: number, data?: unknown | undefined);
|
|
480
|
+
toMCPError(): MCPError;
|
|
481
|
+
}
|
|
482
|
+
//# 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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"}
|
|
@@ -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;AAwnBH,+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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@claude-flow/mcp",
|
|
3
|
+
"version": "3.0.0-alpha.10",
|
|
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
|
+
"sideEffects": false,
|
|
9
|
+
"exports": {
|
|
10
|
+
".": "./dist/index.js",
|
|
11
|
+
"./*": "./dist/*.js"
|
|
12
|
+
},
|
|
13
|
+
"scripts": {
|
|
14
|
+
"test": "vitest run",
|
|
15
|
+
"build": "tsc"
|
|
16
|
+
},
|
|
17
|
+
"devDependencies": {
|
|
18
|
+
"@types/cors": "^2.8.17",
|
|
19
|
+
"@types/express": "^4.17.21",
|
|
20
|
+
"@types/ws": "^8.5.10",
|
|
21
|
+
"vitest": "^4.1.0"
|
|
22
|
+
},
|
|
23
|
+
"keywords": [
|
|
24
|
+
"mcp",
|
|
25
|
+
"model-context-protocol",
|
|
26
|
+
"claude",
|
|
27
|
+
"ai-agents",
|
|
28
|
+
"json-rpc",
|
|
29
|
+
"stdio",
|
|
30
|
+
"websocket",
|
|
31
|
+
"tool-registry"
|
|
32
|
+
],
|
|
33
|
+
"publishConfig": {
|
|
34
|
+
"access": "public",
|
|
35
|
+
"tag": "v3alpha"
|
|
36
|
+
},
|
|
37
|
+
"rufloBundledRuntime": {
|
|
38
|
+
"format": 1,
|
|
39
|
+
"sourceDependencies": {
|
|
40
|
+
"dependencies": {
|
|
41
|
+
"ajv": "^8.12.0",
|
|
42
|
+
"cors": "^2.8.5",
|
|
43
|
+
"express": "^4.18.2",
|
|
44
|
+
"express-rate-limit": "^8.4.1",
|
|
45
|
+
"helmet": "^7.1.0",
|
|
46
|
+
"ws": "^8.14.2"
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
File without changes
|
|
@@ -13,6 +13,11 @@
|
|
|
13
13
|
* - Symlink resolution (optional)
|
|
14
14
|
* - Traversal pattern detection
|
|
15
15
|
*
|
|
16
|
+
* Canonicalization is symmetric: a candidate is only ever compared against
|
|
17
|
+
* prefixes held in the same form it was resolved in. Canonicalizing one side
|
|
18
|
+
* and not the other silently denies everything under a symlinked prefix
|
|
19
|
+
* (async) or silently accepts an escape through one (sync).
|
|
20
|
+
*
|
|
16
21
|
* @module v3/security/path-validator
|
|
17
22
|
*/
|
|
18
23
|
export interface PathValidatorConfig {
|
|
@@ -84,7 +89,25 @@ export declare class PathValidatorError extends Error {
|
|
|
84
89
|
*/
|
|
85
90
|
export declare class PathValidator {
|
|
86
91
|
private readonly config;
|
|
92
|
+
/** Lexically resolved prefixes — compared against lexically resolved candidates. */
|
|
87
93
|
private readonly resolvedPrefixes;
|
|
94
|
+
/**
|
|
95
|
+
* Symlink-resolved prefixes — compared against symlink-resolved candidates.
|
|
96
|
+
*
|
|
97
|
+
* Kept as a SECOND list rather than replacing `resolvedPrefixes`, because
|
|
98
|
+
* the two comparison sites derive their candidate differently: `validate()`
|
|
99
|
+
* canonicalizes through the filesystem, `validateSync()`/`isWithinAllowed()`
|
|
100
|
+
* are documented as lexical-only. Canonicalizing one side without the other
|
|
101
|
+
* is exactly the bug this fixes, in whichever direction it is done.
|
|
102
|
+
*
|
|
103
|
+
* Resolved once, at construction — so an allowed prefix denotes the
|
|
104
|
+
* directory it named when the validator was configured, and retargeting a
|
|
105
|
+
* symlink afterwards cannot silently redirect the allowlist. Re-resolving on
|
|
106
|
+
* every call would hand that control to whoever can write the link, and cost
|
|
107
|
+
* a syscall per validation. Callers needing to follow a moved target should
|
|
108
|
+
* construct a new validator.
|
|
109
|
+
*/
|
|
110
|
+
private readonly canonicalPrefixes;
|
|
88
111
|
constructor(config: PathValidatorConfig);
|
|
89
112
|
/**
|
|
90
113
|
* Validates a path against security rules.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path-validator.d.ts","sourceRoot":"","sources":["../src/path-validator.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"path-validator.d.ts","sourceRoot":"","sources":["../src/path-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAMH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,eAAe,EAAE,MAAM,EAAE,CAAC;IAE1B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE7B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,qBAAa,kBAAmB,SAAQ,KAAK;aAGzB,IAAI,EAAE,MAAM;aACZ,IAAI,CAAC,EAAE,MAAM;gBAF7B,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,YAAA;CAKhC;AA2HD;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;IACvD,oFAAoF;IACpF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAW;IAC5C;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAW;gBAEjC,MAAM,EAAE,mBAAmB;IAqCvC;;;;;OAKG;IACG,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA+JhE;;;;;;OAMG;IACG,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAczD;;;;;OAKG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,oBAAoB;IA4FrD;;;;;;OAMG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAQxE;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAW/B;;OAEG;IACH,kBAAkB,IAAI,SAAS,MAAM,EAAE;IAIvC;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;CAU5C;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,CAS7E;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,CASjF"}
|