Skip to content

Commit 693de47

Browse files
committed
Merge remote-tracking branch 'origin/master' into fix/mcp-timeout
2 parents 4591042 + f026fbb commit 693de47

35 files changed

+896
-195
lines changed

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,20 @@
22

33
All notable changes to this project will be documented in this file.
44

5+
## [0.4.10](https://github.com/apify/apify-mcp-server/releases/tag/v0.4.10) (2025-09-15)
6+
7+
### 🚀 Features
8+
9+
- Add dev get html skeleton tool ([#273](https://github.com/apify/apify-mcp-server/pull/273)) ([29f5cbd](https://github.com/apify/apify-mcp-server/commit/29f5cbd5720462c96fec9c101a813abea5611333)) by [@MQ37](https://github.com/MQ37)
10+
11+
12+
## [0.4.9](https://github.com/apify/apify-mcp-server/releases/tag/v0.4.9) (2025-09-12)
13+
14+
### 🚀 Features
15+
16+
- Agentic payments v2 ([#266](https://github.com/apify/apify-mcp-server/pull/266)) ([2733d4e](https://github.com/apify/apify-mcp-server/commit/2733d4e798a10532430238fd78ffbb69d08dd2c1)) by [@MQ37](https://github.com/MQ37), closes [#263](https://github.com/apify/apify-mcp-server/issues/263)
17+
18+
519
## [0.4.7](https://github.com/apify/apify-mcp-server/releases/tag/v0.4.7) (2025-09-09)
620

721
### 🚀 Features

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -313,6 +313,9 @@ To create a canary release, add the `beta` tag to your PR branch.
313313
This publishes the package to [pkg.pr.new](https://pkg.pr.new/) for staging and testing before merging.
314314
See [the workflow file](.github/workflows/pre_release.yaml) for details.
315315

316+
## 🐋 Docker Hub integration
317+
The Apify MCP Server is also available on [Docker Hub](https://hub.docker.com/mcp/server/apify-mcp-server/overview), registered via the [mcp-registry](https://github.com/docker/mcp-registry) repository. The entry in `servers/apify-mcp-server/server.yaml` should be deployed automatically by the Docker Hub MCP registry (deployment frequency is unknown). **Before making major changes to the `stdio` server version, be sure to test it locally to ensure the Docker build passes.** To test, change the `source.branch` to your PR branch and run `task build -- apify-mcp-server`. For more details, see [CONTRIBUTING.md](https://github.com/docker/mcp-registry/blob/main/CONTRIBUTING.md).
318+
316319
# 🐛 Troubleshooting (local MCP server)
317320

318321
- Make sure you have `node` installed by running `node -v`.

manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"dxt_version": "0.1",
33
"name": "Apify",
4-
"version": "0.4.7",
4+
"version": "0.4.10",
55
"description": "Extract data from any website using thousands of tools from the Apify Store.",
66
"long_description": "Apify is the world's largest marketplace of tools for web scraping, data extraction, and web automation. You can extract structured data from social media, e-commerce, search engines, maps, travel sites, or any other website.",
77
"keywords": [

package-lock.json

Lines changed: 168 additions & 19 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@apify/actors-mcp-server",
3-
"version": "0.4.7",
3+
"version": "0.4.10",
44
"type": "module",
55
"description": "Apify MCP Server",
66
"engines": {
@@ -38,11 +38,13 @@
3838
"@apify/datastructures": "^2.0.3",
3939
"@apify/log": "^2.5.16",
4040
"@modelcontextprotocol/sdk": "^1.17.4",
41+
"@types/cheerio": "^0.22.35",
4142
"@types/turndown": "^5.0.5",
4243
"ajv": "^8.17.1",
4344
"algoliasearch": "^5.31.0",
4445
"apify": "^3.4.2",
4546
"apify-client": "^2.12.6",
47+
"cheerio": "^1.1.2",
4648
"express": "^4.21.2",
4749
"to-json-schema": "^0.2.5",
4850
"turndown": "^7.2.0",
@@ -71,6 +73,7 @@
7173
"start": "npm run start:dev",
7274
"start:prod": "node dist/main.js",
7375
"start:dev": "tsx src/main.ts",
76+
"start:standby": "APIFY_META_ORIGIN=STANDBY npm run start",
7477
"lint": "eslint .",
7578
"lint:fix": "eslint . --fix",
7679
"build": "tsc -b src",

src/actor/server.ts

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import express from 'express';
1111

1212
import log from '@apify/log';
1313

14+
import { ApifyClient } from '../apify-client.js';
1415
import { ActorsMcpServer } from '../mcp/server.js';
1516
import { getHelpMessage, HEADER_READINESS_PROBE, Routes, TransportType } from './const.js';
1617
import { getActorRunData } from './utils.js';
@@ -69,13 +70,14 @@ export function createExpressApp(
6970
rt: Routes.SSE,
7071
tr: TransportType.SSE,
7172
});
72-
const mcpServer = new ActorsMcpServer(false);
73+
const mcpServer = new ActorsMcpServer({ setupSigintHandler: false });
7374
const transport = new SSEServerTransport(Routes.MESSAGE, res);
7475

7576
// Load MCP server tools
7677
const apifyToken = process.env.APIFY_TOKEN as string;
7778
log.debug('Loading tools from URL', { sessionId: transport.sessionId, tr: TransportType.SSE });
78-
await mcpServer.loadToolsFromUrl(req.url, apifyToken);
79+
const apifyClient = new ApifyClient({ token: apifyToken });
80+
await mcpServer.loadToolsFromUrl(req.url, apifyClient);
7981

8082
transportsSSE[transport.sessionId] = transport;
8183
mcpServers[transport.sessionId] = mcpServer;
@@ -152,12 +154,13 @@ export function createExpressApp(
152154
sessionIdGenerator: () => randomUUID(),
153155
enableJsonResponse: false, // Use SSE response mode
154156
});
155-
const mcpServer = new ActorsMcpServer(false);
157+
const mcpServer = new ActorsMcpServer({ setupSigintHandler: false });
156158

157159
// Load MCP server tools
158160
const apifyToken = process.env.APIFY_TOKEN as string;
159161
log.debug('Loading tools from URL', { sessionId: transport.sessionId, tr: TransportType.HTTP });
160-
await mcpServer.loadToolsFromUrl(req.url, apifyToken);
162+
const apifyClient = new ApifyClient({ token: apifyToken });
163+
await mcpServer.loadToolsFromUrl(req.url, apifyClient);
161164

162165
// Connect the transport to the MCP server BEFORE handling the request
163166
await mcpServer.connect(transport);

0 commit comments

Comments
 (0)