@apify/actors-mcp-server 0.11.3-beta.2 → 0.11.3-beta.4
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/dev_server.d.ts.map +1 -1
- package/dist/dev_server.js +25 -32
- package/dist/dev_server.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/dist/dev_server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev_server.d.ts","sourceRoot":"","sources":["../src/dev_server.ts"],"names":[],"mappings":"AAUA,OAAO,OAAO,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"dev_server.d.ts","sourceRoot":"","sources":["../src/dev_server.ts"],"names":[],"mappings":"AAUA,OAAO,OAAO,MAAM,SAAS,CAAC;AAuE9B,wBAAgB,gBAAgB,IAAI,OAAO,CAAC,OAAO,CA+KlD"}
|
package/dist/dev_server.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* Express server implementation used for standby Actor mode.
|
|
3
3
|
*/
|
|
4
|
-
var _a, _b
|
|
5
|
-
var
|
|
4
|
+
var _a, _b;
|
|
5
|
+
var _c;
|
|
6
6
|
import { randomUUID } from 'node:crypto';
|
|
7
7
|
import { fileURLToPath } from 'node:url';
|
|
8
8
|
import { InMemoryTaskStore } from '@modelcontextprotocol/sdk/experimental/tasks/stores/in-memory.js';
|
|
@@ -17,15 +17,7 @@ import { parseServerMode } from './utils/server_mode.js';
|
|
|
17
17
|
// This is the local dev/standby-emulation server only; production runs dist/stdio.js.
|
|
18
18
|
// Default telemetry to the DEV Segment source so local tool calls never land in PROD
|
|
19
19
|
// analytics. Still overridable by an explicit TELEMETRY_ENV (e.g. PROD) in the env.
|
|
20
|
-
(_a = (
|
|
21
|
-
var TransportType;
|
|
22
|
-
(function (TransportType) {
|
|
23
|
-
TransportType["HTTP"] = "HTTP";
|
|
24
|
-
})(TransportType || (TransportType = {}));
|
|
25
|
-
var Routes;
|
|
26
|
-
(function (Routes) {
|
|
27
|
-
Routes["MCP"] = "/";
|
|
28
|
-
})(Routes || (Routes = {}));
|
|
20
|
+
(_a = (_c = process.env).TELEMETRY_ENV) !== null && _a !== void 0 ? _a : (_c.TELEMETRY_ENV = 'DEV');
|
|
29
21
|
/**
|
|
30
22
|
* Extracts the Apify API token from the incoming request.
|
|
31
23
|
*
|
|
@@ -50,7 +42,10 @@ function extractApiTokenFromRequest(req) {
|
|
|
50
42
|
return tokenFromUrl || undefined;
|
|
51
43
|
}
|
|
52
44
|
catch (error) {
|
|
53
|
-
log.softFail('Failed to parse request URL for token extraction', {
|
|
45
|
+
log.softFail('Failed to parse request URL for token extraction', {
|
|
46
|
+
url: req.url,
|
|
47
|
+
errMessage: error instanceof Error ? error.message : String(error),
|
|
48
|
+
});
|
|
54
49
|
return undefined;
|
|
55
50
|
}
|
|
56
51
|
}
|
|
@@ -106,9 +101,9 @@ export function createExpressApp() {
|
|
|
106
101
|
}
|
|
107
102
|
// express.json() middleware to parse JSON bodies, before the POST / route.
|
|
108
103
|
app.use(express.json());
|
|
109
|
-
app.post(
|
|
110
|
-
var _a, _b, _c, _d
|
|
111
|
-
var
|
|
104
|
+
app.post('/', async (req, res) => {
|
|
105
|
+
var _a, _b, _c, _d;
|
|
106
|
+
var _e;
|
|
112
107
|
log.info('Received MCP request:', req.body);
|
|
113
108
|
try {
|
|
114
109
|
// Check for existing session ID
|
|
@@ -117,18 +112,13 @@ export function createExpressApp() {
|
|
|
117
112
|
if (sessionId && transports[sessionId]) {
|
|
118
113
|
// Reuse existing transport
|
|
119
114
|
transport = transports[sessionId];
|
|
120
|
-
// Inject session ID into request params for existing sessions
|
|
121
|
-
if ((_a = req.body) === null || _a === void 0 ? void 0 : _a.params) {
|
|
122
|
-
(_b = (_g = req.body.params)._meta) !== null && _b !== void 0 ? _b : (_g._meta = {});
|
|
123
|
-
req.body.params._meta.mcpSessionId = sessionId;
|
|
124
|
-
}
|
|
125
115
|
}
|
|
126
116
|
else if (!sessionId && isInitializeRequest(req.body)) {
|
|
127
117
|
// Extract telemetry query parameters
|
|
128
118
|
const urlParams = new URL(req.url, `http://${req.headers.host}`).searchParams;
|
|
129
119
|
const telemetryEnabledParam = urlParams.get('telemetry-enabled');
|
|
130
120
|
// URL param > env var > default (true)
|
|
131
|
-
const telemetryEnabled = (
|
|
121
|
+
const telemetryEnabled = (_b = (_a = parseBooleanOrNull(telemetryEnabledParam)) !== null && _a !== void 0 ? _a : parseBooleanOrNull(process.env.TELEMETRY_ENABLED)) !== null && _b !== void 0 ? _b : true;
|
|
132
122
|
const uiParam = urlParams.get('ui');
|
|
133
123
|
const serverMode = uiParam !== null ? parseServerMode(uiParam) : parseServerMode(process.env.UI_MODE);
|
|
134
124
|
// Resolve payment provider from URL parameter (e.g., ?payment=skyfire)
|
|
@@ -180,9 +170,9 @@ export function createExpressApp() {
|
|
|
180
170
|
});
|
|
181
171
|
return;
|
|
182
172
|
}
|
|
183
|
-
// Inject session ID into request params for
|
|
184
|
-
if (((
|
|
185
|
-
(
|
|
173
|
+
// Inject session ID into request params for the reused existing session
|
|
174
|
+
if (((_c = req.body) === null || _c === void 0 ? void 0 : _c.params) && sessionId) {
|
|
175
|
+
(_d = (_e = req.body.params)._meta) !== null && _d !== void 0 ? _d : (_e._meta = {});
|
|
186
176
|
req.body.params._meta.mcpSessionId = sessionId;
|
|
187
177
|
}
|
|
188
178
|
// Handle the request with existing transport - no need to reconnect
|
|
@@ -196,7 +186,7 @@ export function createExpressApp() {
|
|
|
196
186
|
// Clients open this to receive server-initiated notifications (e.g. notifications/tasks/status)
|
|
197
187
|
// that are not tied to a specific POST request. Without this, session-level notifications
|
|
198
188
|
// are silently dropped by the transport.
|
|
199
|
-
app.get(
|
|
189
|
+
app.get('/', async (req, res) => {
|
|
200
190
|
const sessionId = req.headers['mcp-session-id'];
|
|
201
191
|
const transport = transports[sessionId || ''];
|
|
202
192
|
if (!transport) {
|
|
@@ -206,8 +196,7 @@ export function createExpressApp() {
|
|
|
206
196
|
}
|
|
207
197
|
log.info('MCP API', {
|
|
208
198
|
mth: req.method,
|
|
209
|
-
rt:
|
|
210
|
-
tr: TransportType.HTTP,
|
|
199
|
+
rt: '/',
|
|
211
200
|
mcpSessionId: sessionId,
|
|
212
201
|
});
|
|
213
202
|
try {
|
|
@@ -217,17 +206,21 @@ export function createExpressApp() {
|
|
|
217
206
|
respondWithError(res, error, 'Error handling GET SSE stream');
|
|
218
207
|
}
|
|
219
208
|
});
|
|
220
|
-
app.delete(
|
|
209
|
+
app.delete('/', async (req, res) => {
|
|
221
210
|
const sessionId = req.headers['mcp-session-id'];
|
|
222
211
|
const transport = transports[sessionId || ''];
|
|
223
212
|
if (transport) {
|
|
224
213
|
log.info('MCP API', {
|
|
225
214
|
mth: req.method,
|
|
226
|
-
rt:
|
|
227
|
-
tr: TransportType.HTTP,
|
|
215
|
+
rt: '/',
|
|
228
216
|
mcpSessionId: sessionId,
|
|
229
217
|
});
|
|
230
|
-
|
|
218
|
+
try {
|
|
219
|
+
await transport.handleRequest(req, res, req.body);
|
|
220
|
+
}
|
|
221
|
+
catch (error) {
|
|
222
|
+
respondWithError(res, error, 'Error handling DELETE request');
|
|
223
|
+
}
|
|
231
224
|
return;
|
|
232
225
|
}
|
|
233
226
|
log.softFail('Session not found', { mcpSessionId: sessionId, statusCode: 404 });
|
|
@@ -251,7 +244,7 @@ function isInitializeRequest(body) {
|
|
|
251
244
|
// --- Entry point: start the server when run directly ---
|
|
252
245
|
if (process.argv[1] === fileURLToPath(import.meta.url)) {
|
|
253
246
|
const HOST = (_b = process.env.HOST) !== null && _b !== void 0 ? _b : 'http://localhost';
|
|
254
|
-
const PORT = Number(
|
|
247
|
+
const PORT = Number(process.env.PORT) || 3001;
|
|
255
248
|
const app = createExpressApp();
|
|
256
249
|
app.listen(PORT, '127.0.0.1', () => {
|
|
257
250
|
log.info('MCP server listening', { host: HOST, port: PORT });
|
package/dist/dev_server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev_server.js","sourceRoot":"","sources":["../src/dev_server.ts"],"names":[],"mappings":"AAAA;;GAEG;;;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kEAAkE,CAAC;AACrG,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AAEnG,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,GAAG,MAAM,YAAY,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,sFAAsF;AACtF,qFAAqF;AACrF,oFAAoF;AACpF,YAAA,OAAO,CAAC,GAAG,EAAC,aAAa,uCAAb,aAAa,GAAK,KAAK,EAAC;AAEpC
|
|
1
|
+
{"version":3,"file":"dev_server.js","sourceRoot":"","sources":["../src/dev_server.ts"],"names":[],"mappings":"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"}
|