Skip to content

Commit 3547521

Browse files
authored
feat: Add video tutorial into the Actor README. Simplify README (#175)
feat: add video tutorial into the README and simplify it
1 parent 14b675e commit 3547521

File tree

1 file changed

+35
-118
lines changed

1 file changed

+35
-118
lines changed

.actor/ACTOR.md

Lines changed: 35 additions & 118 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
# Apify Model Context Protocol (MCP) Server
22

3-
> **⚠️ Legacy solution notice**
4-
> This Actor is legacy implementation of the Apify MCP Server. For the current and actively maintained solution, please visit **[mcp.apify.com](https://mcp.apify.com)** where you'll find the latest server, comprehensive documentation, and setup guides.
3+
> **💾 Legacy**
4+
> This Actor is a legacy implementation of the Apify MCP Server. For the current and actively maintained solution, please visit **[mcp.apify.com](https://mcp.apify.com)** where you'll find the latest server, comprehensive documentation, and setup guides.
55
66
[![Actors MCP Server](https://apify.com/actor-badge?actor=apify/actors-mcp-server)](https://apify.com/apify/actors-mcp-server)
77

88
Implementation of an MCP server for all [Apify Actors](https://apify.com/store).
99
This server enables interaction with one or more Apify Actors that can be defined in the MCP Server configuration.
1010

1111
The server can be used in two ways:
12-
- **🇦 [MCP Server Actor](https://apify.com/apify/actors-mcp-server)** – HTTP server accessible via Server-Sent Events (SSE), see [guide](#-mcp-server-actor)
12+
- **🇦 [MCP Server Actor](https://apify.com/apify/actors-mcp-server)** – HTTP server accessible via http-streamable transport, see [guide](#-remote-mcp-server)
1313
- **⾕ MCP Server Stdio** – Local server available via standard input/output (stdio), see [guide](#-mcp-server-at-a-local-host)
1414

1515
You can also interact with the MCP server using a chat-like UI with 💬 [Tester MCP Client](https://apify.com/jiri.spilka/tester-mcp-client)
@@ -24,13 +24,17 @@ For example, it can:
2424
- Use [Instagram Scraper](https://apify.com/apify/instagram-scraper) to scrape Instagram posts, profiles, places, photos, and comments
2525
- Use [RAG Web Browser](https://apify.com/apify/web-scraper) to search the web, scrape the top N URLs, and return their content
2626

27+
Learn about the key features and capabilities in the **Apify MCP Server Tutorial: Integrate 5,000+ Apify Actors and Agents Into Claude** video
28+
29+
[Apify MCP Server Tutorial: Integrate 5,000+ Apify Actors and Agents Into Claude](https://www.youtube.com/watch?v=BKu8H91uCTg)
30+
2731
# MCP Clients
2832

2933
To interact with the Apify MCP server, you can use MCP clients such as:
30-
- [Claude Desktop](https://claude.ai/download) (only Stdio support)
31-
- [Visual Studio Code](https://code.visualstudio.com/) (Stdio and SSE support)
32-
- [LibreChat](https://www.librechat.ai/) (Stdio and SSE support, yet without Authorization header)
33-
- [Apify Tester MCP Client](https://apify.com/jiri.spilka/tester-mcp-client) (SSE support with Authorization headers)
34+
- [Claude Desktop](https://claude.ai/download)
35+
- [Visual Studio Code](https://code.visualstudio.com/)
36+
- [LibreChat](https://www.librechat.ai/)
37+
- [Apify Tester MCP Client](https://apify.com/jiri.spilka/tester-mcp-client)
3438
- Other clients at [https://modelcontextprotocol.io/clients](https://modelcontextprotocol.io/clients)
3539
- More clients at [https://glama.ai/mcp/clients](https://glama.ai/mcp/clients)
3640

@@ -45,8 +49,7 @@ The following image shows how the Apify MCP server interacts with the Apify plat
4549

4650
![Actors-MCP-server](https://raw.githubusercontent.com/apify/actors-mcp-server/refs/heads/master/docs/actors-mcp-server.png)
4751

48-
With the MCP Tester client you can load Actors dynamically but this is not yet supported by other MCP clients.
49-
We also plan to add more features, see [Roadmap](#-roadmap-march-2025) for more details.
52+
With the MCP Tester client you can load Actors dynamically but this might not be supported by other MCP clients.
5053

5154
# 🔄 What is the Model Context Protocol?
5255

@@ -68,32 +71,24 @@ Interested in building and monetizing your own AI agent on Apify? Check out our
6871

6972
### Actors
7073
Any [Apify Actor](https://apify.com/store) can be used as a tool.
71-
By default, the server is pre-configured with the Actors specified below, but this can be overridden by providing the `?actors` URL query parameter.
72-
73-
```text
74-
'apify/rag-web-browser'
75-
```
76-
For example, to additionally load the `apify/instagram-scraper` Actor, you can start the server with the following URL:
74+
By default, the server is pre-configured with the `apify/rag-web-browser` Actor, but this can be overridden by providing the `actors` URL query parameter.
75+
For example, to load both `apify/rag-web-browser` and `apify/instagram-scraper`, start the server with the following URL:
7776
```text
7877
https://actors-mcp-server.apify.actor?token=<APIFY_TOKEN>&actors=apify/rag-web-browser,apify/instagram-scraper
7978
```
8079

81-
The MCP server loads the Actor input schema and creates MCP tools corresponding to the Actors.
82-
See this example of input schema for the [RAG Web Browser](https://apify.com/apify/rag-web-browser/input-schema).
80+
The MCP server automatically loads the input schema for each Actor to create corresponding MCP tools.
81+
See this example of an input schema for the [RAG Web Browser](https://apify.com/apify/rag-web-browser/input-schema).
8382

84-
The tool name must always be the full Actor name, such as `apify/rag-web-browser`.
85-
The arguments for an MCP tool represent the input parameters of the Actor.
86-
For example, for the `apify/rag-web-browser` Actor, the arguments are:
83+
The tool name is always the full Actor name (e.g., `apify/rag-web-browser`), and its arguments correspond to the Actor's input parameters. For instance:
8784

8885
```json
8986
{
9087
"query": "restaurants in San Francisco",
9188
"maxResults": 3
9289
}
9390
```
94-
You don't need to specify the input parameters or which Actor to call; everything is managed by an LLM.
95-
When a tool is called, the arguments are automatically passed to the Actor by the LLM.
96-
You can refer to the specific Actor's documentation for a list of available arguments.
91+
You don't need to specify which Actor to call or what its input parameters are; the LLM handles this automatically. To understand an Actor's full capabilities, you can find the complete list of arguments in its documentation.
9792

9893
### Helper tools
9994
One of the powerful features of MCP with Apify is dynamic actor tooling – the ability for an AI agent to find new tools (Actors) as needed and incorporate them. Here are some special MCP operations and how Apify MCP Server supports them:
@@ -114,43 +109,41 @@ We plan to add [Apify's dataset](https://docs.apify.com/platform/storage/dataset
114109
The Apify MCP Server can be used in two ways: **as an Apify Actor** running on the Apify platform
115110
or as a **local server** running on your machine.
116111

117-
## 🇦 MCP Server Actor
112+
## 🇦 Remote MCP Server
118113

119-
### Standby web server
114+
The MCP server is an Apify Actor that runs in [**Standby mode**](https://docs.apify.com/platform/actors/running/standby) with an HTTP web server that receives and processes requests.
120115

121-
The Actor runs in [**Standby mode**](https://docs.apify.com/platform/actors/running/standby) with an HTTP web server that receives and processes requests.
122-
123-
To start the server with default Actors, send an HTTP GET request with your [Apify API token](https://console.apify.com/settings/integrations) to the following URL:
116+
To use the server with default set of Actors, add your [Apify API token](https://console.apify.com/settings/integrations) to the following URL:
124117
```
125118
https://actors-mcp-server.apify.actor?token=<APIFY_TOKEN>
126119
```
127-
It is also possible to start the MCP server with a different set of Actors.
120+
121+
It is also possible to use the MCP server with a different set of Actors.
128122
To do this, create a [task](https://docs.apify.com/platform/actors/running/tasks) and specify the list of Actors you want to use.
129123

130-
Then, run the task in Standby mode with the selected Actors:
131-
```shell
124+
```text
132125
https://USERNAME--actors-mcp-server-task.apify.actor?token=<APIFY_TOKEN>
133126
```
134127

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

137-
#### 💬 Interact with the MCP Server over SSE
130+
#### 💬 Interact with the MCP Server over HTTP-Streamable transport
138131

139-
Once the server is running, you can interact with Server-Sent Events (SSE) to send messages to the server and receive responses.
132+
Once the server is running, you can interact with it using http-streamable transport.
140133
The easiest way is to use [Tester MCP Client](https://apify.com/jiri.spilka/tester-mcp-client) on Apify.
141134

142-
[Claude Desktop](https://claude.ai/download) currently lacks SSE support, but you can use it with Stdio transport; see [MCP Server at a local host](#-mcp-server-at-a-local-host) for more details.
135+
[Claude Desktop](https://claude.ai/download) does not support remote MCP servers. To use it, you must run the server locally. See the [local host guide](#-mcp-server-at-a-local-host) for setup instructions.
143136
Note: The free version of Claude Desktop may experience intermittent connection issues with the server.
144137

145138
In the client settings, you need to provide server configuration:
146139
```json
147140
{
148141
"mcpServers": {
149142
"apify": {
150-
"type": "sse",
151-
"url": "https://actors-mcp-server.apify.actor/sse",
152-
"env": {
153-
"APIFY_TOKEN": "your-apify-token"
143+
"type": "http",
144+
"url": "https://actors-mcp-server.apify.actor",
145+
"headers": {
146+
"Authorization": "Bearer your-apify-token"
154147
}
155148
}
156149
}
@@ -160,7 +153,6 @@ In the client settings, you need to provide server configuration:
160153
## ⾕ MCP Server at a local host
161154

162155
You can run the Apify MCP Server on your local machine by configuring it with Claude Desktop or any other [MCP client](https://modelcontextprotocol.io/clients).
163-
You can also use [Smithery](https://smithery.ai/server/@apify/actors-mcp-server) to install the server automatically.
164156

165157
### Prerequisites
166158

@@ -248,8 +240,6 @@ For one-click installation, click one of the install buttons below:
248240

249241
##### Manual installation
250242

251-
You can manually install the Apify MCP Server in VS Code. First, click one of the install buttons at the top of this section for a one-click installation.
252-
253243
Alternatively, add the following JSON block to your User Settings (JSON) file in VS Code. You can do this by pressing `Ctrl + Shift + P` and typing `Preferences: Open User Settings (JSON)`.
254244

255245
```json
@@ -297,64 +287,7 @@ If you want to specify which Actors to load, you can add the `--actors` argument
297287
}
298288
```
299289

300-
#### VS Code
301-
302-
For one-click installation, click one of the install buttons below:
303-
304-
[![Install with NPX in VS Code](https://img.shields.io/badge/VS_Code-NPM-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=actors-mcp-server&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40apify%2Factors-mcp-server%22%5D%2C%22env%22%3A%7B%22APIFY_TOKEN%22%3A%22%24%7Binput%3Aapify_token%7D%22%7D%7D&inputs=%5B%7B%22type%22%3A%22promptString%22%2C%22id%22%3A%22apify_token%22%2C%22description%22%3A%22Apify+API+Token%22%2C%22password%22%3Atrue%7D%5D) [![Install with NPX in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-NPM-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=actors-mcp-server&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40apify%2Factors-mcp-server%22%5D%2C%22env%22%3A%7B%22APIFY_TOKEN%22%3A%22%24%7Binput%3Aapify_token%7D%22%7D%7D&inputs=%5B%7B%22type%22%3A%22promptString%22%2C%22id%22%3A%22apify_token%22%2C%22description%22%3A%22Apify+API+Token%22%2C%22password%22%3Atrue%7D%5D&quality=insiders)
305-
306-
##### Manual installation
307-
308-
You can manually install the Apify MCP Server in VS Code. First, click one of the install buttons at the top of this section for a one-click installation.
309-
310-
Alternatively, add the following JSON block to your User Settings (JSON) file in VS Code. You can do this by pressing `Ctrl + Shift + P` and typing `Preferences: Open User Settings (JSON)`.
311-
312-
```json
313-
{
314-
"mcp": {
315-
"inputs": [
316-
{
317-
"type": "promptString",
318-
"id": "apify_token",
319-
"description": "Apify API Token",
320-
"password": true
321-
}
322-
],
323-
"servers": {
324-
"actors-mcp-server": {
325-
"command": "npx",
326-
"args": ["-y", "@apify/actors-mcp-server"],
327-
"env": {
328-
"APIFY_TOKEN": "${input:apify_token}"
329-
}
330-
}
331-
}
332-
}
333-
}
334-
```
335-
336-
Optionally, you can add it to a file called `.vscode/mcp.json` in your workspace - just omit the top-level `mcp {}` key. This will allow you to share the configuration with others.
337-
338-
If you want to specify which Actors to load, you can add the `--actors` argument:
339-
340-
```json
341-
{
342-
"servers": {
343-
"actors-mcp-server": {
344-
"command": "npx",
345-
"args": [
346-
"-y", "@apify/actors-mcp-server",
347-
"--actors", "lukaskrivka/google-maps-with-contact-details,apify/instagram-scraper"
348-
],
349-
"env": {
350-
"APIFY_TOKEN": "${input:apify_token}"
351-
}
352-
}
353-
}
354-
}
355-
```
356-
357-
#### Debugging NPM package @apify/actors-mcp-server with @modelcontextprotocol/inspector
290+
#### Debugging the installed NPM package
358291

359292
To debug the server, use the [MCP Inspector](https://github.com/modelcontextprotocol/inspector) tool:
360293

@@ -381,17 +314,7 @@ Build the actor-mcp-server package:
381314
npm run build
382315
```
383316

384-
## Local client (SSE)
385-
386-
To test the server with the SSE transport, you can use the script `examples/clientSse.ts`:
387-
Currently, the Node.js client does not support establishing a connection to a remote server with custom headers.
388-
You need to change the URL to your local server URL in the script.
389-
390-
```bash
391-
node dist/examples/clientSse.js
392-
```
393-
394-
## Debugging
317+
## Debugging from source
395318

396319
Since MCP servers operate over standard input/output (stdio), debugging can be challenging.
397320
For the best debugging experience, use the [MCP Inspector](https://github.com/modelcontextprotocol/inspector).
@@ -407,7 +330,7 @@ Upon launching, the Inspector will display a URL that you can access in your bro
407330

408331
## ⓘ Limitations and feedback
409332

410-
The Actor input schema is processed to be compatible with most MCP clients while adhering to [JSON Schema](https://json-schema.org/) standards. The processing includes:
333+
To ensure compatibility with various MCP clients, the Actor input schema is automatically processed while adhering to [JSON Schema](https://json-schema.org/) standards. Key adjustments include:
411334
- **Descriptions** are truncated to 500 characters (as defined in `MAX_DESCRIPTION_LENGTH`).
412335
- **Enum fields** are truncated to a maximum combined length of 200 characters for all elements (as defined in `ACTOR_ENUM_MAX_LENGTH`).
413336
- **Required fields** are explicitly marked with a "REQUIRED" prefix in their descriptions for compatibility with frameworks that may not handle JSON schema properly.
@@ -420,11 +343,6 @@ Free users have an 8GB limit, 128MB needs to be allocated for running `Actors-MC
420343

421344
If you need other features or have any feedback, [submit an issue](https://console.apify.com/actors/1lSvMAaRcadrM1Vgv/issues) in Apify Console to let us know.
422345

423-
# 🚀 Roadmap (March 2025)
424-
425-
- Add Apify's dataset and key-value store as resources.
426-
- Add tools such as Actor logs and Actor runs for debugging.
427-
428346
# 🐛 Troubleshooting
429347

430348
- Make sure you have the `node` installed by running `node -v`
@@ -438,6 +356,5 @@ If you need other features or have any feedback, [submit an issue](https://conso
438356
- [What is MCP and why does it matter?](https://blog.apify.com/what-is-model-context-protocol/)
439357
- [How to use MCP with Apify Actors](https://blog.apify.com/how-to-use-mcp/)
440358
- [Tester MCP Client](https://apify.com/jiri.spilka/tester-mcp-client)
441-
- [AI agent workflow: building an agent to query Apify datasets](https://blog.apify.com/ai-agent-workflow/)
442-
- [MCP Client development guide](https://github.com/cyanheads/model-context-protocol-resources/blob/main/guides/mcp-client-development-guide.md)
443359
- [How to build and monetize an AI agent on Apify](https://blog.apify.com/how-to-build-an-ai-agent/)
360+
- [Apify MCP Server Tutorial: Integrate 5,000+ Apify Actors and Agents Into Claude](https://www.youtube.com/watch?v=BKu8H91uCTg&ab_channel=Apify)

0 commit comments

Comments
 (0)