duckduckgo-mcp-server

The duckduckgo-mcp-server is a TypeScript-based MCP server that provides DuckDuckGo search functionality. This tool demonstrates core MCP concepts and offers an easy-to-use search tool interface. It also includes support for rate limiting and error handling, allowing developers to easily integrate and utilize DuckDuckGo's search capabilities.

GitHub Stars

49

User Rating

Not Rated

Forks

4

Issues

0

Views

0

Favorites

0

README
duckduckgo-search MCP Server

English | 中文

A Model Context Protocol server for DuckDuckGo Search

This is a TypeScript-based MCP server that provides DuckDuckGo search functionality. It demonstrates core MCP concepts through:

  • Integration with DuckDuckGo Search
  • Easy-to-use search tool interface
  • Rate limiting and error handling support
DuckDuckGo Server MCP server
Features
Search Tool
  • duckduckgo_search - Perform web searches using DuckDuckGo API
    • Required parameter: query (search query, max 400 characters)
    • Optional parameter: count (number of results, 1-20, default 10)
    • Optional parameter: safeSearch (safety level: strict/moderate/off, default moderate)
    • Returns formatted Markdown search results
Rate Limits
  • Maximum 1 request per second
  • Maximum 15000 requests per month
Development
Prerequisites
  • Node.js >= 18
  • pnpm >= 8.0.0
Installation
# Install pnpm if not already installed
npm install -g pnpm

# Install project dependencies
pnpm install
Build and Run

Build the server:

pnpm run build

For development with auto-rebuild:

pnpm run watch
Setup in Claude Desktop

To use with Claude Desktop, add the server config:

On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json On Windows: %APPDATA%/Claude/claude_desktop_config.json

# 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"
      ]
    }
  }
}

image image

Debugging

Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:

pnpm run inspector

The Inspector will provide a URL to access debugging tools in your browser.

Author Information
zhsama

I have no enemy

13

Followers

44

Repositories

2

Gists

10

Total Contributions

Top Contributors

Threads