Apify

by apify

Not rated
GitHub

About

Official Apify MCP server for AI agents to run Actors, extract website data, and automate web scraping and crawling workflows.

Details

Author
apify
Categories
Web Scraping

Setup

Install Apify in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/apify/apify-mcp-server

Follow the installation instructions in the repository README, then restart your MCP client.

- Search Apify Store— Ask your assistant to find Actors by keyword usingsearch-actorsand get detailed info like input schemas and pricing viafetch-actor-details.
- Run any Actor— Have your assistant callcall-actorto execute scrapers like Google Maps or Instagram, then retrieve results withget-dataset-items.
- Manage Actor runs— Monitor and control executions by listing runs withget-actor-run-list, fetching logs viaget-actor-log, or aborting withabort-actor-run.
- Access Apify storage— Retrieve dataset items with filtering and pagination usingget-dataset-items, or fetch key-value store records viaget-key-value-store-record.
- Create and manage tasks— Save reusable Actor configurations withcreate-actor-task, update them viaupdate-actor-task, and publish public landing pages usingpublish-actor-task.
- Search Apify documentation— Ask your assistant to look up platform docs withsearch-apify-docsand fetch full pages viafetch-apify-docsfor context.

The Apify Model Context Protocol (MCP) server atmcp.apify.comenables your AI agents to extract data from social media, search engines, maps, e-commerce sites, and any other website using thousands of ready-made scrapers, crawlers, and automation tools fromApify Store. It supports OAuth, allowing you to connect from clients like Claude.ai or Visual Studio Code using just the URL.

For the best experience, connect your AI assistant to our hosted server athttps://mcp.apify.com. The hosted server supports the latest features - including output schema inference for structured Actor results - that are not available when running locally via stdio.

⚠️Legacy SSE transport removed.Thehttps://mcp.apify.com/sseendpoint has been removed in favor of Streamable HTTP. Migrate your client tohttps://mcp.apify.com— drop the/ssesuffix from your configuration.

💰 The server also supportsagentic payments: buy a token fromAGIto run any Actor, or pay per-request viadirect x402(Pay Per Event Actors only) orSkyfire.

Apify MCP Server is compatible withClaude Code, Claude.ai, Cursor, VS Codeand any client that adheres to the Model Context Protocol. Check out theMCP clients sectionfor more details or visit theMCP configuration page.

- 🌐 Introducing Apify MCP Server
-
🚀 Quickstart
-
🤖 MCP clients
-
🪄 Try Apify MCP instantly
-
💰 Agentic payments

- How agentic payments work
-
🪙 AGI (recommended)
-
💸 Direct x402
-
🔥 Skyfire

The Apify MCP Server allows an AI assistant to use anyApify Actoras a tool to perform a specific task. For example, it can:

- UseFacebook Posts Scraperto extract data from Facebook posts from multiple pages/profiles.
- Use
Google Maps Email Extractorto extract contact details from Google Maps.
- Use
Google Search Results Scraperto scrape Google Search Engine Results Pages (SERPs).
- Use
Instagram Scraperto scrape Instagram posts, profiles, places, photos, and comments.
- Use
RAG Web Browserto search the web, scrape the top N URLs, and return their content.

Video tutorial: Integrate 8,000+ Apify Actors and Agents with Claude

You can use the Apify MCP Server in two ways:

HTTPS Endpoint (mcp.apify.com): Connect from your MCP client via OAuth or by including theAuthorization: Bearer <APIFY_TOKEN>header in your requests. This is the recommended method for most use cases. Because it supports OAuth, you can connect from clients likeClaude.aiorVisual Studio Codeusing just the URL:https://mcp.apify.com.

- https://mcp.apify.comstreamable transport

Standard Input/Output (stdio): Ideal for local integrations and command-line tools like the Claude for Desktop client.

- Set the MCP client server command tonpx @apify/actors-mcp-serverand theAPIFY_TOKENenvironment variable to your Apify API token.
- Seenpx @apify/actors-mcp-server --helpfor more options.

You can find detailed instructions for setting up the MCP server in theApify documentation.

Apify MCP Server is compatible with any MCP client that adheres to theModel Context Protocol, but the level of support for dynamic tool discovery and other features may vary between clients.

To interact with the Apify MCP Server, you can use clients such asClaude Desktop,Visual Studio Code, orApify Tester MCP Client.

Visitmcp.apify.comto configure the server for your preferred client.

- Claude Desktop
- Claude.ai (web)
-
ChatGPT
- VS Code (Genie)
- Cursor
- OpenCode
-
Kiro
-
Apify Tester MCP Client— designed for testing Apify MCP servers

