Home / MCP / DuckDuckGo MCP Server
Provides DuckDuckGo search via MCP with a simple search tool, rate limiting, and Markdown-formatted results.
Configuration
View docs{
"mcpServers": {
"duckduckgo_search": {
"command": "npx",
"args": [
"-y",
"duckduckgo-mcp-server"
]
}
}
}A TypeScript MCP server that exposes DuckDuckGo search functionality via the Model Context Protocol. It enables you to perform web searches through a simple tool interface while handling rate limits and errors gracefully.
You access the DuckDuckGo search tool through your MCP client. Use the duckduckgo_search tool to perform web searches. Provide the required query parameter with your search terms (up to 400 characters). Optional parameters let you adjust results: count to specify how many results (1–20, default 10) and safeSearch to set the safety level (strict/moderate/off, default moderate). The tool returns a formatted Markdown list of results for easy display.
Prerequisites: you need a recent Node.js runtime and a package manager.
Node.js >= 18 and pnpm >= 8.0.0 are required to build and run the server.
# Install pnpm if not already installed
npm install -g pnpm
# Install project dependencies
pnpm install
# Build the server
pnpm run build
# For development with auto-rebuild
pnpm run watchTo use the server with Claude Desktop, configure the MCP servers in the Claude config. There are two example configurations: online (running through a package runner) and local (running a built index.js directly). Use the snippet that matches your setup.
# online
{
"mcpServers": {
"duckduckgo-search": {
"command": "npx",
"args": [
"-y",
"duckduckgo-mcp-server"
]
}
}
}
# local
{
"mcpServers": {
"duckduckgo-search": {
"command": "node",
"args": [
"/path/to/duckduckgo-search/build/index.js"
]
}
}
}MCP servers communicate over stdio, which can be challenging to debug. Use the MCP Inspector to access debugging tools in your browser. The inspector is available as a package script.
pnpm run inspectorRate limits are enforced to protect the service: a maximum of 1 request per second and up to 15,000 requests per month. Handle errors gracefully in your client and present clear messages to users when limits are reached.
Performs web searches using the DuckDuckGo API and returns results formatted in Markdown, with support for optional count and safeSearch parameters.