You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* add default tools stdio test
* run unit only by default, add more stdio tests, fix concurrency in actor server tests
* vibe unit tests
* fix default tool loading for Actors MCP server, more integration tests
* organize tests
* add streamable Actor server tests, improve consistency with real setup
* decouple actor mcp server helper funcs and actors mcp server main MCPServer class creation
* add tests readme
* rename streamable client
* unify default tools loading
* feat: add help tool (#111)
* add help tool
* Update src/tools/helpers.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* fix: move tool text into a constant
* fix: helpTool text
* Update src/tools/helpers.ts
Co-authored-by: Jiří Spilka <jiri.spilka@apify.com>
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Jiri Spilka <jirka.spilka@gmail.com>
Co-authored-by: Jiří Spilka <jiri.spilka@apify.com>
* removed createActorMCPServer wrapper - using ActorsMCPServer class directly, removed duplicate tools.actor tests and renamed actor.test.ts, removed old TODOs
* use single http server insteance for each describe clock and reset state
for each state to fix MaxListenersExceededWarning
* Update src/mcp/server.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* fix: actor -> Actor
* refactor tests and create a shared test suite
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Jiri Spilka <jirka.spilka@gmail.com>
Co-authored-by: Jiří Spilka <jiri.spilka@apify.com>
Note: "MCP" stands for "Model Context Protocol". The user can use the "RAG Web Browser" tool to get the content of the links mentioned in this help and present it to the user.
15
+
16
+
This MCP server can be used in the following ways:
17
+
- Locally over "STDIO".
18
+
- Remotely over "SSE" or streamable "HTTP" transport with the "Actors MCP Server Apify Actor".
19
+
- Remotely over "SSE" or streamable "HTTP" transport with "https://mcp.apify.com".
20
+
21
+
# Usage
22
+
## Locally over "STDIO"
23
+
1. The user should install the "@apify/actors-mcp-server" NPM package.
24
+
2. The user should configure the MCP client to use the MCP server. Refer to "https://github.com/apify/actors-mcp-server" or the MCP client documentation for more details (the user can specify which MCP client is being used).
25
+
The user needs to set the following environment variables:
26
+
- "APIFY_TOKEN": Apify token to authenticate with the MCP server.
27
+
If the user wants to load an Actor outside the default ones, the user needs to pass it as a CLI argument:
28
+
- "--actors <actor1,actor2,...>" // comma-separated list of Actor names, for example, "apify/rag-web-browser,apify/instagram-scraper".
29
+
If the user wants to enable the dynamic addition of Actors to the MCP server, the user needs to pass the following CLI argument:
30
+
- "--enable-adding-actors".
31
+
32
+
## Remotely over "SSE" or streamable "HTTP" transport with "Actors MCP Server Apify Actor"
33
+
1. The user should configure the MCP client to use the "Actors MCP Server Apify Actor" with:
34
+
- "SSE" transport URL: "https://actors-mcp-server.apify.actor/sse".
35
+
- Streamable "HTTP" transport URL: "https://actors-mcp-server.apify.actor/mcp".
36
+
2. The user needs to pass an "APIFY_TOKEN" as a URL query parameter "?token=<APIFY_TOKEN>" or set the following headers: "Authorization: Bearer <APIFY_TOKEN>".
37
+
If the user wants to load an Actor outside the default ones, the user needs to pass it as a URL query parameter:
38
+
- "?actors=<actor1,actor2,...>" // comma-separated list of Actor names, for example, "apify/rag-web-browser,apify/instagram-scraper".
39
+
If the user wants to enable the addition of Actors to the MCP server dynamically, the user needs to pass the following URL query parameter:
40
+
- "?enable-adding-actors=true".
41
+
42
+
## Remotely over "SSE" or streamable "HTTP" transport with "https://mcp.apify.com"
43
+
1. The user should configure the MCP client to use "https://mcp.apify.com" with:
44
+
- "SSE" transport URL: "https://mcp.apify.com/sse".
45
+
- Streamable "HTTP" transport URL: "https://mcp.apify.com/".
46
+
2. The user needs to pass an "APIFY_TOKEN" as a URL query parameter "?token=<APIFY_TOKEN>" or set the following headers: "Authorization: Bearer <APIFY_TOKEN>".
47
+
If the user wants to load an Actor outside the default ones, the user needs to pass it as a URL query parameter:
48
+
- "?actors=<actor1,actor2,...>" // comma-separated list of Actor names, for example, "apify/rag-web-browser,apify/instagram-scraper".
49
+
If the user wants to enable the addition of Actors to the MCP server dynamically, the user needs to pass the following URL query parameter:
50
+
- "?enable-adding-actors=true".
51
+
52
+
# Features
53
+
## Dynamic adding of Actors
54
+
THIS FEATURE MAY NOT BE SUPPORTED BY ALL MCP CLIENTS. THE USER MUST ENSURE THAT THE CLIENT SUPPORTS IT!
55
+
To enable this feature, see the usage section. Once dynamic adding is enabled, tools will be added that allow the user to add or remove Actors from the MCP server.
56
+
Tools related:
57
+
- "add-actor".
58
+
- "remove-actor".
59
+
If the user is using these tools and it seems like the tools have been added but cannot be called, the issue may be that the client does not support dynamic adding of Actors.
60
+
In that case, the user should check the MCP client documentation to see if the client supports this feature.
61
+
`;
62
+
11
63
exportconstAddToolArgsSchema=z.object({
12
64
actorName: z.string()
13
65
.describe('Add a tool, Actor or MCP-Server to available tools by Actor ID or tool full name.'
0 commit comments