@apify/actors-mcp-server 0.1.22-beta.13 → 0.1.22-beta.14
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/actor/const.d.ts +2 -0
- package/dist/actor/const.d.ts.map +1 -1
- package/dist/actor/const.js +7 -0
- package/dist/actor/const.js.map +1 -1
- package/dist/actor/input.d.ts.map +1 -0
- package/dist/actor/input.js.map +1 -0
- package/dist/actor/server.d.ts +1 -1
- package/dist/actor/server.d.ts.map +1 -1
- package/dist/actor/server.js +102 -30
- package/dist/actor/server.js.map +1 -1
- package/dist/actor/types.d.ts +7 -0
- package/dist/actor/types.d.ts.map +1 -1
- package/dist/actor/utils.d.ts +9 -1
- package/dist/actor/utils.d.ts.map +1 -1
- package/dist/actor/utils.js +24 -0
- package/dist/actor/utils.js.map +1 -1
- package/dist/const.d.ts +1 -2
- package/dist/const.d.ts.map +1 -1
- package/dist/const.js +4 -5
- package/dist/const.js.map +1 -1
- package/dist/examples/clientSse.d.ts +2 -1
- package/dist/examples/clientSse.d.ts.map +1 -1
- package/dist/examples/clientSse.js +6 -6
- package/dist/examples/clientSse.js.map +1 -1
- package/dist/examples/clientStdio.js +4 -4
- package/dist/examples/clientStdio.js.map +1 -1
- package/dist/examples/clientStdioChat.js +30 -15
- package/dist/examples/clientStdioChat.js.map +1 -1
- package/dist/examples/clientStreamableHttp.d.ts +2 -0
- package/dist/examples/clientStreamableHttp.d.ts.map +1 -0
- package/dist/examples/clientStreamableHttp.js +93 -0
- package/dist/examples/clientStreamableHttp.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +6 -10
- package/dist/main.js.map +1 -1
- package/dist/{mcp/server.d.ts → mcp-server.d.ts} +6 -8
- package/dist/mcp-server.d.ts.map +1 -0
- package/dist/{mcp/server.js → mcp-server.js} +25 -37
- package/dist/mcp-server.js.map +1 -0
- package/dist/stdio.js +3 -3
- package/dist/stdio.js.map +1 -1
- package/dist/tools/actor.d.ts +1 -4
- package/dist/tools/actor.d.ts.map +1 -1
- package/dist/tools/actor.js +6 -53
- package/dist/tools/actor.js.map +1 -1
- package/dist/tools/build.d.ts +1 -1
- package/dist/tools/build.d.ts.map +1 -1
- package/dist/tools/build.js +13 -12
- package/dist/tools/build.js.map +1 -1
- package/dist/tools/helpers.d.ts.map +1 -1
- package/dist/tools/helpers.js +3 -3
- package/dist/tools/helpers.js.map +1 -1
- package/dist/{apify-client.d.ts → tools/mcp-apify-client.d.ts} +1 -1
- package/dist/tools/mcp-apify-client.d.ts.map +1 -0
- package/dist/{apify-client.js → tools/mcp-apify-client.js} +6 -5
- package/dist/tools/mcp-apify-client.js.map +1 -0
- package/dist/tools/store_collection.d.ts +1 -1
- package/dist/tools/store_collection.d.ts.map +1 -1
- package/dist/tools/store_collection.js +15 -14
- package/dist/tools/store_collection.js.map +1 -1
- package/dist/tools/utils.js +11 -7
- package/dist/tools/utils.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types.d.ts +2 -25
- package/dist/types.d.ts.map +1 -1
- package/package.json +7 -7
- package/dist/apify-client.d.ts.map +0 -1
- package/dist/apify-client.js.map +0 -1
- package/dist/input.d.ts.map +0 -1
- package/dist/input.js.map +0 -1
- package/dist/mcp/actors.d.ts +0 -20
- package/dist/mcp/actors.d.ts.map +0 -1
- package/dist/mcp/actors.js +0 -66
- package/dist/mcp/actors.js.map +0 -1
- package/dist/mcp/client.d.ts +0 -6
- package/dist/mcp/client.d.ts.map +0 -1
- package/dist/mcp/client.js +0 -33
- package/dist/mcp/client.js.map +0 -1
- package/dist/mcp/const.d.ts +0 -3
- package/dist/mcp/const.d.ts.map +0 -1
- package/dist/mcp/const.js +0 -3
- package/dist/mcp/const.js.map +0 -1
- package/dist/mcp/proxy.d.ts +0 -4
- package/dist/mcp/proxy.d.ts.map +0 -1
- package/dist/mcp/proxy.js +0 -29
- package/dist/mcp/proxy.js.map +0 -1
- package/dist/mcp/server.d.ts.map +0 -1
- package/dist/mcp/server.js.map +0 -1
- package/dist/mcp/utils.d.ts +0 -26
- package/dist/mcp/utils.d.ts.map +0 -1
- package/dist/mcp/utils.js +0 -52
- package/dist/mcp/utils.js.map +0 -1
- /package/dist/{input.d.ts → actor/input.d.ts} +0 -0
- /package/dist/{input.js → actor/input.js} +0 -0
package/dist/actor/const.d.ts
CHANGED
|
@@ -4,7 +4,9 @@
|
|
|
4
4
|
export declare const HEADER_READINESS_PROBE = "x-apify-container-server-readiness-probe";
|
|
5
5
|
export declare enum Routes {
|
|
6
6
|
ROOT = "/",
|
|
7
|
+
MCP = "/mcp",
|
|
7
8
|
SSE = "/sse",
|
|
8
9
|
MESSAGE = "/message"
|
|
9
10
|
}
|
|
11
|
+
export declare const getHelpMessage: (host: string) => string;
|
|
10
12
|
//# sourceMappingURL=const.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../../src/actor/const.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,sBAAsB,6CAA6C,CAAC;AAEjF,oBAAY,MAAM;IACd,IAAI,MAAM;IACV,GAAG,SAAS;IACZ,OAAO,aAAa;CACvB"}
|
|
1
|
+
{"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../../src/actor/const.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,sBAAsB,6CAA6C,CAAC;AAEjF,oBAAY,MAAM;IACd,IAAI,MAAM;IACV,GAAG,SAAS;IACZ,GAAG,SAAS;IACZ,OAAO,aAAa;CACvB;AAED,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,WAKW,CAAC"}
|
package/dist/actor/const.js
CHANGED
|
@@ -5,7 +5,14 @@ export const HEADER_READINESS_PROBE = 'x-apify-container-server-readiness-probe'
|
|
|
5
5
|
export var Routes;
|
|
6
6
|
(function (Routes) {
|
|
7
7
|
Routes["ROOT"] = "/";
|
|
8
|
+
Routes["MCP"] = "/mcp";
|
|
8
9
|
Routes["SSE"] = "/sse";
|
|
9
10
|
Routes["MESSAGE"] = "/message";
|
|
10
11
|
})(Routes || (Routes = {}));
|
|
12
|
+
export const getHelpMessage = (host) => `To interact with the server you can either:
|
|
13
|
+
- send request to ${host}${Routes.MCP}?token=YOUR-APIFY-TOKEN and receive a response
|
|
14
|
+
or
|
|
15
|
+
- connect for Server-Sent Events (SSE) via GET request to: ${host}${Routes.SSE}?token=YOUR-APIFY-TOKEN
|
|
16
|
+
- send messages via POST request to: ${host}${Routes.MESSAGE}?token=YOUR-APIFY-TOKEN
|
|
17
|
+
(Include your message content in the request body.)`;
|
|
11
18
|
//# sourceMappingURL=const.js.map
|
package/dist/actor/const.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../src/actor/const.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,0CAA0C,CAAC;AAEjF,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../src/actor/const.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,0CAA0C,CAAC;AAEjF,MAAM,CAAN,IAAY,MAKX;AALD,WAAY,MAAM;IACd,oBAAU,CAAA;IACV,sBAAY,CAAA;IACZ,sBAAY,CAAA;IACZ,8BAAoB,CAAA;AACxB,CAAC,EALW,MAAM,KAAN,MAAM,QAKjB;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC;oBAC5B,IAAI,GAAG,MAAM,CAAC,GAAG;;6DAEwB,IAAI,GAAG,MAAM,CAAC,GAAG;uCACvC,IAAI,GAAG,MAAM,CAAC,OAAO;sDACN,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/actor/input.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAejE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input.js","sourceRoot":"","sources":["../../src/actor/input.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,aAA6B;IACtD,MAAM,KAAK,GAAG,aAAsB,CAAC;IAErC,gDAAgD;IAChD,IAAI,KAAK,CAAC,MAAM,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACnD,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAa,CAAC;IAC9F,CAAC;IACD,2CAA2C;IAC3C,IAAI,KAAK,CAAC,sBAAsB,IAAI,OAAO,KAAK,CAAC,sBAAsB,KAAK,QAAQ,EAAE,CAAC;QACnF,KAAK,CAAC,sBAAsB,GAAG,KAAK,CAAC,sBAAsB,KAAK,MAAM,CAAC;IAC3E,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAE,CAAC;QAChC,KAAK,CAAC,sBAAsB,GAAG,KAAK,CAAC;IACzC,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC"}
|
package/dist/actor/server.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import express from 'express';
|
|
2
|
-
import { type ActorsMcpServer } from '../mcp
|
|
2
|
+
import { type ActorsMcpServer } from '../mcp-server.js';
|
|
3
3
|
export declare function createExpressApp(host: string, mcpServer: ActorsMcpServer): express.Express;
|
|
4
4
|
//# sourceMappingURL=server.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/actor/server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/actor/server.ts"],"names":[],"mappings":"AASA,OAAO,OAAO,MAAM,SAAS,CAAC;AAI9B,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAIxD,wBAAgB,gBAAgB,CAC5B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,eAAe,GAC3B,OAAO,CAAC,OAAO,CA8IjB"}
|
package/dist/actor/server.js
CHANGED
|
@@ -1,19 +1,32 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* Express server implementation used for standby Actor mode.
|
|
3
3
|
*/
|
|
4
|
+
import { randomUUID } from 'node:crypto';
|
|
4
5
|
import { SSEServerTransport } from '@modelcontextprotocol/sdk/server/sse.js';
|
|
6
|
+
import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
5
7
|
import express from 'express';
|
|
6
8
|
import log from '@apify/log';
|
|
7
|
-
import { HEADER_READINESS_PROBE, Routes } from './const.js';
|
|
8
|
-
import { getActorRunData } from './utils.js';
|
|
9
|
-
import { processParamsGetTools } from '../mcp/utils.js';
|
|
9
|
+
import { getHelpMessage, HEADER_READINESS_PROBE, Routes } from './const.js';
|
|
10
|
+
import { getActorRunData, processParamsGetTools } from './utils.js';
|
|
10
11
|
export function createExpressApp(host, mcpServer) {
|
|
11
|
-
const HELP_MESSAGE = `Connect to the server with GET request to ${host}/sse?token=YOUR-APIFY-TOKEN`
|
|
12
|
-
+ ` and then send POST requests to ${host}/message?token=YOUR-APIFY-TOKEN`;
|
|
13
12
|
const app = express();
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
app.use(express.json());
|
|
14
|
+
let transportSSE;
|
|
15
|
+
const transports = {};
|
|
16
|
+
function respondWithError(res, error, logMessage, statusCode = 500) {
|
|
17
|
+
log.error(`${logMessage}: ${error}`);
|
|
18
|
+
if (!res.headersSent) {
|
|
19
|
+
res.status(statusCode).json({
|
|
20
|
+
jsonrpc: '2.0',
|
|
21
|
+
error: {
|
|
22
|
+
code: statusCode === 500 ? -32603 : -32000,
|
|
23
|
+
message: statusCode === 500 ? 'Internal server error' : 'Bad Request',
|
|
24
|
+
},
|
|
25
|
+
id: null,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
app.get(Routes.ROOT, async (req, res) => {
|
|
17
30
|
if (req.headers && req.get(HEADER_READINESS_PROBE) !== undefined) {
|
|
18
31
|
log.debug('Received readiness probe');
|
|
19
32
|
res.status(200).json({ message: 'Server is ready' }).end();
|
|
@@ -21,62 +34,121 @@ export function createExpressApp(host, mcpServer) {
|
|
|
21
34
|
}
|
|
22
35
|
try {
|
|
23
36
|
log.info(`Received GET message at: ${Routes.ROOT}`);
|
|
24
|
-
const tools = await processParamsGetTools(req.url
|
|
37
|
+
const tools = await processParamsGetTools(req.url);
|
|
25
38
|
if (tools) {
|
|
26
39
|
mcpServer.updateTools(tools);
|
|
27
40
|
}
|
|
28
41
|
res.setHeader('Content-Type', 'text/event-stream');
|
|
29
42
|
res.setHeader('Cache-Control', 'no-cache');
|
|
30
43
|
res.setHeader('Connection', 'keep-alive');
|
|
31
|
-
res.status(200).json({ message: `Actor is using Model Context Protocol. ${
|
|
44
|
+
res.status(200).json({ message: `Actor is using Model Context Protocol. ${getHelpMessage(host)}`, data: getActorRunData() }).end();
|
|
32
45
|
}
|
|
33
46
|
catch (error) {
|
|
34
|
-
|
|
35
|
-
res.status(500).json({ message: 'Internal Server Error' }).end();
|
|
47
|
+
respondWithError(res, error, `Error in GET ${Routes.ROOT}`);
|
|
36
48
|
}
|
|
37
|
-
})
|
|
38
|
-
|
|
49
|
+
});
|
|
50
|
+
app.head(Routes.ROOT, (_req, res) => {
|
|
39
51
|
res.status(200).end();
|
|
40
52
|
});
|
|
41
|
-
app.
|
|
42
|
-
.get(async (req, res) => {
|
|
53
|
+
app.get(Routes.SSE, async (req, res) => {
|
|
43
54
|
try {
|
|
44
55
|
log.info(`Received GET message at: ${Routes.SSE}`);
|
|
45
|
-
const tools = await processParamsGetTools(req.url
|
|
56
|
+
const tools = await processParamsGetTools(req.url);
|
|
46
57
|
if (tools) {
|
|
47
58
|
mcpServer.updateTools(tools);
|
|
48
59
|
}
|
|
49
|
-
|
|
50
|
-
await mcpServer.connect(
|
|
60
|
+
transportSSE = new SSEServerTransport(Routes.MESSAGE, res);
|
|
61
|
+
await mcpServer.connect(transportSSE);
|
|
51
62
|
}
|
|
52
63
|
catch (error) {
|
|
53
|
-
|
|
54
|
-
res.status(500).json({ message: 'Internal Server Error' }).end();
|
|
64
|
+
respondWithError(res, error, `Error in GET ${Routes.SSE}`);
|
|
55
65
|
}
|
|
56
66
|
});
|
|
57
|
-
app.
|
|
58
|
-
.post(async (req, res) => {
|
|
67
|
+
app.post(Routes.MESSAGE, async (req, res) => {
|
|
59
68
|
try {
|
|
60
69
|
log.info(`Received POST message at: ${Routes.MESSAGE}`);
|
|
61
|
-
if (
|
|
62
|
-
await
|
|
70
|
+
if (transportSSE) {
|
|
71
|
+
await transportSSE.handlePostMessage(req, res);
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
log.error('Server is not connected to the client.');
|
|
75
|
+
res.status(400).json({
|
|
76
|
+
jsonrpc: '2.0',
|
|
77
|
+
error: {
|
|
78
|
+
code: -32000,
|
|
79
|
+
message: 'Bad Request: Server is not connected to the client. '
|
|
80
|
+
+ 'Connect to the server with GET request to /sse endpoint',
|
|
81
|
+
},
|
|
82
|
+
id: null,
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
catch (error) {
|
|
87
|
+
respondWithError(res, error, `Error in POST ${Routes.MESSAGE}`);
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
app.post(Routes.MCP, async (req, res) => {
|
|
91
|
+
log.info('Received MCP request:', req.body);
|
|
92
|
+
try {
|
|
93
|
+
// Check for existing session ID
|
|
94
|
+
const sessionId = req.headers['mcp-session-id'];
|
|
95
|
+
let transport;
|
|
96
|
+
if (sessionId && transports[sessionId]) {
|
|
97
|
+
// Reuse existing transport
|
|
98
|
+
transport = transports[sessionId];
|
|
99
|
+
}
|
|
100
|
+
else if (!sessionId && isInitializeRequest(req.body)) {
|
|
101
|
+
// New initialization request - use JSON response mode
|
|
102
|
+
transport = new StreamableHTTPServerTransport({
|
|
103
|
+
sessionIdGenerator: () => randomUUID(),
|
|
104
|
+
enableJsonResponse: true, // Enable JSON response mode
|
|
105
|
+
});
|
|
106
|
+
// Connect the transport to the MCP server BEFORE handling the request
|
|
107
|
+
await mcpServer.connect(transport);
|
|
108
|
+
// After handling the request, if we get a session ID back, store the transport
|
|
109
|
+
await transport.handleRequest(req, res, req.body);
|
|
110
|
+
// Store the transport by session ID for future requests
|
|
111
|
+
if (transport.sessionId) {
|
|
112
|
+
transports[transport.sessionId] = transport;
|
|
113
|
+
}
|
|
114
|
+
return; // Already handled
|
|
63
115
|
}
|
|
64
116
|
else {
|
|
117
|
+
// Invalid request - no session ID or not initialization request
|
|
65
118
|
res.status(400).json({
|
|
66
|
-
|
|
67
|
-
|
|
119
|
+
jsonrpc: '2.0',
|
|
120
|
+
error: {
|
|
121
|
+
code: -32000,
|
|
122
|
+
message: 'Bad Request: No valid session ID provided or not initialization request',
|
|
123
|
+
},
|
|
124
|
+
id: null,
|
|
68
125
|
});
|
|
126
|
+
return;
|
|
69
127
|
}
|
|
128
|
+
// Handle the request with existing transport - no need to reconnect
|
|
129
|
+
await transport.handleRequest(req, res, req.body);
|
|
70
130
|
}
|
|
71
131
|
catch (error) {
|
|
72
|
-
|
|
73
|
-
res.status(500).json({ message: 'Internal Server Error' }).end();
|
|
132
|
+
respondWithError(res, error, 'Error handling MCP request');
|
|
74
133
|
}
|
|
75
134
|
});
|
|
135
|
+
// Handle GET requests for SSE streams according to spec
|
|
136
|
+
app.get(Routes.MCP, async (_req, res) => {
|
|
137
|
+
// We don't support GET requests for this server
|
|
138
|
+
// The spec requires returning 405 Method Not Allowed in this case
|
|
139
|
+
res.status(405).set('Allow', 'POST').send('Method Not Allowed');
|
|
140
|
+
});
|
|
76
141
|
// Catch-all for undefined routes
|
|
77
142
|
app.use((req, res) => {
|
|
78
|
-
res.status(404).json({ message: `There is nothing at route ${req.method} ${req.originalUrl}. ${
|
|
143
|
+
res.status(404).json({ message: `There is nothing at route ${req.method} ${req.originalUrl}. ${getHelpMessage(host)}` }).end();
|
|
79
144
|
});
|
|
80
145
|
return app;
|
|
81
146
|
}
|
|
147
|
+
// Helper function to detect initialize requests
|
|
148
|
+
function isInitializeRequest(body) {
|
|
149
|
+
if (Array.isArray(body)) {
|
|
150
|
+
return body.some((msg) => typeof msg === 'object' && msg !== null && 'method' in msg && msg.method === 'initialize');
|
|
151
|
+
}
|
|
152
|
+
return typeof body === 'object' && body !== null && 'method' in body && body.method === 'initialize';
|
|
153
|
+
}
|
|
82
154
|
//# sourceMappingURL=server.js.map
|
package/dist/actor/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/actor/server.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/actor/server.ts"],"names":[],"mappings":"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"}
|
package/dist/actor/types.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/actor/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/actor/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GAAG;IAChB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAC1B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,MAAM,WAAW,YAAY;IACzB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,IAAI,CAAC;IACjB,MAAM,EAAE,SAAS,CAAC;IAClB,IAAI,EAAE;QACF,MAAM,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,OAAO,EAAE;QACL,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB"}
|
package/dist/actor/utils.d.ts
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ToolWrap } from '../types.js';
|
|
2
|
+
import type { ActorRunData, Input } from './types.js';
|
|
3
|
+
export declare function parseInputParamsFromUrl(url: string): Input;
|
|
4
|
+
/**
|
|
5
|
+
* Process input parameters and get tools
|
|
6
|
+
* If URL contains query parameter `actors`, return tools from Actors otherwise return null.
|
|
7
|
+
* @param url
|
|
8
|
+
*/
|
|
9
|
+
export declare function processParamsGetTools(url: string): Promise<ToolWrap[]>;
|
|
2
10
|
export declare function getActorRunData(): ActorRunData | null;
|
|
3
11
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/actor/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/actor/utils.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEtD,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAI1D;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,MAAM,uBAUtD;AAED,wBAAgB,eAAe,IAAI,YAAY,GAAG,IAAI,CAuBrD"}
|
package/dist/actor/utils.js
CHANGED
|
@@ -1,4 +1,28 @@
|
|
|
1
|
+
import { parse } from 'node:querystring';
|
|
1
2
|
import { Actor } from 'apify';
|
|
3
|
+
import { addTool, getActorsAsTools, removeTool } from '../tools/index.js';
|
|
4
|
+
import { processInput } from './input.js';
|
|
5
|
+
export function parseInputParamsFromUrl(url) {
|
|
6
|
+
const query = url.split('?')[1] || '';
|
|
7
|
+
const params = parse(query);
|
|
8
|
+
return processInput(params);
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Process input parameters and get tools
|
|
12
|
+
* If URL contains query parameter `actors`, return tools from Actors otherwise return null.
|
|
13
|
+
* @param url
|
|
14
|
+
*/
|
|
15
|
+
export async function processParamsGetTools(url) {
|
|
16
|
+
const input = parseInputParamsFromUrl(url);
|
|
17
|
+
let tools = [];
|
|
18
|
+
if (input.actors) {
|
|
19
|
+
tools = await getActorsAsTools(input.actors);
|
|
20
|
+
}
|
|
21
|
+
if (input.enableActorAutoLoading) {
|
|
22
|
+
tools.push(addTool, removeTool);
|
|
23
|
+
}
|
|
24
|
+
return tools;
|
|
25
|
+
}
|
|
2
26
|
export function getActorRunData() {
|
|
3
27
|
return Actor.isAtHome() ? {
|
|
4
28
|
id: process.env.ACTOR_RUN_ID,
|
package/dist/actor/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/actor/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/actor/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE1E,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1C,MAAM,UAAU,uBAAuB,CAAC,GAAW;IAC/C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACtC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAqB,CAAC;IAChD,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,GAAW;IACnD,MAAM,KAAK,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,KAAK,GAAe,EAAE,CAAC;IAC3B,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACf,KAAK,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,MAAkB,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,KAAK,CAAC,sBAAsB,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,eAAe;IAC3B,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACtB,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;QAC5B,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ;QAC3B,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;QACjC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB;QACvC,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,SAAS;QACjB,IAAI,EAAE;YACF,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;SACxC;QACD,OAAO,EAAE;YACL,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;YACrC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;SAChD;QACD,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc;QACnC,sBAAsB,EAAE,OAAO,CAAC,GAAG,CAAC,gCAAgC;QACpE,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB;QACtD,qBAAqB,EAAE,OAAO,CAAC,GAAG,CAAC,8BAA8B;QACjE,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;QAC3C,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB;QAC9C,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;KAC5C,CAAC,CAAC,CAAC,IAAI,CAAC;AACb,CAAC"}
|
package/dist/const.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export declare const ACTOR_OUTPUT_TRUNCATED_MESSAGE: string;
|
|
|
6
6
|
export declare const ACTOR_ADDITIONAL_INSTRUCTIONS: string;
|
|
7
7
|
export declare const ACTOR_MAX_MEMORY_MBYTES = 4096;
|
|
8
8
|
export declare const SERVER_NAME = "apify-mcp-server";
|
|
9
|
-
export declare const SERVER_VERSION = "
|
|
9
|
+
export declare const SERVER_VERSION = "1.0.0";
|
|
10
10
|
export declare const USER_AGENT_ORIGIN = "Origin/mcp-server";
|
|
11
11
|
export declare enum HelperTools {
|
|
12
12
|
SEARCH = "search",
|
|
@@ -19,5 +19,4 @@ export declare const defaults: {
|
|
|
19
19
|
enableActorAutoLoading: boolean;
|
|
20
20
|
maxMemoryMbytes: number;
|
|
21
21
|
};
|
|
22
|
-
export declare const APIFY_USERNAME = "apify";
|
|
23
22
|
//# sourceMappingURL=const.d.ts.map
|
package/dist/const.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../src/const.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,uBAAuB,OAAQ,CAAC;AAC7C,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAGhD,eAAO,MAAM,+BAA+B,OAAQ,CAAC;AACrD,eAAO,MAAM,8BAA8B,QACQ,CAAC;AAEpD,eAAO,MAAM,6BAA6B,QACuB,CAAC;AAGlE,eAAO,MAAM,uBAAuB,OAAQ,CAAC;AAG7C,eAAO,MAAM,WAAW,qBAAqB,CAAC;AAC9C,eAAO,MAAM,cAAc,UAAU,CAAC;AAGtC,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AAErD,oBAAY,WAAW;IACnB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,WAAW,gBAAgB;IAC3B,gBAAgB,qBAAqB;CACxC;AAED,eAAO,MAAM,QAAQ;;;;CAQpB,CAAC
|
|
1
|
+
{"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../src/const.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,uBAAuB,OAAQ,CAAC;AAC7C,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAGhD,eAAO,MAAM,+BAA+B,OAAQ,CAAC;AACrD,eAAO,MAAM,8BAA8B,QACQ,CAAC;AAEpD,eAAO,MAAM,6BAA6B,QACuB,CAAC;AAGlE,eAAO,MAAM,uBAAuB,OAAQ,CAAC;AAG7C,eAAO,MAAM,WAAW,qBAAqB,CAAC;AAC9C,eAAO,MAAM,cAAc,UAAU,CAAC;AAGtC,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AAErD,oBAAY,WAAW;IACnB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,WAAW,gBAAgB;IAC3B,gBAAgB,qBAAqB;CACxC;AAED,eAAO,MAAM,QAAQ;;;;CAQpB,CAAC"}
|
package/dist/const.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
// Actor input const
|
|
2
|
-
export const ACTOR_README_MAX_LENGTH =
|
|
2
|
+
export const ACTOR_README_MAX_LENGTH = 5000;
|
|
3
3
|
export const ACTOR_ENUM_MAX_LENGTH = 200;
|
|
4
4
|
export const ACTOR_MAX_DESCRIPTION_LENGTH = 500;
|
|
5
5
|
// Actor output const
|
|
6
|
-
export const ACTOR_OUTPUT_MAX_CHARS_PER_ITEM =
|
|
6
|
+
export const ACTOR_OUTPUT_MAX_CHARS_PER_ITEM = 5000;
|
|
7
7
|
export const ACTOR_OUTPUT_TRUNCATED_MESSAGE = `Output was truncated because it will not fit into context.`
|
|
8
8
|
+ `There is no reason to call this tool again!`;
|
|
9
9
|
export const ACTOR_ADDITIONAL_INSTRUCTIONS = 'Never call/execute tool/Actor unless confirmed by the user. '
|
|
10
10
|
+ 'Always limit the number of results in the call arguments.';
|
|
11
11
|
// Actor run const
|
|
12
|
-
export const ACTOR_MAX_MEMORY_MBYTES =
|
|
12
|
+
export const ACTOR_MAX_MEMORY_MBYTES = 4096; // If the Actor requires 8GB of memory, free users can't run actors-mcp-server and requested Actor
|
|
13
13
|
// MCP Server
|
|
14
14
|
export const SERVER_NAME = 'apify-mcp-server';
|
|
15
|
-
export const SERVER_VERSION = '
|
|
15
|
+
export const SERVER_VERSION = '1.0.0';
|
|
16
16
|
// User agent headers
|
|
17
17
|
export const USER_AGENT_ORIGIN = 'Origin/mcp-server';
|
|
18
18
|
export var HelperTools;
|
|
@@ -31,5 +31,4 @@ export const defaults = {
|
|
|
31
31
|
enableActorAutoLoading: false,
|
|
32
32
|
maxMemoryMbytes: 4096,
|
|
33
33
|
};
|
|
34
|
-
export const APIFY_USERNAME = 'apify';
|
|
35
34
|
//# sourceMappingURL=const.js.map
|
package/dist/const.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"const.js","sourceRoot":"","sources":["../src/const.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,MAAM,CAAC,MAAM,uBAAuB,GAAG,
|
|
1
|
+
{"version":3,"file":"const.js","sourceRoot":"","sources":["../src/const.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAK,CAAC;AAC7C,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AACzC,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,CAAC;AAEhD,qBAAqB;AACrB,MAAM,CAAC,MAAM,+BAA+B,GAAG,IAAK,CAAC;AACrD,MAAM,CAAC,MAAM,8BAA8B,GAAG,4DAA4D;MACpG,6CAA6C,CAAC;AAEpD,MAAM,CAAC,MAAM,6BAA6B,GAAG,8DAA8D;MACrG,2DAA2D,CAAC;AAElE,kBAAkB;AAClB,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAK,CAAC,CAAC,kGAAkG;AAEhJ,aAAa;AACb,MAAM,CAAC,MAAM,WAAW,GAAG,kBAAkB,CAAC;AAC9C,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC;AAEtC,qBAAqB;AACrB,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAErD,MAAM,CAAN,IAAY,WAKX;AALD,WAAY,WAAW;IACnB,gCAAiB,CAAA;IACjB,oCAAqB,CAAA;IACrB,0CAA2B,CAAA;IAC3B,oDAAqC,CAAA;AACzC,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG;IACpB,MAAM,EAAE;QACJ,yBAAyB;QACzB,uBAAuB;QACvB,8CAA8C;KACjD;IACD,sBAAsB,EAAE,KAAK;IAC7B,eAAe,EAAE,IAAI;CACxB,CAAC"}
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
*
|
|
5
5
|
* It requires the `APIFY_TOKEN` in the `.env` file.
|
|
6
6
|
*/
|
|
7
|
-
import {
|
|
7
|
+
import type { EventSourceInit } from 'eventsource';
|
|
8
|
+
import { EventSource } from 'eventsource';
|
|
8
9
|
declare global {
|
|
9
10
|
var EventSource: {
|
|
10
11
|
new (url: string, eventSourceInitDict?: EventSourceInit): EventSource;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clientSse.d.ts","sourceRoot":"","sources":["../../src/examples/clientSse.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AASH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"clientSse.d.ts","sourceRoot":"","sources":["../../src/examples/clientSse.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AASH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAsB1C,OAAO,CAAC,MAAM,CAAC;IAGX,IAAI,WAAW,EAAE;QACb,KAAI,GAAG,EAAE,MAAM,EAAE,mBAAmB,CAAC,EAAE,eAAe,GAAG,WAAW,CAAC;QACrE,SAAS,EAAE,WAAW,CAAC;QACvB,UAAU,EAAE,CAAC,CAAC;QACd,IAAI,EAAE,CAAC,CAAC;QACR,MAAM,EAAE,CAAC,CAAC;KACb,CAAC;CACL"}
|
|
@@ -5,15 +5,15 @@
|
|
|
5
5
|
*
|
|
6
6
|
* It requires the `APIFY_TOKEN` in the `.env` file.
|
|
7
7
|
*/
|
|
8
|
-
import path from 'path';
|
|
9
|
-
import { fileURLToPath } from 'url';
|
|
8
|
+
import path from 'node:path';
|
|
9
|
+
import { fileURLToPath } from 'node:url';
|
|
10
10
|
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
|
|
11
11
|
import { SSEClientTransport } from '@modelcontextprotocol/sdk/client/sse.js';
|
|
12
12
|
import { CallToolResultSchema } from '@modelcontextprotocol/sdk/types.js';
|
|
13
|
-
import dotenv from 'dotenv';
|
|
14
|
-
import { EventSource } from 'eventsource';
|
|
13
|
+
import dotenv from 'dotenv'; // eslint-disable-line import/no-extraneous-dependencies
|
|
14
|
+
import { EventSource } from 'eventsource'; // eslint-disable-line import/no-extraneous-dependencies
|
|
15
15
|
import { actorNameToToolName } from '../tools/utils.js';
|
|
16
|
-
const REQUEST_TIMEOUT =
|
|
16
|
+
const REQUEST_TIMEOUT = 120000; // 2 minutes
|
|
17
17
|
const filename = fileURLToPath(import.meta.url);
|
|
18
18
|
const dirname = path.dirname(filename);
|
|
19
19
|
dotenv.config({ path: path.resolve(dirname, '../../.env') });
|
|
@@ -41,7 +41,7 @@ async function main() {
|
|
|
41
41
|
// You can use this to set additional headers on the outgoing request.
|
|
42
42
|
// Based on this example: https://github.com/modelcontextprotocol/typescript-sdk/issues/118
|
|
43
43
|
async fetch(input, init) {
|
|
44
|
-
const headers = new Headers(init
|
|
44
|
+
const headers = new Headers((init === null || init === void 0 ? void 0 : init.headers) || {});
|
|
45
45
|
headers.set('authorization', `Bearer ${process.env.APIFY_TOKEN}`);
|
|
46
46
|
return fetch(input, { ...init, headers });
|
|
47
47
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clientSse.js","sourceRoot":"","sources":["../../src/examples/clientSse.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B;;;;;GAKG;AAEH,OAAO,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"clientSse.js","sourceRoot":"","sources":["../../src/examples/clientSse.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,13 +5,13 @@
|
|
|
5
5
|
* You need to provide the path to the MCP server and `APIFY_TOKEN` in the `.env` file.
|
|
6
6
|
* You can choose actors to run in the server, for example: `apify/rag-web-browser`.
|
|
7
7
|
*/
|
|
8
|
-
import { execSync } from 'child_process';
|
|
9
|
-
import path from 'path';
|
|
10
|
-
import { fileURLToPath } from 'url';
|
|
8
|
+
import { execSync } from 'node:child_process';
|
|
9
|
+
import path from 'node:path';
|
|
10
|
+
import { fileURLToPath } from 'node:url';
|
|
11
11
|
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
|
|
12
12
|
import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';
|
|
13
13
|
import { CallToolResultSchema } from '@modelcontextprotocol/sdk/types.js';
|
|
14
|
-
import dotenv from 'dotenv';
|
|
14
|
+
import dotenv from 'dotenv'; // eslint-disable-line import/no-extraneous-dependencies
|
|
15
15
|
import { actorNameToToolName } from '../tools/utils.js';
|
|
16
16
|
// Resolve dirname equivalent in ES module
|
|
17
17
|
const filename = fileURLToPath(import.meta.url);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clientStdio.js","sourceRoot":"","sources":["../../src/examples/clientStdio.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"clientStdio.js","sourceRoot":"","sources":["../../src/examples/clientStdio.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,19 +16,19 @@
|
|
|
16
16
|
* This appears to be crawled content from AWS and IBM websites explaining what AI agents are.
|
|
17
17
|
* Let me summarize the key points:
|
|
18
18
|
*/
|
|
19
|
-
import { execSync } from 'child_process';
|
|
20
|
-
import path from 'path';
|
|
21
|
-
import * as readline from 'readline';
|
|
22
|
-
import { fileURLToPath } from 'url';
|
|
23
|
-
import { Anthropic } from '@anthropic-ai/sdk';
|
|
19
|
+
import { execSync } from 'node:child_process';
|
|
20
|
+
import path from 'node:path';
|
|
21
|
+
import * as readline from 'node:readline';
|
|
22
|
+
import { fileURLToPath } from 'node:url';
|
|
23
|
+
import { Anthropic } from '@anthropic-ai/sdk'; // eslint-disable-line import/no-extraneous-dependencies
|
|
24
24
|
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
|
|
25
25
|
import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';
|
|
26
26
|
import { CallToolResultSchema } from '@modelcontextprotocol/sdk/types.js';
|
|
27
|
-
import dotenv from 'dotenv';
|
|
27
|
+
import dotenv from 'dotenv'; // eslint-disable-line import/no-extraneous-dependencies
|
|
28
28
|
const filename = fileURLToPath(import.meta.url);
|
|
29
29
|
const dirname = path.dirname(filename);
|
|
30
30
|
dotenv.config({ path: path.resolve(dirname, '../../.env') });
|
|
31
|
-
const REQUEST_TIMEOUT =
|
|
31
|
+
const REQUEST_TIMEOUT = 120000; // 2 minutes
|
|
32
32
|
const MAX_TOKENS = 2048; // Maximum tokens for Claude response
|
|
33
33
|
// const CLAUDE_MODEL = 'claude-3-5-sonnet-20241022'; // the most intelligent model
|
|
34
34
|
// const CLAUDE_MODEL = 'claude-3-5-haiku-20241022'; // a fastest model
|
|
@@ -38,15 +38,30 @@ const DEBUG_SERVER_PATH = path.resolve(dirname, '../../dist/stdio.js');
|
|
|
38
38
|
const NODE_PATH = execSync('which node').toString().trim();
|
|
39
39
|
dotenv.config(); // Load environment variables from .env
|
|
40
40
|
class MCPClient {
|
|
41
|
-
anthropic;
|
|
42
|
-
client = new Client({
|
|
43
|
-
name: 'example-client',
|
|
44
|
-
version: '0.1.0',
|
|
45
|
-
}, {
|
|
46
|
-
capabilities: {}, // Optional capabilities
|
|
47
|
-
});
|
|
48
|
-
tools = [];
|
|
49
41
|
constructor() {
|
|
42
|
+
Object.defineProperty(this, "anthropic", {
|
|
43
|
+
enumerable: true,
|
|
44
|
+
configurable: true,
|
|
45
|
+
writable: true,
|
|
46
|
+
value: void 0
|
|
47
|
+
});
|
|
48
|
+
Object.defineProperty(this, "client", {
|
|
49
|
+
enumerable: true,
|
|
50
|
+
configurable: true,
|
|
51
|
+
writable: true,
|
|
52
|
+
value: new Client({
|
|
53
|
+
name: 'example-client',
|
|
54
|
+
version: '0.1.0',
|
|
55
|
+
}, {
|
|
56
|
+
capabilities: {}, // Optional capabilities
|
|
57
|
+
})
|
|
58
|
+
});
|
|
59
|
+
Object.defineProperty(this, "tools", {
|
|
60
|
+
enumerable: true,
|
|
61
|
+
configurable: true,
|
|
62
|
+
writable: true,
|
|
63
|
+
value: []
|
|
64
|
+
});
|
|
50
65
|
this.anthropic = new Anthropic({ apiKey: process.env.ANTHROPIC_API_KEY });
|
|
51
66
|
}
|
|
52
67
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clientStdioChat.js","sourceRoot":"","sources":["../../src/examples/clientStdioChat.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"clientStdioChat.js","sourceRoot":"","sources":["../../src/examples/clientStdioChat.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clientStreamableHttp.d.ts","sourceRoot":"","sources":["../../src/examples/clientStreamableHttp.ts"],"names":[],"mappings":""}
|