The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the DarkFunnels documentation listing page.
A hosted, multi-tenant MCP server that lets your assistant operate a WhatsApp AI sales agent: audit real conversations and find where sales are lost, edit the versioned sales playbook with undo, manage the product catalog, and read orders, stock and metrics — all scoped to your own account.
This repository is the public front door: the server itself is closed source.
https://docs.darkfunnels.ai/mcp — search
every page and browse a read-only virtual filesystem of the documentation.
Registry entry: ai.darkfunnels/docs.npx skills add https://docs.darkfunnels.ai..md to any docs URL.GET/DELETE on /mcp
answer 405.https://mcp.darkfunnels.ai/.well-known/oauth-protected-resource/mcp
(RFC 9728). An unauthenticated call answers 401 with a
WWW-Authenticate: Bearer resource_metadata=… header, which is what makes a
compliant client start the flow on its own.Authorize with the same account you use for the dashboard. Authorizing with
a different one connects successfully to that other, probably empty, workspace —
if your assistant says you have no products, check that first. The whoami tool
answers which account is connected.
DarkFunnels puts an AI sales agent on a business's WhatsApp. The business connects the number it already uses by scanning a QR code from the dashboard, the same linked-device mechanism as WhatsApp Web: there is no Meta Cloud API application to get approved, no message templates to submit, and no per-conversation fee. DarkFunnels is not a Meta product and is not affiliated with Meta.
This server is how the owner's own assistant — Claude, ChatGPT, Codex or any MCP client — operates that workspace.
Four query parameters decide what the assistant can do:
?features= — an explicit list replaces the default set, it does not
extend it. ?features=all is the recommended value: it takes the whole
catalog, including groups published after you connect. A _write group always
brings its matching read group with it.?read_only=true — disables every write, and takes precedence over
everything else, all included.?pii=full — unmasks end-customer phone numbers, which are masked by default.?agent=<uuid> — pins the connection to one sales funnel.Without ?features=, the default set is read-only apart from a single
non-destructive write: assigning tags to customers.
44 tools across 14 feature groups. Every one declares a title and the
applicable readOnlyHint or destructiveHint, so a client can show the owner
what it is about to do.
Full reference, generated from the source code: https://docs.darkfunnels.ai/en/reference/tools
Tool titles and descriptions are written in Spanish. That is deliberate: it is the exact text the connector sends to the model, refined against real operational failures in a product whose users are Spanish-speaking business owners. Translating it would describe a tool that does not exist.
This connector never moves funds and cannot execute payments. Order and sales data is read-only: nothing in the tool surface initiates, captures, or refunds a payment.
One tool creates a sales funnel, which consumes a subscription seat. It never initiates a payment: when the seat limit is reached the call fails closed, and the owner completes any purchase in the DarkFunnels dashboard.
Published to the official MCP registry as ai.darkfunnels/whatsapp-sales-agent.
See server.json.