Data as of

Apify MCP Server for Windsurf: Setup & Config

Windsurf: Use Apify Actors as MCP tools for web extraction and automation.

What you can do with Apify in Windsurf

Choose it when assistants need discoverable web-extraction tools backed by Apify Actors.

  • Collect social-media or search-result data through an Actor.
  • Search the web and extract page content with the RAG Web Browser Actor.

Before you start: Apify in Windsurf

  • Node.js and npx for the local launch
  • An MCP-compatible client
  • Apify API token for the documented local configuration

The command is the local stdio route. The recommended hosted alternative uses streamable HTTP at remote_url and supports OAuth. Do not append /sse; the old SSE endpoint was removed. Hosted output-schema inference is not available in local stdio mode.

Apify Windsurf configuration

  1. Choose Windsurf configuration scope

    For Apify MCP Server, open macOS/Linux: ~/.codeium/windsurf/mcp_config.json Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json. Merge into mcpServers; remote endpoints use serverUrl.

  2. Add Apify MCP Server to Windsurf

    Use the actors-mcp-server entry below in mcpServers. Keep Apify MCP Server's documented stdio connection fields and your other Windsurf entries.

  3. Check Apify MCP Server in Windsurf

    Apify MCP Server: Refresh MCP in Windsurf settings and inspect Cascade’s tools.

Config file · macOS/Linux: ~/.codeium/windsurf/mcp_config.json

Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json

JSON
{
  "mcpServers": {
    "actors-mcp-server": {
      "command": "npx",
      "args": [
        "@apify/actors-mcp-server"
      ],
      "env": {
        "APIFY_TOKEN": "<Apify API token for local access>"
      }
    }
  }
}

Apify tools available to Windsurf

Apify's stored tool list documents 19 tools; compare it with Windsurf's connected tool list, because the stored list is not a live check.

search-actors

After refreshing Apify in Windsurf settings, check Cascade's tool list for search-actors.

Find relevant Actors in Apify Store.

fetch-actor-details

After refreshing Apify in Windsurf settings, check Cascade's tool list for fetch-actor-details.

Inspect an Actor's schemas, documentation, and pricing before execution.

call-actor

After refreshing Apify in Windsurf settings, check Cascade's tool list for call-actor.

get-actor-run

After refreshing Apify in Windsurf settings, check Cascade's tool list for get-actor-run.

get-dataset-items

After refreshing Apify in Windsurf settings, check Cascade's tool list for get-dataset-items.

get-key-value-store-record

After refreshing Apify in Windsurf settings, check Cascade's tool list for get-key-value-store-record.

abort-actor-run

After refreshing Apify in Windsurf settings, check Cascade's tool list for abort-actor-run.

Stop an Actor execution, optionally using graceful cancellation.

search-apify-docs

After refreshing Apify in Windsurf settings, check Cascade's tool list for search-apify-docs.

Locate relevant pages in Apify's documentation.

fetch-apify-docs

After refreshing Apify in Windsurf settings, check Cascade's tool list for fetch-apify-docs.

Load an Apify documentation page from its URL.

apify--rag-web-browser

After refreshing Apify in Windsurf settings, check Cascade's tool list for apify--rag-web-browser.

Search and browse web sources through the RAG Web Browser Actor.

get-actor-run-list

After refreshing Apify in Windsurf settings, check Cascade's tool list for get-actor-run-list.

get-actor-log

After refreshing Apify in Windsurf settings, check Cascade's tool list for get-actor-log.

get-dataset

After refreshing Apify in Windsurf settings, check Cascade's tool list for get-dataset.

get-dataset-schema

After refreshing Apify in Windsurf settings, check Cascade's tool list for get-dataset-schema.

get-key-value-store

After refreshing Apify in Windsurf settings, check Cascade's tool list for get-key-value-store.

get-key-value-store-keys

After refreshing Apify in Windsurf settings, check Cascade's tool list for get-key-value-store-keys.

Enumerate keys in a selected store.

get-dataset-list

After refreshing Apify in Windsurf settings, check Cascade's tool list for get-dataset-list.

List datasets available to the user.

get-key-value-store-list

After refreshing Apify in Windsurf settings, check Cascade's tool list for get-key-value-store-list.

List the user's available key-value stores.

add-actor

After refreshing Apify in Windsurf settings, check Cascade's tool list for add-actor.

Experimentally register an Actor as another callable tool.

Apify: full stored tool descriptions

Troubleshooting Apify in Windsurf

  • Check npx @apify/actors-mcp-server (Node.js/npm) on the machine running Windsurf's MCP integration for Apify MCP Server; refresh MCP and inspect Cascade's tools.
  • Check APIFY_TOKEN for Apify MCP Server; do not bypass a Windsurf permission error with a broad administrator token.
  • Apify MCP Server uses stdio here: Windsurf must keep the configured process running; protocol output belongs on stdout and diagnostics on stderr.
  • Known limitation: Local stdio lacks some hosted features.
  • Known limitation: Client support for dynamic tool discovery varies.
  • Known limitation: Paid Actor execution needs an account token or a supported funded payment flow.
  • General Windsurf troubleshooting lives in the /clients/windsurf guide.

Apify MCP Server — details. Windsurf guide

Frequently asked questions

Windsurf reads Apify MCP Server under mcpServers in ~/.codeium/windsurf/mcp_config.json on macOS/Linux; Windows uses %USERPROFILE%\.codeium\windsurf\mcp_config.json.

Windsurf's actors-mcp-server example uses stdio.

Apify MCP Server's Windsurf configuration invokes npx @apify/actors-mcp-server (Node.js/npm).

Windsurf's Apify MCP Server example references APIFY_TOKEN. Check these names if startup or authentication fails; the example alone does not distinguish required from optional values.

Apify MCP Server's stored list contains 19 tools, including search-actors, fetch-actor-details, call-actor. Compare those names with Windsurf's connected tool list; the stored list is not a live check.

Yes. Search and detail helpers support dynamic discovery, although client support varies.

No. The README documents separate x402 and Skyfire payment flows that can fund runs without one.