HasData DuckDuckGo MCP Server

A hosted Model Context Protocol (MCP) server that gives Claude, Cursor, Windsurf and any other MCP client DuckDuckGo search results as structured JSON. Ranked organic results with positions, ads in their own array, DuckDuckGo's own AI answer, and 37 regions to target. Built for volume and for parsing, with no local browser and no fallback chain to configure.

People who work with duckduckgo, hasdata and serp api and want it reachable from Claude, Cursor, VS Code, or another MCP client. The project is written in JavaScript.

VERIFIED ACTIVE

LAST COMMIT 2026-09-14 · ★ 6 · #25 OF 93 MAINTAINED WEB SCRAPING · VERIFIED 2026-09-18

MIT · JavaScript servers · how we verify → /methodology

01 · Install HasData DuckDuckGo

before you install - you'll need

HASDATA_API_KEY

Environment variables documented in the project's README - it lists which are required and which have defaults.

Claude Code

claude mcp add hasdata-duckduckgo-mcp --transport http https://mcp.hasdata.com/api/mcp?apis=duckduckgo

Claude Desktop / Cursor / VS Code - add to config

{
  "mcpServers": {
    "hasdata-duckduckgo-mcp": {
      "url": "https://mcp.hasdata.com/api/mcp?apis=duckduckgo"
    }
  }
}

Same JSON for Cursor. For VS Code, rename the top-level key from `mcpServers` to `servers`.

Using another client? Same JSON, different key

Claude Desktop · mcpServers

Cursor · mcpServers

VS Code · servers

Windsurf · mcpServers

Zed · context_servers

Cline · mcpServers

Roo Code · mcpServers

Continue · mcpServers

LibreChat · mcpServers

Gemini CLI · mcpServers

Codex CLI · mcp_servers

Full setup guides: every client.

02 · Evidence

https://mcp.hasdata.com/api/mcp?apis=duckduckgo

transport: streamable-http

endpoint alive - authentication required · probed 2026-09-18

Security posture

What to check before giving this server access to your agent - from the registry, GitHub, and our own probes. We don't score safety; we show what's verifiable.

runs as local process (stdio) - runs on your machine with your user's permissions · remote - your agent's requests go to mcp.hasdata.com

endpoint auth requires authentication - rejected our unauthenticated MCP initialize

repo age created 2026-08-20 - young repo, little track record yet

license MIT - declared in the repository

npm package @hasdata/duckduckgo-mcp - published under the repo owner's npm scope (@hasdata)

registry vendor namespace com.hasdata - domain-verified with the official MCP registry

03 · What HasData DuckDuckGo can do

Prose above is summarized from the project's README and registry record - no invented capabilities.

What you can build

An agent gets 1 documented tool, including hasdata_duckduckgo_serp_getSearchResults.

The 1 tools it gives your agent

Extracted from the project's README - what HasData DuckDuckGo lets an agent do.

hasdata_duckduckgo_serp_getSearchResults
- Organic results (title, url, snippet, displayed url, position, date, sitelinks, video metadata), ads, and the Search Assist AI answer. 10 credits a call

Latest releases

v1.0.2 · 2026-08-27

Published to npm and PyPI by GitHub Actions over OIDC trusted publishing, so no token is stored anywhere. The npm tarball carries a provenance attestation linking it to this commit and run.

v1.0.1 · 2026-08-26

the README now links the npm and PyPI packages with version badges. No functional change to the bridge or tools.

v1.0.0 · 2026-08-24

Stable release of the HasData DuckDuckGo MCP server. Install from npm (@hasdata/duckduckgo-mcp), or connect to the hosted server over streamable HTTP. Ranked organic results, ads in their own array, the Search Assist…

04 · Who maintains HasData DuckDuckGo

HasData DuckDuckGo is maintained by hasdata. We track 26 MCP servers from hasdata - 26 actively maintained, 332 combined GitHub stars, oldest repo from Apr 2026. Full record: all servers from hasdata.

  1. HasData Instagram Public Instagram profiles and post feeds by handle, with hashtags and mentions parsed. ★ 22
  2. HasData Google Search (SERP) Google SERP as JSON: organic, AI Overview, People Also Ask, AI Mode, news, shopping. No Cloud setup. ★ 22
  3. HasData TikTok Public TikTok profiles, videos, comments and keyword search as JSON. No developer account. ★ 15
  4. HasData YouTube Search YouTube and read video, channel and transcript data as JSON. No Google Cloud project. ★ 6
  5. HasData Google Trends Google Trends interest over time, by region, and related queries and topics, as JSON. ★ 6
  6. HasData Airbnb Airbnb stays by location and dates, and full listing details, as structured JSON. ★ 6

05 · Facts

category
web scraping - ranked #25 of 93 actively-maintained web scraping servers as of 2026-09-18.
release cadence
3 releases in the last 90 days (latest 2026-08-27)
registry
com.hasdata/duckduckgo (active, first published 2026-08-21 · 5 versions)
packages
npm:@hasdata/duckduckgo-mcp · pypi:hasdata-duckduckgo-mcp

06 · HasData DuckDuckGo FAQ

What is HasData DuckDuckGo?

A hosted Model Context Protocol (MCP) server that gives Claude, Cursor, Windsurf and any other MCP client DuckDuckGo search results as structured JSON. Ranked organic results with positions, ads in their own array, DuckDuckGo's own AI answer, and 37 regions to target. Built for volume and for parsing, with no local browser and no fallback chain to configure.

Is HasData DuckDuckGo still maintained?

Yes - as of 2026-09-18, its last commit was 2026-09-14 and it shipped 3 releases in the last 90 days. We re-verify nightly.

How do I install HasData DuckDuckGo?

Run `npx -y @hasdata/duckduckgo-mcp`. The README documents one environment variable (HASDATA_API_KEY) to set first. You can also paste the ready-made client config above.

Does HasData DuckDuckGo require authentication?

Yes - when we probed the endpoint on 2026-09-18, it rejected an unauthenticated MCP initialize; you'll need credentials to connect.

07 · Alternatives to HasData DuckDuckGo