Apify MCP Server

Find and run Apify Store scrapers and crawlers, and manage Actors, runs and data on the Apify platform

Official · Apify TypeScript Remote (hosted) · Streamable HTTPLocal · stdio Browser automationWeb searchCloud platforms

105 popularity score ★ 15k ↓ 40k/wk

Connect your client

Remote (hosted)

Add in one click

Opens the app, which asks before it adds the server.

Or add it by command or config

Claude Codeterminal
claude mcp add apify "https://mcp.apify.com" -t http
Claude (desktop and web)Settings → Connectors → Add custom connector
https://mcp.apify.com/
ChatGPTSettings → Apps → Advanced → Developer mode, then Create app
https://mcp.apify.com/
Cursor~/.cursor/mcp.json
{
  "mcpServers": {
    "apify": {
      "url": "https://mcp.apify.com/"
    }
  }
}
VS CodeMCP configuration (mcp.json)
{
  "servers": {
    "apify": {
      "type": "http",
      "url": "https://mcp.apify.com"
    }
  }
}
Codex~/.codex/config.toml
[mcp_servers.apify]
url = "https://mcp.apify.com/"
Local (npm)

Add in one click

Opens the app, which asks before it adds the server. Then replace each <NAME> in its settings with your value.

Or add it by command or config

It needs APIFY_TOKEN. Replace each <NAME> with your value.

Claude CodeTerminal
claude mcp add apify -e APIFY_TOKEN=<APIFY_TOKEN> -- npx -y @apify/actors-mcp-server
Claude Desktopclaude_desktop_config.json
{
  "mcpServers": {
    "apify": {
      "command": "npx",
      "args": [
        "-y",
        "@apify/actors-mcp-server"
      ],
      "env": {
        "APIFY_TOKEN": "<APIFY_TOKEN>"
      }
    }
  }
}
Cursor~/.cursor/mcp.json
{
  "mcpServers": {
    "apify": {
      "command": "npx",
      "args": [
        "-y",
        "@apify/actors-mcp-server"
      ],
      "env": {
        "APIFY_TOKEN": "<APIFY_TOKEN>"
      }
    }
  }
}
VS Code.vscode/mcp.json
{
  "servers": {
    "apify": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@apify/actors-mcp-server"
      ],
      "env": {
        "APIFY_TOKEN": "<APIFY_TOKEN>"
      }
    }
  }
}
Codex~/.codex/config.toml
[mcp_servers.apify]
command = "npx"
args = ["-y", "@apify/actors-mcp-server"]

[mcp_servers.apify.env]
APIFY_TOKEN = "<APIFY_TOKEN>"
Gemini CLITerminal
gemini mcp add --scope user -e APIFY_TOKEN=<APIFY_TOKEN> apify npx -- -y @apify/actors-mcp-server

Settings 5

APIFY_TOKEN secret Required: Your Apify API token; the server falls back to ~/.apify/auth.json and exits without either unless only public tools are selected.
TOOLS Optional: Comma-separated tool groups, tool names or Actors to load, same as --tools; without it the default set loads.
ACTORS Optional: Comma-separated Actor names to add as tools (older form, merged into TOOLS).
TELEMETRY_ENABLED Optional: Set to false to stop tool-call telemetry and Sentry error reports. Default true.
UI_MODE Optional: true forces MCP Apps widget responses, false the standard tools; auto decides from the client. Default auto.

What it does

This server turns Actors from Apify Store into tools an assistant can call. Actors are ready-made scrapers and automations, say for Google Maps or Amazon. The server reads an Actor's input schema and builds a tool from it, so the assistant knows which arguments to send. Calling an Actor hands back the run status and storage IDs, not the scraped items. The assistant then pulls the items with get-dataset-items, paging with limit and offset.

Out of the box you get the actors and docs groups. The actors group covers Store search, Actor details and running an Actor, two tools for Actors that are MCP servers themselves, and send-server-actor-request, which sends one HTTP request to a Server Actor's API. On top of that come the Apify docs search and fetch, Web Search and Web Fetch as Actor tools, and four run and storage tools that join whenever call-actor or an Actor tool is loaded. report-problem sits in its own dev group in the code. The README says it is served by default only with telemetry on and a client whose name has none of claude, anthropic and local-agent-mode in it. More groups are opt-in through the tools URL parameter or the --tools flag: runs, storage, tasks, schedules, builds, versions and api. get-actor-list and delete-actor sit in no group and only load when named.

Counting src/tools/registry.ts at the published release gives 45 helper tools. With the two default Actor tools that makes 47, and there are four widget tools on top for MCP Apps clients. Only the search-actors and fetch-actor-details widgets get added on their own when UI mode is on.

Apify recommends the hosted endpoint at https://mcp.apify.com (Streamable HTTP, OAuth or an Authorization: Bearer header). Locally it runs over stdio with npx @apify/actors-mcp-server. Either way the Actors run on Apify's cloud and are billed to the account. The README also describes an experimental route without an account: AGI sells a prepaid, spend-capped Apify token paid for with x402, MPP or Skyfire.

What it needs