Want to try Apify MCP without any setup?

Or use the MCP bundle file (formerly known as Anthropic Desktop extension file, or DXT) for one-click installation:Apify MCP Server MCPB file

You can pay for Actor runs without an Apify API token usingAGI,direct x402, orSkyfire.

- AGI(agi.apify.com) mints a prepaid Apify API token in exchange for an x402 or MPP payment. Use the token like a normal API token againstmcp.apify.comandapi.apify.com— works for any Actor, not just Pay Per Event ones.Recommendedfor new integrations; seeAGI (recommended)below.
- Direct x402pays with USDC on
Baseper request and does not require a separate platform account. It is fully supported bymcpc(brew install apify/tap/mcpcornpm install -g @apify/mcpc). We usemcpcbecause it is one of the few MCP clients that supports the latest features and the x402 protocol natively.
- Skyfirepays with PAY tokens and requires a Skyfire account with a funded wallet. It does not require a special MCP client; the entire payment flow is handled directly through the MCP tool call parameters.

ℹ️Scope:Both direct x402 and Skyfire are limited to Pay Per Event Actors, don't support Standby Actors, and settle per run instead of minting a token.

Actor run costs vary, so both payment methods use a prepaid balance model. The payment flow happens in four steps:
- Discovery: The agent discovers Actors withsearch-actorsorfetch-actor-details. Those calls are free.
- Prepayment: Before running a paid Actor tool, the agent funds a prepaid balance.

- Direct x402:mcpcautomatically signs a $1.00 USDC transaction.
- Skyfire: The agent creates a PAY token (minimum $5.00) using Skyfire'screate-pay-tokentool.

- Direct x402: Handled automatically bymcpcusing the prepaid balance.
- Skyfire: The agent explicitly passes the PAY token in theskyfire-pay-idinput property.

- Direct x402: After 60 minutes of inactivity, the server refunds any unused balance to the wallet onBase.
- Skyfire: Skyfire returns unused funds when the token expires.

AGI(Apify Agent General Interface) is the recommended way for autonomous agents to pay for Apify usage without an account. Pay once via x402 or MPP, receive a prepaid, spend-capped Apify API token, and use it directly againstmcp.apify.comandapi.apify.com(Authorization: Bearer <token>) — for any Actor.

Full protocol, supported payment methods, and current terms (minimum amount, token lifetime, refund policy) are documented atagi.apify.com/AGENTS.md— treat it as the single source of truth.

Thex402 protocolenables direct, machine-to-machine payments. Your MCP client can use it to pay for Actor runs with USDC on theBase blockchain, completely bypassing the need for an Apify API token.

# Create a new wallet mcpc x402 init # Import an existing wallet mcpc x402 import <private-key> # Show the wallet address and a funding QR code, so you can fund it with USDC on Base (https://base.org) mcpc x402

Connect to the server with x402 enabled:

mcpc connect "mcp.apify.com?payment=x402" @apify --x402
mcpc @apify tools-call call-actor actor:="apify/rag-web-browser" input:='{"query": "latest AI news"}'

Skyfireprovides managed payment infrastructure for AI agents. Instead of authenticating with an Apify API token, your agent passes a Skyfire payment token to cover the cost of each tool call using PAY tokens.

- ASkyfire accountwith a funded wallet.
- An MCP client that supports multiple servers, such as Claude Desktop, OpenCode, or VS Code.

Configure the Skyfire MCP server and the Apify MCP Server in your client. Addpayment=skyfireto the Apify server URL:

{ "mcpServers": { "skyfire": { "url": "https://api.skyfire.xyz/mcp/sse", "headers": { "skyfire-api-key": "<YOUR_SKYFIRE_API_KEY>" } }, "apify": { "url": "https://mcp.apify.com?payment=skyfire" } } }

See theSkyfire integration documentationfor setup details. TheAgentic Payments with Skyfirepost provides additional background.

The MCP server provides a set of tools for interacting with Apify Actors. Since Apify Store is large and growing rapidly, the MCP server provides a way to dynamically discover and use new Actors.

AnyApify Actorcan be used as a tool. By default, the server is pre-configured with one Actor,apify/rag-web-browser, and several helper tools. The MCP server loads an Actor's input schema and creates a corresponding MCP tool. This allows the AI agent to know exactly what arguments to pass to the Actor and what to expect in return.

For example, for theapify/rag-web-browserActor, the input parameters are:

