{
  "markdown": "# DarkFunnels — MCP server\n\nA hosted, multi-tenant **MCP server** that lets your assistant operate a\nWhatsApp AI sales agent: audit real conversations and find where sales are\nlost, edit the versioned sales playbook with undo, manage the product catalog,\nand read orders, stock and metrics — all scoped to your own account.\n\nThis repository is the public front door: the server itself is closed source.\n\n## Read the documentation first — no account needed\n\n- Public docs MCP server (no auth): `https://docs.darkfunnels.ai/mcp` — search\n  every page and browse a read-only virtual filesystem of the documentation.\n  Registry entry: `ai.darkfunnels/docs`.\n- Skill file: <https://docs.darkfunnels.ai/skill.md> — `npx skills add https://docs.darkfunnels.ai`.\n- Plain text: <https://docs.darkfunnels.ai/llms.txt> and\n  <https://docs.darkfunnels.ai/llms-full.txt>; append `.md` to any docs URL.\n\n## Connect\n\n```\nhttps://mcp.darkfunnels.ai/mcp?features=all\n```\n\n- **Transport:** Streamable HTTP, stateless. No SSE; `GET`/`DELETE` on `/mcp`\n  answer `405`.\n- **Auth:** OAuth 2.1 with dynamic client registration. Nothing to request from\n  us and no waiting list — any DarkFunnels account can connect.\n- **Discovery:** `https://mcp.darkfunnels.ai/.well-known/oauth-protected-resource/mcp`\n  (RFC 9728). An unauthenticated call answers `401` with a\n  `WWW-Authenticate: Bearer resource_metadata=…` header, which is what makes a\n  compliant client start the flow on its own.\n\nAuthorize with the **same account you use for the dashboard**. Authorizing with\na different one connects successfully to that other, probably empty, workspace —\nif your assistant says you have no products, check that first. The `whoami` tool\nanswers which account is connected.\n\n## What it is for\n\nDarkFunnels puts an AI sales agent on a business's WhatsApp. The business\nconnects the number it already uses by scanning a QR code from the dashboard,\nthe same linked-device mechanism as WhatsApp Web: there is no Meta Cloud API\napplication to get approved, no message templates to submit, and no\nper-conversation fee. DarkFunnels is not a Meta product and is not affiliated\nwith Meta.\n\nThis server is how the owner's own assistant — Claude, ChatGPT, Codex or any MCP\nclient — operates that workspace.\n\n## Scoping the connection\n\nFour query parameters decide what the assistant can do:\n\n- `?features=` — an explicit list **replaces** the default set, it does not\n  extend it. `?features=all` is the recommended value: it takes the whole\n  catalog, including groups published after you connect. A `_write` group always\n  brings its matching read group with it.\n- `?read_only=true` — disables every write, and takes precedence over\n  everything else, `all` included.\n- `?pii=full` — unmasks end-customer phone numbers, which are masked by default.\n- `?agent=<uuid>` — pins the connection to one sales funnel.\n\nWithout `?features=`, the default set is read-only apart from a single\nnon-destructive write: assigning tags to customers.\n\n## Tools\n\n44 tools across 14 feature groups. Every one declares a `title` and the\napplicable `readOnlyHint` or `destructiveHint`, so a client can show the owner\nwhat it is about to do.\n\nFull reference, generated from the source code:\n<https://docs.darkfunnels.ai/en/reference/tools>\n\nTool titles and descriptions are written in Spanish. That is deliberate: it is\nthe exact text the connector sends to the model, refined against real\noperational failures in a product whose users are Spanish-speaking business\nowners. Translating it would describe a tool that does not exist.\n\n## What it will never do\n\nThis connector never moves funds and cannot execute payments. Order and sales\ndata is read-only: nothing in the tool surface initiates, captures, or refunds a\npayment.\n\nOne tool creates a sales funnel, which consumes a subscription seat. It never\ninitiates a payment: when the seat limit is reached the call fails closed, and\nthe owner completes any purchase in the DarkFunnels dashboard.\n\n## Try it with these\n\n1. \"Review yesterday's WhatsApp conversations and tell me where we are losing sales.\"\n2. \"Read my sales agent's manual and propose an improvement to the closing chapter; save it once I approve.\"\n3. \"List the customers who have gone 3+ days without a reply and draft what the agent should say to re-engage each one.\"\n\n## Links\n\n- Agent guide: <https://darkfunnels.ai/agents>\n- Documentation (English): <https://docs.darkfunnels.ai/en>\n- Connection URL parameters: <https://docs.darkfunnels.ai/en/reference/connection-url>\n- Security and privacy: <https://docs.darkfunnels.ai/en/security>\n- Privacy policy: <https://darkfunnels.ai/privacy>\n- Skills and Claude Code plugin: <https://github.com/darkfunnels-ai/optimind-skills>\n\n## Registry\n\nPublished to the official MCP registry as `ai.darkfunnels/whatsapp-sales-agent`.\nSee `server.json`.\n",
  "bytes": 4846,
  "sha": "8f13c8c9764fd824e9fecd69c7f219f0495c6e4ff29260fd54ef5e44e64d7ebf",
  "repo_slug": "darkfunnels-ai/darkfunnels-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_ai_darkfunnels_docs_3a1e9928/readme"
}