DuckDuckGo Remote MCP Server
Server Details
DuckDuckGo search as JSON. Ranked results, ads in their own array, 37 regions.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- HasData/duckduckgo-mcp
- GitHub Stars
- 6
- Server Listing
- DuckDuckGo MCP Server
TDQS
Scored across 1 tool
With only one tool, there is no possibility of confusion between tools. The single tool's purpose is clearly defined as fetching DuckDuckGo search results with various parameters.
There is only one tool, so naming consistency is trivially satisfied. The name follows a clear verb_noun pattern (hasdata_duckduckgo_serp_getSearchResults) that is descriptive and consistent with the server's domain.
The server has only one tool, which feels thin per the calibration guidelines. However, for a focused search API, a single comprehensive tool covering pagination, region, safesearch, and device targeting may be appropriate, but it still limits the server's scope.
The tool provides comprehensive search results including organic listings, ads, and AI answers, with multiple configuration options. It covers the core search functionality well, but might lack additional search types (e.g., image or news) and does not offer any auxiliary operations like history or saved searches.
Available Tools
1 toolhasdata_duckduckgo_serp_getSearchResultsduckduckgo_serp: GET /AInspect
Get DuckDuckGo Search Results
Fetches DuckDuckGo SERPs for a query with region targeting (kl, or cc+setLang), safesearch (off/moderate/strict), device type, and page-based pagination. Returns organic results (title, url, snippet, displayed url, position, date, sitelinks, video metadata), ads, and the Search Assist AI answer. Use for SEO rank tracking, SERP feature monitoring, DuckDuckGo-specific visibility audits, and training/eval data for search agents.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Specify the search term for which you want to scrape the SERP. Required unless `nextPageToken` is provided (which carries the query of the page it continues). | |
| cc | No | The two-letter country code for the country to search from. Combined with `setLang` to form the DuckDuckGo region. Ignored if `kl` is set. | |
| kl | No | DuckDuckGo region code in `<country>-<language>` form (e.g. `us-en`, `de-de`). Sets country and interface language at once; takes precedence over `cc`/`setLang`. Use `wt-wt` for no region. | |
| setLang | No | The preferred result/interface language code — usually two letters (e.g. `en`, `de`), with script-tag variants for some languages (e.g. `zh-hans`, `zh-hant`). Combined with `cc` to form the DuckDuckGo region. Ignored if `kl` is set. | |
| deviceType | No | Specify the device type for the search. | |
| safeSearch | No | Adult Content Filtering option. | |
| nextPageToken | No | Opaque token returned in each response as `nextPageToken`. Pass it back (in place of `q`) to fetch the next page of results. It carries a pre-signed page URL bound to the original request's session, so it must be used as-is and cannot be constructed manually. Absent when there are no further pages. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It clearly indicates a read-only fetch operation and describes what is returned, including pagination behavior via 'nextPageToken' context. It does not mention rate limits or auth, but the read-only nature and output behavior are clearly disclosed.
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?
The description is a compact three-sentence summary with no redundant fluff. The title repeats the purpose, but the body adds useful detail about parameters, return contents, and use cases without excessive length.
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?
Given no output schema, the description adequately covers what the tool returns (organic results, ads, AI answer) and mentions pagination. It also covers the main parameter dimensions and intended use cases. Minor gaps like explicit note that 'q' is needed for the first page are covered by the schema itself.
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 the baseline is 3, but the description adds meaningful grouping and relationships (e.g., 'kl, or cc+setLang' for region targeting, and explicit mention of safesearch and device type). This helps the agent understand how parameters relate beyond the individual schema descriptions.
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?
The description explicitly states it fetches DuckDuckGo SERPs for a query, lists the main search controls (region, safesearch, device type, pagination), and describes the result contents. This makes the tool's purpose unambiguous.
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?
The description provides concrete use cases ('SEO rank tracking, SERP feature monitoring, DuckDuckGo-specific visibility audits, and training/eval data'), giving clear guidance on when to use it. There are no sibling tools to contrast against, so no alternative exclusions are needed.
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
- First observed
hasdata_duckduckgo_serp_getSearchResults
Related MCP Connectors
Scrape Google search results with SERP data, ads, and knowledge panels
Google SERP as JSON: organic, AI Overview, People Also Ask, AI Mode, news, shopping. No Cloud setup.
Google Trends interest over time, by region, and related queries and topics, as JSON.
Search YouTube and read video, channel and transcript data as JSON. No Google Cloud project.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceDuckDuckGo Search MCP Server. Scrapes DuckDuckGo Lite directly — no API key required, no rate limits, robust anti-bot protection.3MIT
- AlicenseAqualityCmaintenanceProvides web and news search via DuckDuckGo with support for region filtering, time ranges, and token optimization for AI assistants.232,8021MIT
- FlicenseNot gradedqualityCmaintenanceWraps Yandex Cloud Search API v2 for web search, returns compact JSON results.-

OpenSERP Cloudofficial
AlicenseBqualityCmaintenanceSearch API for AI, SEO & automation. Browser-rendered Google, Bing, Yandex, Baidu, DuckDuckGo and Ecosia results with URL extraction (+image search and engine metadata tools)9232MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.