apify/apify-mcp-server

▲ 207 stars today★ 10,998⑂ 328

The Apify MCP server enables your AI agents to extract data from social media, search engines, maps, e-commerce sites, or any other website using thousands of ready-made scrapers, crawlers

About apify/apify-mcp-server

apify/apify-mcp-server is an open-source project on GitHub, mainly written in TypeScript. The Apify MCP server enables your AI agents to extract data from social media, search engines, maps, e-commerce sites It currently holds 10,998 stars and 328 forks with 0 open issues, and was last pushed on an unknown date (repository created unknown).

Project Overview

AI Homed tracks it on the Today's Trending board, currently at rank #19 with 207 new stars today.

GitHub Repository Details

Repository apify/apify-mcp-server · default branch - · size 0 KB · watchers 0 · source: GitHub REST API and repository README

README

https://github.com/apify/apify-mcp-server/blob/HEAD/Apify MCP Server
mcp.apify.com

https://github.com/apify/apify-mcp-server/blob/HEAD/NPM latest version https://github.com/apify/apify-mcp-server/blob/HEAD/Downloads https://github.com/apify/apify-mcp-server/blob/HEAD/Build Status https://github.com/apify/apify-mcp-server/blob/HEAD/smithery badge

The Apify Model Context Protocol (MCP) server at mcp.apify.com enables 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 from Apify Store. It supports OAuth, allowing you to connect from clients like Claude.ai or Visual Studio Code using just the URL.

🚀 Use the hosted Apify MCP Server!
> For the best experience, connect your AI assistant to our hosted server at https://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. The https://mcp.apify.com/sse endpoint has been removed in favor of Streamable HTTP. Migrate your client to https://mcp.apify.com — drop the /sse suffix from your configuration.

💰 The server also supports agentic payments: buy a token from AGI to run any Actor, or pay per-request via direct x402 (Pay Per Event Actors only) or Skyfire.

Apify MCP Server is compatible with Claude Code, Claude.ai, Cursor, VS Code and any client that adheres to the Model Context Protocol. Check out the MCP clients section for more details or visit the MCP configuration page.

Apify-MCP-server

Table of Contents

🌐 Introducing Apify MCP Server

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

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

Apify MCP Server Tutorial: Integrate 5,000+ Apify Actors and Agents with Claude

🚀 Quickstart

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 the Authorization: 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 like Claude.ai or Visual Studio Code using just the URL: https://mcp.apify.com.

Standard Input/Output (stdio): Ideal for local integrations and command-line tools like the Claude for Desktop client. You can find detailed instructions for setting up the MCP server in the Apify documentation.

🤖 MCP clients

Apify MCP Server is compatible with any MCP client that adheres to the Model 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 as Claude Desktop, Visual Studio Code, or Apify Tester MCP Client.

Visit mcp.apify.com to configure the server for your preferred client.

Apify-MCP-configuration-clients

Tested clients

🪄 Try Apify MCP instantly

Want to try Apify MCP without any setup?

Check out Apify Tester MCP Client

This interactive, chat-like interface provides an easy way to explore the capabilities of Apify MCP without any local setup. Sign in with your Apify account and start experimenting with web scraping, data extraction, and automation tools!

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

💰 Agentic payments

You can pay for Actor runs without an Apify API token using AGI, direct x402, or Skyfire.

ℹ️ 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.

How agentic payments work

Actor run costs vary, so both payment methods use a prepaid balance model. The payment flow happens in four steps:

1. Discovery: The agent discovers Actors with search-actors or fetch-actor-details. Those calls are free. 2. Prepayment: Before running a paid Actor tool, the agent funds a prepaid balance.

3. Execution: The agent calls the Actor tool. 4. Resolution: The tool returns the Actor results. Unused funds stay available for later runs.

🪙 AGI (recommended)

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 against mcp.apify.com and api.apify.com (Authorization: Bearer ) — for any Actor.

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

💸 Direct x402

The x402 protocol enables direct, machine-to-machine payments. Your MCP client can use it to pay for Actor runs with USDC on the Base blockchain, completely bypassing the need for an Apify API token.

Prerequisites

Setup

Create or import a wallet:

# Create a new wallet
mcpc x402 init

Import an existing wallet

mcpc x402 import

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

You can now call a paid tool:

mcpc @apify tools-call call-actor actor:="apify/rag-web-browser" input:='{"query": "latest AI news"}'

🔥 Skyfire

Skyfire provides 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.

Prerequisites

Setup

Configure the Skyfire MCP server and the Apify MCP Server in your client. Add payment=skyfire to 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 the Skyfire integration documentation for setup details. The Agentic Payments with Skyfire post provides additional background.

🛠️ Tools, resources, and prompts

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.

Actors

Any Apify Actor can be used as a tool. By default, the server is pre-configured with two Actors, apify/rag-web-browser and apify/web-fetch, 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 the apify/rag-web-browser Actor, 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.

Helper tools

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:

Overview of available tools

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

Legend for the Enabled by default column:

