Skip to content

Commit 6a00bd6

Browse files
authored
Merge branch 'master' into smithery/config-hygh
2 parents 49beaec + b0b4952 commit 6a00bd6

File tree

16 files changed

+445
-103
lines changed

16 files changed

+445
-103
lines changed

.actor/input_schema.json

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,19 @@
1414
"lukaskrivka/google-maps-with-contact-details"
1515
]
1616
},
17+
"enableActorAutoLoading": {
18+
"title": "Enable automatic loading of Actors based on context and use-case (experimental, check if it supported by your client)",
19+
"type": "boolean",
20+
"description": "When enabled, the server can dynamically add Actors as tools based on user requests and context. \n\nNote: Not all MCP clients support this feature. To try it, you can use the [Tester MCP Client](https://apify.com/jiri.spilka/tester-mcp-client). This is an experimental feature and may require client-specific support.",
21+
"default": false
22+
},
23+
"maxActorMemoryBytes": {
24+
"title": "Limit the maximum memory used by an Actor",
25+
"type": "integer",
26+
"description": "Limit the maximum memory used by an Actor in bytes. This is important setting for Free plan users to avoid exceeding the memory limit.",
27+
"prefill": 4096,
28+
"default": 4096
29+
},
1730
"debugActor": {
1831
"title": "Debug Actor",
1932
"type": "string",
@@ -28,7 +41,7 @@
2841
"description": "Specify the input for the Actor that will be used for debugging in normal mode",
2942
"editor": "json",
3043
"prefill": {
31-
"query": "hello world"
44+
"query": "hello world"
3245
}
3346
}
3447
}

CHANGELOG.md

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

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

