Hosted DuckDuckGo MCP server from HasData. Ranked results, ads separated, 37 regions, structured JSON for Claude, Cursor and any MCP client.
Setup
Choose your client, copy the config, then fill in any required environment variables.
Local
claude mcp add hasdata-duckduckgo --env HASDATA_API_KEY='<HASDATA_API_KEY>' -- npx -y @hasdata/duckduckgo-mcp~/.codex/config.toml
[mcp_servers.hasdata-duckduckgo]
command = "npx"
args = ["-y", "@hasdata/duckduckgo-mcp"]
env = { HASDATA_API_KEY = "<HASDATA_API_KEY>" }
# codex mcp add hasdata-duckduckgo --env HASDATA_API_KEY='<HASDATA_API_KEY>' -- npx -y @hasdata/duckduckgo-mcp~/.cursor/mcp.json
{
"mcpServers": {
"hasdata-duckduckgo": {
"command": "npx",
"args": [
"-y",
"@hasdata/duckduckgo-mcp"
],
"env": {
"HASDATA_API_KEY": "<HASDATA_API_KEY>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"hasdata-duckduckgo": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@hasdata/duckduckgo-mcp"
],
"env": {
"HASDATA_API_KEY": "<HASDATA_API_KEY>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"hasdata-duckduckgo": {
"command": "npx",
"args": [
"-y",
"@hasdata/duckduckgo-mcp"
],
"env": {
"HASDATA_API_KEY": "<HASDATA_API_KEY>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"hasdata-duckduckgo": {
"command": "npx",
"args": [
"-y",
"@hasdata/duckduckgo-mcp"
],
"env": {
"HASDATA_API_KEY": "<HASDATA_API_KEY>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"hasdata-duckduckgo": {
"command": "npx",
"args": [
"-y",
"@hasdata/duckduckgo-mcp"
],
"env": {
"HASDATA_API_KEY": "<HASDATA_API_KEY>"
}
}
}
}Remote
claude mcp add --transport http hasdata-duckduckgo 'https://mcp.hasdata.com/mcp?apis=duckduckgo' --header 'x-api-key: <X_API_KEY>'~/.codex/config.toml
[mcp_servers.hasdata-duckduckgo]
url = "https://mcp.hasdata.com/mcp?apis=duckduckgo"
http_headers = { x-api-key = "<X_API_KEY>" }
# codex mcp add hasdata-duckduckgo --url 'https://mcp.hasdata.com/mcp?apis=duckduckgo'~/.cursor/mcp.json
{
"mcpServers": {
"hasdata-duckduckgo": {
"url": "https://mcp.hasdata.com/mcp?apis=duckduckgo",
"headers": {
"x-api-key": "<X_API_KEY>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"hasdata-duckduckgo": {
"type": "http",
"url": "https://mcp.hasdata.com/mcp?apis=duckduckgo",
"headers": {
"x-api-key": "<X_API_KEY>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"hasdata-duckduckgo": {
"httpUrl": "https://mcp.hasdata.com/mcp?apis=duckduckgo",
"headers": {
"x-api-key": "<X_API_KEY>"
}
}
}
}claude_desktop_config.json · Customize › Connectors › Add custom connector
{
"mcpServers": {
"hasdata-duckduckgo": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.hasdata.com/mcp?apis=duckduckgo",
"--header",
"x-api-key:<X_API_KEY>"
]
}
}
}.trae/mcp.json
{
"mcpServers": {
"hasdata-duckduckgo": {
"url": "https://mcp.hasdata.com/mcp?apis=duckduckgo",
"headers": {
"x-api-key": "<X_API_KEY>"
}
}
}
}Environment variables
HASDATA_API_KEY
Replace the placeholders with your own credentials and keep them out of version control.