Returns structured DuckDuckGo results, ads, regional rankings, pagination, and Search Assist answers through MCP.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We ran the install command below but it didn't respond within our test window β this can mean a slow first-time install rather than a real problem.
npx -y @hasdata/duckduckgo-mcpNo response to initialize.
This is an experimental automated check and can have false negatives β missing environment variables, a slow cold install, etc. It doesnβt necessarily mean somethingβs wrong. Last checked 1d ago.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by HasData DuckDuckGo.
hasdata_duckduckgo_serp_getSearchResultsOrganic results (title, url, snippet, displayed url, position, date, sitelinks, video metadata), ads, and the Search Assist AI answer. 10 credits a call
The HasData DuckDuckGo MCP server gives MCP-compatible agents access to parsed DuckDuckGo search pages. The response separates organic listings from advertisements and includes ranking positions, which makes the output suitable for extracting domains, comparing result order, or identifying paid placements without guessing from a mixed page.
Organic result records can include titles, URLs, snippets, displayed URLs, positions, dates, sitelinks, and video metadata. The response also includes DuckDuckGo's Search Assist AI answer when available. Results are returned as structured JSON rather than requiring an agent to interpret browser-rendered HTML.
The hosted endpoint is available at https://mcp.hasdata.com/mcp?apis=duckduckgo and uses streamable HTTP. Clients authenticate with the x-api-key header. A search starts with a q value, while later pages use the nextPageToken returned by the previous response. Supplying a cursor takes precedence over a query, so callers should follow the pagination contract when walking multiple pages.
Regional targeting is supported through DuckDuckGo region parameters. The README describes 37 region values for kl, including formats such as us-en, de-de, jp-jp, and wt-wt for no region, plus a two-letter country option through cc. Comparing markets requires a separate call for each region. Each successful call costs 10 credits, so pagination and multi-region comparisons consume credits per request.
The remote setup requires an MCP client that supports streamable HTTP and custom headers, along with a HasData API key. The key is passed as x-api-key: HASDATA_API_KEY. Clients with OAuth support can add the endpoint as a connector and sign in instead of placing the key in a configuration file.
Claude Code, Cursor, Windsurf, Cline, VS Code, Codex CLI, and Gemini CLI have documented remote configuration examples. Claude Desktop can use the remote connector, or it can connect through a local stdio launcher. The npm package @hasdata/duckduckgo-mcp and the PyPI package hasdata-duckduckgo-mcp provide launcher options that read HASDATA_API_KEY from the environment.
The HasData DuckDuckGo MCP server exposes one tool:
hasdata_duckduckgo_serp_getSearchResults β fetches and parses a DuckDuckGo results page, returning organic results, ads, and the Search Assist AI answer. It accepts either a query or a pagination cursor and costs 10 credits per call.A typical agent task can request the top results and their positions, list only advertisements, compare the same query across regions, or continue through additional pages using the returned cursor. The tool response is carried in a text block containing JSON. Direct clients should parse result.content[0].text and then read the relevant json field; chat clients may unwrap this automatically.
The HasData DuckDuckGo MCP server is remote and requires a HasData API key unless the client uses the documented OAuth connector flow. It does not require a local browser package or a locally maintained browser process when used through the hosted endpoint.
The free allowance is 1,000 credits per month, described as 100 searches. A request for each additional page is a new billable call, and a prompt that compares multiple regions also makes one call per region. Search results and answer content can change as the web changes, so sample payloads should be treated as response shapes rather than fixed data.
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/hasdata-duckduckgo)<a href="https://allmcps.com/mcp/hasdata-duckduckgo"><img src="https://allmcps.com/api/badge/hasdata-duckduckgo?style=directory" alt="HasData DuckDuckGo on AllMCPs" /></a>