{ "query": "restaurants in San Francisco", "maxResults": 3 }

You don't need to manually specify which Actor to call or its input parameters; the LLM handles this automatically. When a tool is called, the arguments are automatically passed to the Actor by the LLM. You can refer to the specific Actor's documentation for a list of available arguments.

One of the most powerful features of using MCP with Apify is dynamic tool discovery. It allows an AI agent to find new tools (Actors) as needed and incorporate them. Here are some special MCP operations and how the Apify MCP Server supports them:

- Apify Actors: Search for Actors, view their details, and use them as tools for the AI.
- Apify documentation: Search the Apify documentation and fetch specific documents to provide context to the AI.
- Actor runs: Get lists of your Actor runs, inspect their details, and retrieve logs.
- Apify storage: Access data from your datasets and key-value stores.
- Actor tasks: Create, inspect, and update your saved Actor tasks, and publish or unpublish their public landing pages.

Here is an overview list of all the tools provided by the Apify MCP Server.

Legend for theEnabled by defaultcolumn:

- ✅ — in the default tool set.
- ⚡ — auto-injected whencall-actor, an Actor tool, orget-actor-runis present (which is true in the default configuration).
- ✅¹ — served by default, but only when telemetry is enabled and the client is not withheld: Anthropic surfaces (Claude.ai / Claude Desktop / Claude Code) orlocal-agent-mode-apify. To disable, pass an explicittools=list that omits it.

Whencall-actor, an Actor tool, orget-actor-runis present, the server auto-injectsget-actor-run,get-dataset-items,get-key-value-store-record, andabort-actor-run.

When you call an Actor — throughcall-actoror directly via an Actor tool (e.g.,apify--rag-web-browser) — the response contains run metadata, storage IDs, and asummary+nextStep, but no dataset items. To fetch items, follownextStepand callget-dataset-items(auto-injected), passing thedatasetIdreturned from the call.

All tools include metadata annotations to help MCP clients and LLMs understand tool behavior:

- title: Short display name for the tool (e.g., "Search Actors", "Call Actor", "apify/rag-web-browser")
- readOnlyHint:truefor tools that only read data without modifying state (e.g.,get-dataset,fetch-actor-details)
- openWorldHint:truefor tools that access external resources outside the Apify platform (e.g.,call-actorexecutes external Actors). Tools that interact only with the Apify platform (likesearch-actorsorfetch-apify-docs) do not have this hint.

Thetoolsconfiguration parameter is used to specify loaded tools – either categories or specific tools directly, and Apify Actors. For example,tools=storage,runsloads two categories;tools=call-actorloads just one tool.

When no query parameters are provided, the MCP server loads the followingtoolsby default:

If the tools parameter is specified, only the listed tools or categories will be enabled – no default tools will be included.

report-problemis served by default (subject to the gating in the footnote above) but lives in thedevcategory, so an explicittools=devselects it too. To disable it, pass an explicittools=list that omits it (e.g.tools=actors,docs).

Use theUI configuratorto configure your server, then copy the configuration to your client.

The hosted server can be configured using query parameters in the URL. For example, to load the default tools, use:

https://mcp.apify.com?tools=actors,docs,apify/rag-web-browser

For minimal configuration, if you want to use only a single Actor tool - without any discovery or generic calling tools, the server can be configured as follows:

https://mcp.apify.com?tools=apify/my-actor

This setup exposes only the specified Actor (apify/my-actor) as a tool. No other tools will be available.

The CLI can be configured using command-line flags. For example, to load the same tools as in the hosted server configuration, use:

npx @apify/actors-mcp-server --tools actors,docs,apify/rag-web-browser

The minimal configuration is similar to the hosted server configuration:

npx @apify/actors-mcp-server --tools apify/my-actor

As above, this exposes only the specified Actor (apify/my-actor) as a tool. No other tools will be available.

The default tools configuration may change in future versions.When notoolsparameter is specified, the server currently loads default tools, but this behavior is subject to change.

For production use and stable interfaces, always explicitly specify thetoolsparameterto ensure your configuration remains consistent across updates.

Theuiparameter enablesMCP Appswidget rendering in tool responses. When enabled, tools likesearch-actorsreturn interactive MCP App responses.

Enable UI mode using theuiquery parameter:

You can combine it with other parameters:

https://mcp.apify.com?tools=actors,docs&ui=true

The CLI can be configured using command-line flags. For example, to enable UI mode:

You can also set it via theUI_MODEenvironment variable:

export UI_MODE=true npx @apify/actors-mcp-server
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.