DarkFunnels documentation
Server Details
Search and read the DarkFunnels docs: WhatsApp AI sales agents connected by QR, no Meta Cloud API.
- Status
- Healthy
- Uptime
- 100.0% over 62 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- darkfunnels-ai/darkfunnels-mcp
- GitHub Stars
- 0
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 3 tools
search_dark_funnels and query_docs_filesystem_dark_funnels both retrieve documentation content, which creates some initial overlap. The descriptions do a good job separating them (semantic/conceptual search vs. exact regex and path-based reads), and submit_feedback is clearly distinct, so an agent can reasonably choose between them.
Names mix patterns: query_docs_filesystem_dark_funnels is a long compound with a site-name suffix, search_dark_funnels puts the site name at the end of a verb_noun, and submit_feedback omits the site name entirely. The verb-first style is roughly readable, but the suffixes and naming schemes vary noticeably.
Three tools is on the thin side, but the design intentionally collapses discovery, search, and reading into a single sandboxed filesystem tool, so each remaining tool earns its place. Slightly under-scoped but defensible for a read-only documentation server.
The surface covers the core docs lifecycle: conceptual search, structural discovery via tree/ls, full page reads via head/cat, and a feedback channel for reporting bad content. No create/update operations are needed for a read-only docs site, though there is no dedicated page-index or navigation tool beyond tree.
Available Tools
3 toolsquery_docs_filesystem_dark_funnelsQuery documentation filesystemARead-onlyIdempotentInspect
Run a read-only shell-like query against a virtualized, in-memory filesystem rooted at / that contains ONLY the DarkFunnels documentation pages. This is NOT a shell on any real machine — nothing runs on the user's computer, the server host, or any network. The filesystem is a sandbox backed by documentation chunks.
This is how you read documentation pages: there is no separate "get page" tool. To read a page, pass its .mdx path to head or cat — a page at the URL path /some/page lives at /some/page.mdx. To search the docs with exact keyword or regex matches, use rg. To understand the docs structure, use tree or ls.
Paths are specific to this site — never guess them. Discover real paths with tree / -L 2, ls /, or the search tool before reading. If a path does not exist, that only means the guess was wrong; it does NOT mean the topic is undocumented — use rg -il "keyword" / to find where it is covered.
Workflow: Start with the search tool for broad or conceptual queries like "how to authenticate" or "rate limiting". Use this tool when you need exact keyword/regex matching, structural exploration, or to read the full content of a specific page by path.
Supported commands: rg (ripgrep), grep, find, tree, ls, cat, head, tail, stat, wc, sort, uniq, cut, sed, awk, jq, plus basic text utilities. No writes, no network, no process control. Run --help on any command for usage.
Each call is STATELESS: the working directory always resets to / and no shell variables, aliases, or history carry over between calls. If you need to operate in a subdirectory, chain commands in one call with && or pass absolute paths (e.g., cd /some-directory && ls or ls /some-directory). Do NOT assume that cd in one call affects the next call.
Examples (replace the placeholder paths with real ones from tree or search):
tree / -L 2— see the top-level directory layoutrg -il "rate limit" /— find all files mentioning "rate limit"rg -C 3 "apiKey" /some-directory/— show matches with 3 lines of context around each hithead -80 /some/page.mdx— read the top 80 lines of a specific pagehead -80 /page-one.mdx /page-two.mdx /section/page-three.mdx— read multiple pages in one callcat /some/page.mdx— read a full page when you need everything
Output is truncated to 30KB per call. Prefer targeted rg -C or head -N over broad cat on large files. To read only the relevant sections of a large file, use rg -C 3 "pattern" /path/file.mdx. Batch multiple file reads into a single head or cat call whenever possible.
When referencing pages in your response to the user, convert filesystem paths to URL paths by removing the .mdx extension. For example, /some/page.mdx becomes /some/page.
| Name | Required | Description | Default |
|---|---|---|---|
| command | Yes | A shell command to run against the virtualized documentation filesystem (e.g., `rg -il "keyword" /`, `tree / -L 2`, `head -80 /path/file.mdx`). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, but the description adds material context beyond them: the filesystem is sandboxed and documentation-backed, each call is STATELESS so cd does not persist, output is truncated to 30KB, and no writes/network/process control are possible. It also preempts a common failure mode by explaining that a nonexistent path means a bad guess, not an undocumented topic.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core identity and the read-a-page rule, then workflow, then examples. It is long but nearly every line carries operational value; the only waste is mild repetition of the `rg -C 3` targeting advice, which appears both in the examples block and the truncation paragraph.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-string, shell-like command tool with no output schema, this covers everything an agent needs: what the sandbox is, how to discover real paths, statelessness, supported commands, truncation limits, batching strategy, and how to convert `.mdx` paths back to URLs. No meaningful gap remains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single `command` parameter is fully described in the schema, but the description adds substantial meaning: the supported command list, `--help` availability, absolute-path/batching conventions, and concrete example invocations. This is well above the baseline-3 expectation for 100% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("run a read-only shell-like query against a virtualized in-memory filesystem containing ONLY the DarkFunnels documentation") and explicitly negates the most likely misreading ("NOT a shell on any real machine"). It also distinguishes itself from its sibling by declaring "there is no separate 'get page' tool," so an agent can tell it apart from search_dark_funnels without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit workflow: start with the search tool for broad/conceptual queries, use this tool for exact keyword/regex matching, structural exploration, or reading a full page by path. It names the alternative (search tool) and the condition that selects each, plus per-command selection guidance (rg to search, tree/ls for structure, head/cat to read).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_dark_funnelsSearch documentationARead-onlyIdempotentInspect
Search across the DarkFunnels knowledge base to find relevant information, code examples, API references, and guides. Use this tool when you need to answer questions about DarkFunnels, find specific documentation, understand how features work, or locate implementation details. The search returns contextual content with titles and direct links to the documentation pages. If you need the full content of a specific page, use the query_docs_filesystem tool to head or cat the page path (append .mdx to the path returned from search — e.g. a result at /some/page is read with head -200 /some/page.mdx).
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query | |
| language | No | Filter to specific language code (e.g., 'zh', 'es'). Defaults to 'en' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds genuinely useful context beyond that: the return shape (contextual snippets with titles and direct links) and the follow-up workflow for full page content. It stops short of mentioning result limits or ranking behavior, so not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose, then usage conditions, then alternatives and return shape. The trailing parenthetical with the `.mdx` example is verbose but directly actionable, so it earns its place; slightly tighter phrasing would reach a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description compensates by describing what search returns and how to get full content afterwards. For a two-parameter read-only search tool with full annotation coverage, nothing an agent needs in order to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both parameters are already documented, including the language default of 'en'. The description adds no meaning to `query` (no syntax, operators, or phrasing guidance) or to `language` beyond what the schema states, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Search across the DarkFunnels knowledge base") and enumerates the content types returned (code examples, API references, guides). It also differentiates itself from the sibling query_docs_filesystem_dark_funnels by scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to use it (answering questions about DarkFunnels, finding documentation, understanding features) and names the alternative for full page content with concrete mechanics (`head`/`cat` on the path with `.mdx` appended, plus a worked example). Nothing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_feedbackSubmit documentation feedbackAInspect
Report a problem with this documentation site so the docs team can fix it. Use when a documentation page is incorrect, outdated, confusing, incomplete, or has a broken example. This is for feedback about the documentation content itself — not for product support requests or feedback about this tool or assistant.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | The URL path of the documentation page the feedback is about (the page you were reading, without the `.mdx` extension). | |
| feedback | Yes | A clear description of the documentation issue or suggestion — what is incorrect, outdated, missing, or confusing. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, openWorldHint=true, and idempotentHint=false, so the write/effect profile is covered. The description adds useful outcome context ('so the docs team can fix it') but says nothing about confirmation, rate limits, or what happens to submitted feedback, so it only marginally extends the structured data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the action and purpose, followed by trigger conditions and exclusions. Every sentence earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter feedback tool with no output schema, the definition covers purpose, triggers, exclusions, and target audience completely. Annotations handle the mutation/effect profile, so nothing an agent needs to call this correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters are well documented in the schema itself (path format, feedback content). The description adds no parameter-level detail beyond what the schema provides, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Report a problem with this documentation site') and makes the target explicit ('feedback about the documentation content itself'). It is clearly distinguishable from the read-only sibling tools query_docs_filesystem and search_sorsa_developer_platform, which retrieve rather than submit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly enumerates the triggering conditions ('incorrect, outdated, confusing, incomplete, or has a broken example') and adds clear exclusions ('not for product support requests or feedback about this tool or assistant'). This is a textbook when-to-use / when-not-to-use statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
submit_feedback1 field changed- changed
Input schema / properties / path / descriptionPrevious value: -"The documentation page path the feedback is about (e.g., the page you were reading, such as `/quickstart`)."New value: +"The URL path of the documentation page the feedback is about (the page you were reading, without the `.mdx` extension)."
3 tool updates
- First observed
query_docs_filesystem_dark_funnels - First observed
search_dark_funnels - First observed
submit_feedback
Related MCP Connectors
WhatsApp AI sales agent on your own number via QR, no Meta API: audit chats, edit playbook, orders.
WhatsApp CRM for AI agents: search contacts, read chats, manage the sales pipeline, send messages.
WhatsApp for AI agents — your own number or the official Cloud API: messages, media, templates.
Search the Amomic-AI docs and REST API for AI agents on calls, WhatsApp, chat and email.
Related MCP Servers
FlicenseNot gradedqualityCmaintenanceEnables AI agents to search Notifly documentation and SDK code examples for seamless integration.13 npm1-- AlicenseNot gradedqualityDmaintenanceProvides AI agents with access to DFNS documentation, API reference, and SDK code through full-text search and type intelligence.42 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to query up-to-date, sourced information about workflow automation services, AI agents, integrations, pricing, case studies, FAQs, and contact details in Dutch and English through read-only tools.MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to search, retrieve, and manage official Telegram documentation, helping them implement accurate Telegram features and verify API capabilities.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.