@elsium-ai/mcp 0.2.3 → 0.4.0
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/dist/client.d.ts +9 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +271 -2
- package/dist/server.d.ts +7 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/types.d.ts +18 -0
- package/dist/types.d.ts.map +1 -0
- package/package.json +3 -3
package/dist/client.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Tool } from '@elsium-ai/tools';
|
|
2
|
-
export interface
|
|
2
|
+
export interface MCPClientStdioConfig {
|
|
3
3
|
name: string;
|
|
4
4
|
transport: 'stdio';
|
|
5
5
|
command: string;
|
|
@@ -7,6 +7,14 @@ export interface MCPClientConfig {
|
|
|
7
7
|
env?: Record<string, string>;
|
|
8
8
|
timeoutMs?: number;
|
|
9
9
|
}
|
|
10
|
+
export interface MCPClientHttpConfig {
|
|
11
|
+
name: string;
|
|
12
|
+
transport: 'http';
|
|
13
|
+
url: string;
|
|
14
|
+
headers?: Record<string, string>;
|
|
15
|
+
timeoutMs?: number;
|
|
16
|
+
}
|
|
17
|
+
export type MCPClientConfig = MCPClientStdioConfig | MCPClientHttpConfig;
|
|
10
18
|
export interface MCPToolInfo {
|
|
11
19
|
name: string;
|
|
12
20
|
description: string;
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAoC,MAAM,kBAAkB,CAAA;AAE9E,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAoC,MAAM,kBAAkB,CAAA;AAE9E,MAAM,WAAW,oBAAoB;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,mBAAmB;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,MAAM,eAAe,GAAG,oBAAoB,GAAG,mBAAmB,CAAA;AAExE,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACpC;AAgBD,MAAM,WAAW,SAAS;IACzB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3B,SAAS,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAAA;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACvE,aAAa,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;IAChC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;CAC3B;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAKlE"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { createMCPClient } from './client';
|
|
2
|
-
export type { MCPClient, MCPClientConfig, MCPToolInfo } from './client';
|
|
3
|
-
export { createMCPServer } from './server';
|
|
4
|
-
export type { MCPServer, MCPServerConfig } from './server';
|
|
2
|
+
export type { MCPClient, MCPClientConfig, MCPClientStdioConfig, MCPClientHttpConfig, MCPToolInfo, } from './client';
|
|
3
|
+
export { createMCPServer, createMCPHttpHandler } from './server';
|
|
4
|
+
export type { MCPServer, MCPServerConfig, MCPHttpHandlerConfig, MCPHttpHandler } from './server';
|
|
5
|
+
export type { JsonRpcRequest, JsonRpcResponse, MCPTransport } from './types';
|
|
5
6
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC1C,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC1C,YAAY,EACX,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,WAAW,GACX,MAAM,UAAU,CAAA;AAGjB,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAChE,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAGhG,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -143,8 +143,166 @@ function createLogger(options = {}) {
|
|
|
143
143
|
}
|
|
144
144
|
};
|
|
145
145
|
}
|
|
146
|
+
// ../core/src/schema.ts
|
|
147
|
+
var log = createLogger();
|
|
148
|
+
// ../core/src/registry.ts
|
|
149
|
+
var log2 = createLogger();
|
|
150
|
+
var BLOCKED_KEYS = new Set(["__proto__", "constructor", "prototype"]);
|
|
146
151
|
// src/client.ts
|
|
147
152
|
function createMCPClient(config) {
|
|
153
|
+
if (config.transport === "http") {
|
|
154
|
+
return createHttpMCPClient(config);
|
|
155
|
+
}
|
|
156
|
+
return createStdioMCPClient(config);
|
|
157
|
+
}
|
|
158
|
+
function assertConnected(connected) {
|
|
159
|
+
if (!connected) {
|
|
160
|
+
throw new ElsiumError({
|
|
161
|
+
code: "NETWORK_ERROR",
|
|
162
|
+
message: "MCP HTTP client not connected",
|
|
163
|
+
retryable: false
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
function parseHttpResponse(json) {
|
|
168
|
+
if (json.error) {
|
|
169
|
+
throw new ElsiumError({
|
|
170
|
+
code: "PROVIDER_ERROR",
|
|
171
|
+
message: `MCP error: ${json.error.message}`,
|
|
172
|
+
retryable: false,
|
|
173
|
+
metadata: { code: json.error.code }
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
return json.result;
|
|
177
|
+
}
|
|
178
|
+
function handleFetchError(error, timeoutMs) {
|
|
179
|
+
if (error instanceof ElsiumError)
|
|
180
|
+
throw error;
|
|
181
|
+
if (error instanceof Error && error.name === "AbortError") {
|
|
182
|
+
throw new ElsiumError({
|
|
183
|
+
code: "TIMEOUT",
|
|
184
|
+
message: `MCP HTTP request timed out after ${timeoutMs}ms`,
|
|
185
|
+
retryable: true
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
throw error;
|
|
189
|
+
}
|
|
190
|
+
function createHttpMCPClient(config) {
|
|
191
|
+
let connected = false;
|
|
192
|
+
let requestId = 0;
|
|
193
|
+
const timeoutMs = config.timeoutMs ?? 30000;
|
|
194
|
+
async function sendRequest(method, params) {
|
|
195
|
+
assertConnected(connected);
|
|
196
|
+
const id = ++requestId;
|
|
197
|
+
const body = {
|
|
198
|
+
jsonrpc: "2.0",
|
|
199
|
+
id,
|
|
200
|
+
method,
|
|
201
|
+
...params ? { params } : {}
|
|
202
|
+
};
|
|
203
|
+
const controller = new AbortController;
|
|
204
|
+
const timer = setTimeout(() => controller.abort(), timeoutMs);
|
|
205
|
+
try {
|
|
206
|
+
const response = await fetch(config.url, {
|
|
207
|
+
method: "POST",
|
|
208
|
+
headers: {
|
|
209
|
+
"Content-Type": "application/json",
|
|
210
|
+
...config.headers ?? {}
|
|
211
|
+
},
|
|
212
|
+
body: JSON.stringify(body),
|
|
213
|
+
signal: controller.signal
|
|
214
|
+
});
|
|
215
|
+
if (!response.ok) {
|
|
216
|
+
throw new ElsiumError({
|
|
217
|
+
code: "PROVIDER_ERROR",
|
|
218
|
+
message: `MCP HTTP error: ${response.status}`,
|
|
219
|
+
retryable: response.status >= 500
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
const json = await response.json();
|
|
223
|
+
return parseHttpResponse(json);
|
|
224
|
+
} catch (error) {
|
|
225
|
+
handleFetchError(error, timeoutMs);
|
|
226
|
+
} finally {
|
|
227
|
+
clearTimeout(timer);
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
return {
|
|
231
|
+
get connected() {
|
|
232
|
+
return connected;
|
|
233
|
+
},
|
|
234
|
+
async connect() {
|
|
235
|
+
if (connected)
|
|
236
|
+
return;
|
|
237
|
+
await sendRequest.call({ connected: true }, "initialize", {
|
|
238
|
+
protocolVersion: "2024-11-05",
|
|
239
|
+
capabilities: {},
|
|
240
|
+
clientInfo: { name: `elsium-mcp-${config.name}`, version: "0.1.0" }
|
|
241
|
+
}).catch(() => {});
|
|
242
|
+
connected = true;
|
|
243
|
+
await sendRequest("initialize", {
|
|
244
|
+
protocolVersion: "2024-11-05",
|
|
245
|
+
capabilities: {},
|
|
246
|
+
clientInfo: { name: `elsium-mcp-${config.name}`, version: "0.1.0" }
|
|
247
|
+
});
|
|
248
|
+
},
|
|
249
|
+
async disconnect() {
|
|
250
|
+
connected = false;
|
|
251
|
+
},
|
|
252
|
+
async listTools() {
|
|
253
|
+
const result = await sendRequest("tools/list");
|
|
254
|
+
return result.tools ?? [];
|
|
255
|
+
},
|
|
256
|
+
async callTool(name, args) {
|
|
257
|
+
const result = await sendRequest("tools/call", { name, arguments: args });
|
|
258
|
+
const textContent = result.content?.filter((c) => c.type === "text").map((c) => c.text).join(`
|
|
259
|
+
`);
|
|
260
|
+
return textContent ?? result;
|
|
261
|
+
},
|
|
262
|
+
async toElsiumTools() {
|
|
263
|
+
const mcpTools = await this.listTools();
|
|
264
|
+
const client = this;
|
|
265
|
+
return mcpTools.map((mcpTool) => {
|
|
266
|
+
const tool = {
|
|
267
|
+
name: mcpTool.name,
|
|
268
|
+
description: mcpTool.description,
|
|
269
|
+
inputSchema: { _def: { typeName: "ZodObject" } },
|
|
270
|
+
rawSchema: mcpTool.inputSchema,
|
|
271
|
+
timeoutMs,
|
|
272
|
+
async execute(input, partialCtx) {
|
|
273
|
+
const toolCallId = partialCtx?.toolCallId ?? generateId("tc");
|
|
274
|
+
const startTime = performance.now();
|
|
275
|
+
try {
|
|
276
|
+
const result = await client.callTool(mcpTool.name, input ?? {});
|
|
277
|
+
return {
|
|
278
|
+
success: true,
|
|
279
|
+
data: result,
|
|
280
|
+
toolCallId,
|
|
281
|
+
durationMs: Math.round(performance.now() - startTime)
|
|
282
|
+
};
|
|
283
|
+
} catch (error) {
|
|
284
|
+
return {
|
|
285
|
+
success: false,
|
|
286
|
+
error: error instanceof Error ? error.message : String(error),
|
|
287
|
+
toolCallId,
|
|
288
|
+
durationMs: Math.round(performance.now() - startTime)
|
|
289
|
+
};
|
|
290
|
+
}
|
|
291
|
+
},
|
|
292
|
+
toDefinition() {
|
|
293
|
+
return {
|
|
294
|
+
name: mcpTool.name,
|
|
295
|
+
description: mcpTool.description,
|
|
296
|
+
inputSchema: mcpTool.inputSchema
|
|
297
|
+
};
|
|
298
|
+
}
|
|
299
|
+
};
|
|
300
|
+
return tool;
|
|
301
|
+
});
|
|
302
|
+
}
|
|
303
|
+
};
|
|
304
|
+
}
|
|
305
|
+
function createStdioMCPClient(config) {
|
|
148
306
|
let process2 = null;
|
|
149
307
|
let connected = false;
|
|
150
308
|
let requestId = 0;
|
|
@@ -353,7 +511,7 @@ function createMCPClient(config) {
|
|
|
353
511
|
};
|
|
354
512
|
}
|
|
355
513
|
// src/server.ts
|
|
356
|
-
var
|
|
514
|
+
var log3 = createLogger();
|
|
357
515
|
function createMCPServer(config) {
|
|
358
516
|
let running = false;
|
|
359
517
|
const toolMap = new Map(config.tools.map((t) => [t.name, t]));
|
|
@@ -488,7 +646,7 @@ function createMCPServer(config) {
|
|
|
488
646
|
pendingChunks.shift();
|
|
489
647
|
buffer += chunk;
|
|
490
648
|
if (buffer.length > MAX_BUFFER_SIZE) {
|
|
491
|
-
|
|
649
|
+
log3.error("MCP server: buffer size limit exceeded, resetting");
|
|
492
650
|
buffer = "";
|
|
493
651
|
continue;
|
|
494
652
|
}
|
|
@@ -523,7 +681,118 @@ function createMCPServer(config) {
|
|
|
523
681
|
}
|
|
524
682
|
};
|
|
525
683
|
}
|
|
684
|
+
function createMCPHttpHandler(config) {
|
|
685
|
+
const toolMap = new Map(config.tools.map((t) => [t.name, t]));
|
|
686
|
+
function handleSyncRequest(request) {
|
|
687
|
+
const id = request.id ?? 0;
|
|
688
|
+
switch (request.method) {
|
|
689
|
+
case "initialize":
|
|
690
|
+
return {
|
|
691
|
+
jsonrpc: "2.0",
|
|
692
|
+
id,
|
|
693
|
+
result: {
|
|
694
|
+
protocolVersion: "2024-11-05",
|
|
695
|
+
capabilities: { tools: {} },
|
|
696
|
+
serverInfo: {
|
|
697
|
+
name: config.name,
|
|
698
|
+
version: config.version ?? "0.1.0"
|
|
699
|
+
}
|
|
700
|
+
}
|
|
701
|
+
};
|
|
702
|
+
case "notifications/initialized":
|
|
703
|
+
return null;
|
|
704
|
+
case "tools/list":
|
|
705
|
+
return {
|
|
706
|
+
jsonrpc: "2.0",
|
|
707
|
+
id,
|
|
708
|
+
result: {
|
|
709
|
+
tools: config.tools.map((t) => {
|
|
710
|
+
const def = t.toDefinition();
|
|
711
|
+
return {
|
|
712
|
+
name: def.name,
|
|
713
|
+
description: def.description,
|
|
714
|
+
inputSchema: def.inputSchema
|
|
715
|
+
};
|
|
716
|
+
})
|
|
717
|
+
}
|
|
718
|
+
};
|
|
719
|
+
default:
|
|
720
|
+
return {
|
|
721
|
+
jsonrpc: "2.0",
|
|
722
|
+
id,
|
|
723
|
+
error: {
|
|
724
|
+
code: -32601,
|
|
725
|
+
message: `Method not found: ${request.method}`
|
|
726
|
+
}
|
|
727
|
+
};
|
|
728
|
+
}
|
|
729
|
+
}
|
|
730
|
+
async function handleToolCall(request) {
|
|
731
|
+
const id = request.id ?? 0;
|
|
732
|
+
const name = request.params?.name;
|
|
733
|
+
const args = request.params?.arguments ?? {};
|
|
734
|
+
const tool = toolMap.get(name);
|
|
735
|
+
if (!tool) {
|
|
736
|
+
return {
|
|
737
|
+
jsonrpc: "2.0",
|
|
738
|
+
id,
|
|
739
|
+
error: { code: -32602, message: `Unknown tool: ${name}` }
|
|
740
|
+
};
|
|
741
|
+
}
|
|
742
|
+
const result = await tool.execute(args, { toolCallId: generateId("tc") });
|
|
743
|
+
if (result.success) {
|
|
744
|
+
return {
|
|
745
|
+
jsonrpc: "2.0",
|
|
746
|
+
id,
|
|
747
|
+
result: {
|
|
748
|
+
content: [
|
|
749
|
+
{
|
|
750
|
+
type: "text",
|
|
751
|
+
text: typeof result.data === "string" ? result.data : JSON.stringify(result.data, null, 2)
|
|
752
|
+
}
|
|
753
|
+
]
|
|
754
|
+
}
|
|
755
|
+
};
|
|
756
|
+
}
|
|
757
|
+
return {
|
|
758
|
+
jsonrpc: "2.0",
|
|
759
|
+
id,
|
|
760
|
+
result: {
|
|
761
|
+
content: [{ type: "text", text: result.error ?? "Tool execution failed" }],
|
|
762
|
+
isError: true
|
|
763
|
+
}
|
|
764
|
+
};
|
|
765
|
+
}
|
|
766
|
+
return async (request) => {
|
|
767
|
+
if (request.method !== "POST") {
|
|
768
|
+
return new Response(JSON.stringify({ error: "Method not allowed" }), {
|
|
769
|
+
status: 405,
|
|
770
|
+
headers: { "Content-Type": "application/json" }
|
|
771
|
+
});
|
|
772
|
+
}
|
|
773
|
+
let body;
|
|
774
|
+
try {
|
|
775
|
+
body = await request.json();
|
|
776
|
+
} catch {
|
|
777
|
+
return new Response(JSON.stringify({ jsonrpc: "2.0", id: 0, error: { code: -32700, message: "Parse error" } }), { status: 400, headers: { "Content-Type": "application/json" } });
|
|
778
|
+
}
|
|
779
|
+
let response;
|
|
780
|
+
if (body.method === "tools/call") {
|
|
781
|
+
response = await handleToolCall(body);
|
|
782
|
+
} else {
|
|
783
|
+
response = handleSyncRequest(body);
|
|
784
|
+
}
|
|
785
|
+
if (!response) {
|
|
786
|
+
return new Response(null, { status: 204 });
|
|
787
|
+
}
|
|
788
|
+
return new Response(JSON.stringify(response), {
|
|
789
|
+
status: 200,
|
|
790
|
+
headers: { "Content-Type": "application/json" }
|
|
791
|
+
});
|
|
792
|
+
};
|
|
793
|
+
}
|
|
526
794
|
export {
|
|
527
795
|
createMCPServer,
|
|
796
|
+
createMCPHttpHandler,
|
|
528
797
|
createMCPClient
|
|
529
798
|
};
|
package/dist/server.d.ts
CHANGED
|
@@ -10,4 +10,11 @@ export interface MCPServer {
|
|
|
10
10
|
readonly running: boolean;
|
|
11
11
|
}
|
|
12
12
|
export declare function createMCPServer(config: MCPServerConfig): MCPServer;
|
|
13
|
+
export interface MCPHttpHandlerConfig {
|
|
14
|
+
name: string;
|
|
15
|
+
version?: string;
|
|
16
|
+
tools: Tool[];
|
|
17
|
+
}
|
|
18
|
+
export type MCPHttpHandler = (request: Request) => Promise<Response>;
|
|
19
|
+
export declare function createMCPHttpHandler(config: MCPHttpHandlerConfig): MCPHttpHandler;
|
|
13
20
|
//# sourceMappingURL=server.d.ts.map
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAK5C,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,IAAI,EAAE,CAAA;CACb;AAgBD,MAAM,WAAW,SAAS;IACzB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACtB,IAAI,IAAI,IAAI,CAAA;IACZ,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CACzB;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAmMlE;AAID,MAAM,WAAW,oBAAoB;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,IAAI,EAAE,CAAA;CACb;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEpE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,oBAAoB,GAAG,cAAc,CAmIjF"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export interface JsonRpcRequest {
|
|
2
|
+
jsonrpc: '2.0';
|
|
3
|
+
id?: number;
|
|
4
|
+
method: string;
|
|
5
|
+
params?: Record<string, unknown>;
|
|
6
|
+
}
|
|
7
|
+
export interface JsonRpcResponse {
|
|
8
|
+
jsonrpc: '2.0';
|
|
9
|
+
id: number;
|
|
10
|
+
result?: unknown;
|
|
11
|
+
error?: {
|
|
12
|
+
code: number;
|
|
13
|
+
message: string;
|
|
14
|
+
data?: unknown;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
export type MCPTransport = 'stdio' | 'http';
|
|
18
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC9B,OAAO,EAAE,KAAK,CAAA;IACd,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC;AAED,MAAM,WAAW,eAAe;IAC/B,OAAO,EAAE,KAAK,CAAA;IACd,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;CACzD;AAED,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elsium-ai/mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Model Context Protocol (MCP) support for ElsiumAI — bidirectional bridge",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Eric Utrera <ebutrera9103@gmail.com>",
|
|
@@ -26,8 +26,8 @@
|
|
|
26
26
|
"dev": "bun --watch src/index.ts"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@elsium-ai/core": "^0.
|
|
30
|
-
"@elsium-ai/tools": "^0.
|
|
29
|
+
"@elsium-ai/core": "^0.4.0",
|
|
30
|
+
"@elsium-ai/tools": "^0.4.0"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"typescript": "^5.7.0"
|