To run it yourselfNode.js 22+
Runs onmacOS, Windows, Linux
ApifyFree tierActor runs use Apify platform credit (the free plan includes $5 a month); paid Actors and larger runs cost money.

The local server takes an Apify API token from APIFY_TOKEN, or from ~/.apify/auth.json left by the Apify CLI login; it exits at start without one unless only public tools such as docs are selected. It also exits on Node.js older than 22 (src/stdio.ts). On the hosted endpoint, OAuth clients sign in through the browser; others send Authorization: Bearer <APIFY_TOKEN>.

Limits

  • Cost Each Actor run bills to your Apify account at that Actor's own price. callOptions maxTotalChargeUsd or maxItems on call-actor caps it.
  • Rate limit The hosted endpoint accepts up to 20 requests per second per account.
  • Not covered search-actors only finds free and pay-per-event Actors that pass Apify's agent-safety filters, so rental and pay-per-result Actors are hidden.
  • Limit Full-permission Actors need a one-time approval. Until then call-actor returns an error with an approval link.
  • Limit The default tool set may change between versions; Apify advises naming tools explicitly for production use.
  • Limit tools=source, add-actor, experimental, preview and get-actor-log are retired selectors and load no tools.
  • Limit call-actor no longer takes the actorName:toolName form. A selection naming call-actor alone needs call-actor-mcp-tool added for MCP server Actors.
  • Not covered Registers no prompts, so prompts/list comes back empty.
  • Size cap resources/read inlines responses up to 256 KB.
  • Early release Paying per run through AGI with x402, MPP or Skyfire is marked experimental.

Who it suits

Suits developers who want an assistant to pull data from websites through existing Apify scrapers, or to manage their own Apify Actors, builds, versions, tasks, schedules and storage. The hosted endpoint needs nothing installed and signs in with OAuth. The local stdio server needs Node.js 22 and an Apify token. It is official and can change and delete things on the account (Actor versions, schedules, Actors, raw API writes), so give it a narrow tools list where that matters. Since runs cost Apify credit, it suits less well someone who only needs to fetch an occasional page for free.

Tools 45 of 47

26 only read, 14 change things, 5 can delete or overwrite.

search-actors
Search Apify Store for Actors.
fetch-actor-details
Get an Actor's input schema, README and pricing, with the output schema on request.
call-actor changes
Run an Actor and return the run's status and storage IDs.
fetch-actor-mcp-tool-list
List the tools of an Actor that runs its own MCP server.
call-actor-mcp-tool changes
Call one tool on an Actor's MCP server and return the result.
send-server-actor-request changes
Send one HTTP request to a Server Actor's API and return the response.
get-actor-run
Get the details of one Actor run.
get-dataset-items
Read dataset items with filters and paging.
get-key-value-store-record
Read the value stored under one key in a key-value store.
abort-actor-run changes
Stop a running Actor run, optionally gracefully.
search-apify-docs
Search the Apify and Crawlee documentation.
fetch-apify-docs
Fetch a whole documentation page by URL.
report-problem changes
Send a problem report about a tool or Actor to Apify.
get-actor-list
List your own and shared Actors; loads only when named.
delete-actor deletes
Permanently delete one of your Actors; loads only when named.
get-actor-run-list
List Actor runs, filtered by Actor and status.
get-actor-run-log
Read the log of an Actor run.
get-dataset
Get a dataset's metadata.
get-dataset-schema
Infer a JSON schema from a dataset's items.
get-dataset-list
List the account's datasets.
get-key-value-store
Get a key-value store's metadata.
get-key-value-store-keys
List the keys in a key-value store.
get-key-value-store-list
List the account's key-value stores.
create-actor-task changes
Save a named, reusable Actor configuration as a task.
get-actor-task
Get a task with its publication state and display settings.
update-actor-task changes
Change a task's input, run options or public display settings.
publish-actor-task changes
Put a task on its public landing page.
unpublish-actor-task changes
Take a task off its public landing page.
create-schedule changes
Create a cron schedule that runs Actors or tasks.
get-schedule
Get a schedule's cron expression, state and actions.
update-schedule changes
Change a schedule's cron, time zone, state or actions.
delete-schedule deletes
Delete a schedule.
build-actor changes
Start a build of an Actor version and wait a limited time for it.
get-actor-build
Get the status of an Actor build.
get-actor-build-list
List builds for the account or one Actor, newest first.
get-actor-build-log
Read the log of an Actor build.
get-actor-version
List an Actor version's files with hashes and return chosen file contents.
create-actor changes
Create a private Actor from files, optionally starting a build.
update-actor-version deletes
Write, edit or delete a version's files in a single all-or-nothing change.
create-actor-version changes
Add a version to an Actor from files or by copying another version.
delete-actor-version deletes
Delete an Actor version; its builds and their tags are kept.
apify-api-search
Find Apify API operations by keyword, with method, path and docs page.
apify-api-details
Show the parameters and body schema of the API operations on a path.
apify-api-read
Send a GET request to an Apify API path; refuses paid synchronous run endpoints.
apify-api-write deletes
Send a POST, PUT, PATCH or DELETE request with a JSON body to an Apify API path.

Similar servers