| Tool name | Category | Description | Enabled by default | | :--- | :--- | :--- | :---: | | search-actors | actors | Search for Actors in Apify Store. | ✅ | | fetch-actor-details | actors | Retrieve detailed information about a specific Actor, including its input schema, README (summary when available, full otherwise), pricing, and Actor output schema. | ✅ | | call-actor | actors | Call an Actor and get its run results. Use fetch-actor-details first to get the Actor's input schema. | ✅ | | get-actor-run | runs | Get detailed information about a specific Actor run. | ⚡ | | get-dataset-items | storage | Retrieve items from a dataset with support for filtering and pagination. | ⚡ | | get-key-value-store-record| storage | Get the value associated with a specific key in a key-value store. | ⚡ | | abort-actor-run | runs | Abort a running Actor run, optionally gracefully. | ⚡ | | delete-actor | none (select by name: tools=delete-actor) | Delete an Actor from your account permanently. Public Actors must be unpublished first. | | | search-apify-docs | docs | Search the Apify documentation for relevant pages. | ✅ | | fetch-apify-docs | docs | Fetch the full content of an Apify documentation page by its URL. | ✅ | | apify--rag-web-browser | Actor (see tool configuration) | An Actor tool to browse the web. | ✅ | | apify--web-fetch | Actor (see tool configuration) | An Actor tool to fetch a URL and return its content. | ✅ | | report-problem | dev | Report a problem with an Apify tool or Actor to the Apify team. | ✅¹ | | get-actor-list | none (select by name: tools=get-actor-list) | List the Actors you own and those shared with you, including private ones. | | | get-actor-run-list | runs | Get a list of Actor runs, filterable by Actor and status. | | | get-actor-run-log | runs | Retrieve the logs for a specific Actor run. | | | get-dataset | storage | Get metadata about a specific dataset. | | | get-dataset-schema | storage | Generate a JSON schema from dataset items. | | | get-key-value-store | storage | Get metadata about a specific key-value store. | | | get-key-value-store-keys| storage | List the keys within a specific key-value store. | | | get-dataset-list | storage | List all available datasets for the user. | | | get-key-value-store-list| storage | List all available key-value stores for the user. | | | create-actor-task | tasks | Create a saved Actor task (a named, reusable Actor configuration). | | | get-actor-task | tasks | Get a saved Actor task, its publication state and public display configuration. | | | update-actor-task | tasks | Update a task's input, run options, or public display configuration. | | | publish-actor-task | tasks | Publish a task on its public landing page. | | | unpublish-actor-task | tasks | Unpublish a task from its public landing page. | | | create-schedule | schedules | Create a schedule that runs Actors or tasks on a cron cadence. | | | get-schedule | schedules | Get a schedule, its cron expression, state, and the actions it runs. | | | update-schedule | schedules | Update a schedule: cron expression, time zone, enabled state, or actions. | | | delete-schedule | schedules | Delete a schedule. | | | get-actor-build | builds | Get an Actor build's status. | | | get-actor-build-log | builds | Retrieve the logs for a specific Actor build. | | | get-actor-build-list | builds | List the account's builds, or one Actor's, in every status, newest first. | | | build-actor | builds | Build an Actor version and wait a bounded time for the build to finish. | | | get-actor-version | source | Get an Actor version's file listing with hashes and the content of the files you ask for. | | | apify-api-search | api | Search the Apify API reference for operations by keywords. Returns each one's method, path, and docs page. | | | apify-api-details | api | Get the parameters and request body schema of the Apify API operations on a path. | | | apify-api-read | api | Send a GET request to an Apify API path, such as actor-runs or /v2/actor-runs, like apify api in the Apify CLI. Read-only: it refuses the method query parameter and a GET to the synchronous run endpoints, which starts a paid run. | | | apify-api-write | none (select by name: tools=apify-api-write) | Send a POST, PUT, PATCH, or DELETE request to any Apify API path, with a JSON body, like apify api in the Apify CLI. It refuses the method query parameter. | |

Note:
> When call-actor, an Actor tool, or get-actor-run is present, the server auto-injects get-actor-run, get-dataset-items, get-key-value-store-record, and abort-actor-run.
> When you call an Actor — through call-actor or directly via an Actor tool (e.g., apify--rag-web-browser) — the response contains run metadata, storage IDs, and a summary + nextStep, but no dataset items. To fetch items, follow nextStep and call get-dataset-items (auto-injected), passing the datasetId returned from the call.

Tool annotations

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

Tools configuration

The tools configuration parameter is used to specify loaded tools – either categories or specific tools directly, and Apify Actors. For example, tools=storage,runs loads two categories; tools=call-actor loads just one tool.

When no query parameters are provided, the MCP server loads the following tools by default:

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

report-problem is served by default (subject to the gating in the footnote above) but lives in the dev category, so an explicit tools=dev selects it too. To disable it, pass an explicit tools= list that omits it (e.g. tools=actors,docs).

Easy configuration:
> Use the UI configurator to configure your server, then copy the configuration to your client.

Configuring the hosted server:

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,apify/web-fetch

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.

Configuring the CLI:

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,apify/web-fetch

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-

GitHub Stars & Activity

10,998Stars
328Forks
0Open issues
TypeScriptLanguage

GitHub Popularity

GitHub stars10,998
Forks328
Open issues0
Primary languageTypeScript
License-
Stars gained today207
Created-
Last pushed-

Trending History

Daily boardrank #19 · ▲ 207 stars

Related AI Projects

1

morluto / rea

TypeScript★ 201,703⑂ 49,253▲ 54,706 stars
→
2

heygen-com / hyperframes

TypeScript★ 62,586⑂ 5,610▲ 831 stars
→
3

Crosstalk-Solutions / project-nomad

TypeScript★ 39,878⑂ 4,007▲ 179 stars
→
4

tashfeenahmed / freellmapi

TypeScript★ 34,596⑂ 4,719▲ 786 stars
→
5

vercel-labs / skills

TypeScript★ 34,361⑂ 2,944▲ 187 stars
→
6

rohitg00 / agentmemory

TypeScript★ 29,387⑂ 2,588▲ 49 stars
→
7

mksglu / context-mode

TypeScript★ 28,065⑂ 1,987▲ 978 stars
→
8

krillinai / OpenCreator

TypeScript★ 12,897⑂ 1,371▲ 134 stars
→

More AI Rankings