5+
<!-- git-cliff-unreleased-start -->
6+
## 0.1.10 - **not yet released**
7+
8+
### 🚀 Features
9+
10+
- Update README with a link to relevant blogposts ([#34](https://github.com/apify/actors-mcp-server/pull/34)) ([a7c8ea2](https://github.com/apify/actors-mcp-server/commit/a7c8ea24da243283195822d16b56f135786866f4)) by [@jirispilka](https://github.com/jirispilka)
11+
12+
### 🐛 Bug Fixes
13+
14+
- Update README.md ([#33](https://github.com/apify/actors-mcp-server/pull/33)) ([d053c63](https://github.com/apify/actors-mcp-server/commit/d053c6381939e46da7edce409a529fd1581a8143)) by [@RVCA212](https://github.com/RVCA212)
15+
16+
17+
<!-- git-cliff-unreleased-end -->
18+
## [0.1.9](https://github.com/apify/actors-mcp-server/releases/tag/v0.1.9) (2025-02-07)
19+
20+
### 🐛 Bug Fixes
21+
22+
- Stdio and SSE example, improve logging ([#32](https://github.com/apify/actors-mcp-server/pull/32)) ([1b1852c](https://github.com/apify/actors-mcp-server/commit/1b1852cdb49c5de3f8dd48a1d9abc5fd28c58b3a)) by [@jirispilka](https://github.com/jirispilka)
23+
24+
25+
## [0.1.8](https://github.com/apify/actors-mcp-server/releases/tag/v0.1.8) (2025-01-31)
26+
27+
### 🐛 Bug Fixes
28+
29+
- Actor auto loading (corret tool-&gt;Actor name conversion) ([#31](https://github.com/apify/actors-mcp-server/pull/31)) ([45073ea](https://github.com/apify/actors-mcp-server/commit/45073ea49f56784cc4e11bed84c01bcb136b2d8e)) by [@jirispilka](https://github.com/jirispilka)
30+
31+
32+
## [0.1.7](https://github.com/apify/actors-mcp-server/releases/tag/v0.1.7) (2025-01-30)
33+
34+
### 🐛 Bug Fixes
35+
36+
- Add internal tools for Actor discovery ([#28](https://github.com/apify/actors-mcp-server/pull/28)) ([193f098](https://github.com/apify/actors-mcp-server/commit/193f0983255d8170c90109d162589e62ec10e340)) by [@jirispilka](https://github.com/jirispilka)
37+
- Update README.md ([#30](https://github.com/apify/actors-mcp-server/pull/30)) ([23bb32e](https://github.com/apify/actors-mcp-server/commit/23bb32e1f2d5b10d3d557de87cb2d97b5e81921b)) by [@jirispilka](https://github.com/jirispilka)
38+
39+
540
## [0.1.6](https://github.com/apify/actors-mcp-server/releases/tag/v0.1.6) (2025-01-23)
641

742
### 🐛 Bug Fixes

README.md

Lines changed: 60 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,10 @@
66
Implementation of an MCP server for all [Apify Actors](https://apify.com/store).
77
This server enables interaction with one or more Apify Actors that can be defined in the MCP Server configuration.
88

9-
The server can be used in two ways:
10-
- 🇦 **Apify MCP Server Actor**: runs an HTTP server with MCP protocol via Server-Sent Events.
11-
-**Apify MCP Server Stdio**: provides support for the MCP protocol via standard input/output stdio.
9+
The server can be used in several ways:
10+
- **🇦 [MCP Server Actor](https://apify.com/apify/actors-mcp-server)** – HTTP server accessible via Server-Sent Events (SSE).
11+
- **⾕ MCP Server Stdio** – Local server available via standard input/output (stdio).
12+
- **💬 [Tester MCP Client](https://apify.com/jiri.spilka/tester-mcp-client)** – Chat-like UI for interacting with the MCP server.
1213

1314
# 🎯 What does Apify MCP server do?
1415

@@ -20,8 +21,15 @@ For example it can:
2021
- use [Instagram Scraper](https://apify.com/apify/instagram-scraper) to scrape Instagram posts, profiles, places, photos, and comments
2122
- use [RAG Web Browser](https://apify.com/apify/web-scraper) to search the web, scrape the top N URLs, and return their content
2223

24+
# MCP Clients
25+
26+
To interact with the Apify MCP server, you can use MCP clients such as:
27+
- [Claude Desktop](https://claude.ai/download) (only Stdio support)
28+
- [LibreChat](https://www.librechat.ai/) (stdio and SSE support (yeah without Authorization header))
29+
- [Apify Tester MCP Client](https://apify.com/jiri.spilka/tester-mcp-client) (SSE support with Authorization headers)
30+
- other clients at [https://modelcontextprotocol.io/clients](https://modelcontextprotocol.io/clients)
31+
- more clients at [https://glama.ai/mcp/clients](https://glama.ai/mcp/clients)
2332

24-
To interact with the Apify MCP server, you can use MCP clients such as [Claude Desktop](https://claude.ai/download), [LibreChat](https://www.librechat.ai/), or other [MCP clients](https://glama.ai/mcp/clients).
2533
Additionally, you can use simple example clients found in the [examples](https://github.com/apify/actor-mcp-server/tree/main/src/examples) directory.
2634

2735
When you have Actors integrated with the MCP server, you can ask:
@@ -36,25 +44,27 @@ The following image shows how the Apify MCP server interacts with the Apify plat
3644
![Actors-MCP-server](https://raw.githubusercontent.com/apify/actors-mcp-server/refs/heads/master/docs/actors-mcp-server.png)
3745

3846
In the future, we plan to load Actors dynamically and provide Apify's dataset and key-value store as resources.
39-
See the [Roadmap](#-roadmap-january-2025) for more details.
47+
See the [Roadmap](#-roadmap-march-2025) for more details.
4048

4149
# 🔄 What is the Model Context Protocol?
4250

4351
The Model Context Protocol (MCP) allows AI applications (and AI agents), such as Claude Desktop, to connect to external tools and data sources.
4452
MCP is an open protocol that enables secure, controlled interactions between AI applications, AI Agents, and local or remote resources.
4553

46-
For more information, see the [Model Context Protocol](https://modelcontextprotocol.org/) website.
54+
For more information, see the [Model Context Protocol](https://modelcontextprotocol.org/) website or blogpost [What is MCP and why does it matter?](https://blog.apify.com/what-is-model-context-protocol/).
4755

4856
# 🤖 How is Actors MCP Server related to AI Agents?
4957

5058
The Apify MCP Server exposes Apify's Actors through the MCP protocol, allowing AI Agents or frameworks that implement the MCP protocol to access all Apify Actors as tools for data extraction, web searching, and other tasks.
5159

52-
To learn more, check out the blog post: [What are AI Agents?](https://blog.apify.com/what-are-ai-agents/)
60+
To learn more, check out the blog post: [What are AI Agents?](https://blog.apify.com/what-are-ai-agents/) and Apify's [AI Agent collection](https://apify.com/store/collections/ai_agents).
5361

5462
# 🧱 Components
5563

5664
## Tools
5765

66+
### Actors
67+
5868
Any [Apify Actor](https://apify.com/store) can be used as a tool.
5969
By default, the server is pre-configured with the Actors specified below, but it can be overridden by providing Actor input.
6070

@@ -80,6 +90,20 @@ You don't need to specify the input parameters or which Actor to call, everythin
8090
When a tool is called, the arguments are automatically passed to the Actor by the LLM.
8191
You can refer to the specific Actor's documentation for a list of available arguments.
8292

93+
### Helper tools
94+
95+
The server provides a set of helper tools to discover available Actors and retrieve their details:
96+
- `get-actor-details`: Retrieves documentation, input schema, and other details about a specific Actor.
97+
- `discover-actors`: Searches for relevant Actors using keywords and returns their details.
98+
99+
There are also tools to manage the available tools list. However, dynamically adding and removing tools requires the MCP client to have the capability to manage the tools list, which is typically not supported.
100+
101+
You can try this functionality using the [Apify Tester MCP Client](https://apify.com/jiri.spilka/tester-mcp-client) Actor.
102+
To enable it, set the `enableActorAutoLoading` parameter.
103+
104+
- `add-actor-as-tool`: Adds an Actor by name to the available tools list without executing it, requiring user consent to run later.
105+
- `remove-actor-from-tool`: Removes an Actor by name from the available tools list when it's no longer needed.
106+
83107
## Prompt & Resources
84108

85109
The server does not provide any resources and prompts.
@@ -111,10 +135,13 @@ https://actors-mcp-server-task.apify.actor?token=<APIFY_TOKEN>
111135

112136
You can find a list of all available Actors in the [Apify Store](https://apify.com/store).
113137

114-
#### 💬 Interact with the MCP Server
138+
#### 💬 Interact with the MCP Server over SSE
115139

116140
Once the server is running, you can interact with Server-Sent Events (SSE) to send messages to the server and receive responses.
117-
You can use MCP clients such as [Superinference.ai](https://superinterface.ai/) or [LibreChat](https://www.librechat.ai/).
141+
The easiest way is to use [Tester MCP Client](https://apify.com/jiri.spilka/tester-mcp-client) on Apify.
142+
143+
Other clients do not support SSE yet, but this will likely change.
144+
Please verify if MCP clients such as [Superinference.ai](https://superinterface.ai/) or [LibreChat](https://www.librechat.ai/) support SSE with custom headers.
118145
([Claude Desktop](https://claude.ai/download) does not support SSE transport yet, see [Claude Desktop Configuration](#claude-desktop) section for more details).
119146

120147
In the client settings you need to provide server configuration:
@@ -171,14 +198,9 @@ Alternatively, you can use simple python [client_see.py](https://github.com/apif
171198
```
172199
173200
## ⾕ MCP Server at a local host
174-
175-
### Installing via Smithery
176-
177-
To install Apify Actors MCP Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@apify/actors-mcp-server):
178-
179-
```bash
180-
npx -y @smithery/cli install @apify/actors-mcp-server --client claude
181-
```
201+
``
202+
You can run the Apify MCP Server on your local machine by configuring it with Claude Desktop or any other [MCP clients](https://modelcontextprotocol.io/clients).
203+
You can also use [Smithery](https://smithery.ai/server/@apify/actors-mcp-server) to install the server automatically.
182204
183205
### Prerequisites
184206
@@ -189,7 +211,6 @@ npx -y @smithery/cli install @apify/actors-mcp-server --client claude
189211
190212
### Install
191213
192-
Follow the steps below to set up and run the server on your local machine:
193214
First, clone the repository using the following command:
194215
195216
```bash
@@ -272,6 +293,14 @@ To configure Claude Desktop to work with the MCP server, follow these steps. For
272293
Find and analyze instagram profile of the Rock.
273294
```
274295

296+
### Installing via Smithery
297+
298+
To install Apify Actors MCP Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@apify/actors-mcp-server):
299+
300+
```bash
301+
npx -y @smithery/cli install @apify/actors-mcp-server --client claude
302+
```
303+
275304
#### Stdio clients
276305

277306
Create environment file `.env` with the following content:
@@ -282,6 +311,7 @@ ANTHROPIC_API_KEY=your-anthropic-api-token
282311
```
283312
In the `examples` directory, you can find two clients that interact with the server via
284313
standard input/output (stdio):
314+
285315
1. [`clientStdio.ts`](https://github.com/apify/actor-mcp-server/tree/main/src/examples/clientStdio.ts)
286316
This client script starts the MCP server with two specified Actors.
287317
It then calls the `apify/rag-web-browser` tool with a query and prints the result.
@@ -314,12 +344,12 @@ ANTHROPIC_API_KEY=your-anthropic-api-key
314344
```
315345
## Local client (SSE)
316346

317-
To test the server with the SSE transport, you can use python script `examples/client_sse.py`:
347+
To test the server with the SSE transport, you can use python script `examples/clientSse.ts`:
318348
Currently, the node.js client does not support to establish a connection to remote server witch custom headers.
319349
You need to change URL to your local server URL in the script.
320350

321351
```bash
322-
python src/examples/client_sse.py
352+
node dist/examples/clientSse.js
323353
```
324354

325355
## Debugging
@@ -343,17 +373,22 @@ Upon launching, the Inspector will display a URL that you can access in your bro
343373

344374
## ⓘ Limitations and feedback
345375

346-
To limit the context size the properties in the `input schema` are pruned and description is truncated to 200 characters.
376+
To limit the context size the properties in the `input schema` are pruned and description is truncated to 500 characters.
347377
Enum fields and titles are truncated to max 50 options.
348378

349379
Memory for each Actor is limited to 4GB.
350380
Free users have an 8GB limit, 128MB needs to be allocated for running `Actors-MCP-Server`.
351381

352-
If you need other features or have any feedback, please [submit an issue](https://console.apify.com/actors/3ox4R101TgZz67sLr/issues) in Apify Console to let us know.
382+
If you need other features or have any feedback, please [submit an issue](https://console.apify.com/actors/1lSvMAaRcadrM1Vgv/issues) in Apify Console to let us know.
353383

354-
# 🚀 Roadmap (January 2025)
384+
# 🚀 Roadmap (March 2025)
355385

356-
- Document examples for [LibreChat](https://www.librechat.ai/).
357-
- Provide tools to search for Actors and load them as needed.
358386
- Add Apify's dataset and key-value store as resources.
359387
- Add tools such as Actor logs and Actor runs for debugging.
388+
389+
# References
390+
391+
- [Model Context Protocol](https://modelcontextprotocol.org/)
392+
- [What are AI Agents?](https://blog.apify.com/what-are-ai-agents/)
393+
- [What is MCP and why does it matter?](https://blog.apify.com/what-is-model-context-protocol/)
394+
- [Tester MCP Client](https://apify.com/jiri.spilka/tester-mcp-client)

docs/actors-mcp-server.png

79.9 KB
Loading

package-lock.json

Lines changed: 5 additions & 5 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 & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@apify/actors-mcp-server",
3-
"version": "0.1.6",
3+
"version": "0.1.10",
44
"type": "module",
55
"description": "Model Context Protocol Server for Apify Actors",
66
"engines": {
@@ -35,7 +35,9 @@
3535
"apify": "^3.2.6",
3636
"apify-client": "^2.11.1",
3737
"express": "^4.21.2",
38-
"minimist": "^1.2.8"
38+
"minimist": "^1.2.8",
39+
"zod": "^3.24.1",
40+
"zod-to-json-schema": "^3.24.1"
3941
},
4042
"devDependencies": {
4143
"@anthropic-ai/sdk": "^0.33.1",

0 commit comments

Comments
 (0)