> ## Documentation Index
> Fetch the complete documentation index at: https://docs.darkfunnels.ai/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> DarkFunnels is a WhatsApp AI sales-agent platform used mainly in Peru and Latin America. The product interface and most of this documentation are in Spanish; the /en tree is the English mirror.
> A business connects the WhatsApp number it already uses by scanning a QR code from the dashboard, the same linked-device mechanism as WhatsApp Web. It does not go through the Meta Cloud API (WhatsApp Business Platform), so there is no application to get approved and no message templates to submit. DarkFunnels is not a Meta product and is not affiliated with Meta.
> DarkFunnels also publishes a remote MCP server at https://mcp.darkfunnels.ai/mcp so an assistant such as Claude, ChatGPT or Codex can operate the workspace on the owner's behalf. The tool reference is at /referencia/tools and the connection parameters at /referencia/url-de-conexion.
> The dashboard is https://optimind.darkfunnels.ai, the marketing site is https://darkfunnels.ai and the page written for AI agents is https://darkfunnels.ai/agents.

# MCP setup for Cursor, VS Code and others

> Add the DarkFunnels MCP connector to Cursor, VS Code, Gemini CLI, Windsurf or Zed: one URL, one config file, and the three fields that change between clients.

DarkFunnels speaks standard MCP, so it works in any client that supports it. It
is always the same URL:

```
https://mcp.darkfunnels.ai/mcp?features=all
```

Nothing to register, no access to request: on connecting, the client discovers
on its own how to authorize you and opens your browser. Sign in with **the same
account you use for the dashboard**.

## Cursor

Edit `~/.cursor/mcp.json` (global) or `.cursor/mcp.json` (that project only):

```json theme={null}
{
  "mcpServers": {
    "DarkFunnels": {
      "url": "https://mcp.darkfunnels.ai/mcp?features=all"
    }
  }
}
```

Cursor opens the browser the first time only, then stores the session.

## VS Code

Edit `.vscode/mcp.json` in your project, or the one in your user profile:

```json theme={null}
{
  "servers": {
    "DarkFunnels": {
      "type": "http",
      "url": "https://mcp.darkfunnels.ai/mcp?features=all"
    }
  }
}
```

<Warning>
  VS Code is where people get it wrong most, over two details:

  * The root key above is **`servers`**, not `mcpServers` as in Cursor. With the
    wrong key VS Code **ignores the entire file and says nothing**.
  * **`"type": "http"`** is required. Without it the remote connection never comes
    up.
</Warning>

## Gemini CLI

Edit `~/.gemini/settings.json`, or the project's `.gemini/settings.json`. Watch
the field name: here the URL goes in **`httpUrl`**, not `url`:

```json theme={null}
{
  "mcpServers": {
    "DarkFunnels": {
      "httpUrl": "https://mcp.darkfunnels.ai/mcp?features=all"
    }
  }
}
```

Gemini CLI discovers the authorization on its own and stores the token in
`~/.gemini/mcp-oauth-tokens.json`, refreshing it when it expires.

## Any other client

Windsurf, Zed, Claude Desktop and the rest follow the same pattern. The only
things that change between them are three details, and they are worth checking
in your client's own docs before fighting the file:

1. **What the root key is called** — `mcpServers` in almost all of them,
   `servers` in VS Code.
2. **What the URL field is called** — `url` in almost all of them, `httpUrl` in
   Gemini CLI.
3. **Whether a type has to be declared** — `"type": "http"` in VS Code.

## If your client runs out of room for tools

Some clients cap how many tools the model can hold at once — Windsurf around
100, VS Code 128 — counting **all** your servers together. DarkFunnels ships 45
with `?features=all`, so if you already have several connectors you may fall
short.

The fix is to ask only for what you are going to use. The list **replaces** the
base set rather than extending it:

```
https://mcp.darkfunnels.ai/mcp?features=conversations,orders
```

The groups are in the [tool reference](/en/reference/tools). And if you want to
look without being able to touch anything:

```
https://mcp.darkfunnels.ai/mcp?read_only=true
```

## Headless (no human present)

Not today. Connecting requires a person to authorize in a browser with their
account, so an agent running on its own — a cron job, a worker, OpenAI's Agents
SDK or Claude's Agent SDK — cannot connect by itself.

We are working on agent keys for that. In the meantime, if you need to automate
something with no human present, write to us and we'll look at it case by case.

<Note>
  If your client can't see your business, or sees it empty, it is almost always
  the same thing: you authorized with **a different account** and are connected to
  another workspace. Ask your assistant "which account are you connected to?" and,
  if it isn't the right one, remove the connector and connect it again.
</Note>
