Overview
ddg-mcp is a server that provides DuckDuckGo search capabilities through the Model Context Protocol, allowing users to perform various types of searches including text, images, news, and videos.
To use ddg-mcp, install it via PyPI using either uv install ddg-mcp or pip install ddg-mcp, and then utilize the provided tools for different search functionalities.
- Text, image, news, and video search capabilities using DuckDuckGo. - AI chat functionality to interact with DuckDuckGo AI. - Customizable search parameters for tailored results.
- Searching for academic articles or PDFs on specific topics.
- Finding images based on detailed criteria like color and size.
- Retrieving the latest news articles on current events.
- Engaging in AI chat for information retrieval.
Add to your AI client
Use these steps to connect ddg-mcp MCP server in Cursor, Claude, VS Code, and other MCP-compatible apps. The same JSON appears in the Use with menu above for one-click copy.
Cursor
Add this to your .cursor/mcp.json file in your project root, then restart Cursor.
.cursor/mcp.json
{
"mcpServers": {
"ddg-mcp-misanthropic-ai": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-ddg-mcp-misanthropic-ai"
]
}
}
}Claude Desktop
Add this server entry to the mcpServers object in your Claude Desktop config, then restart the app.
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
{
"mcpServers": {
"ddg-mcp-misanthropic-ai": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-ddg-mcp-misanthropic-ai"
]
}
}
}Claude Code
Add this to your project's .mcp.json file. Claude Code will detect it automatically.
.mcp.json (project root)
{
"mcpServers": {
"ddg-mcp-misanthropic-ai": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-ddg-mcp-misanthropic-ai"
]
}
}
}VS Code (Copilot)
Add this to your .vscode/mcp.json file. Requires the GitHub Copilot extension with MCP support enabled.
.vscode/mcp.json
{
"servers": {
"ddg-mcp-misanthropic-ai": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-ddg-mcp-misanthropic-ai"
]
}
}
}Windsurf
Add this to your Windsurf MCP config file, then restart Windsurf.
~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"ddg-mcp-misanthropic-ai": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-ddg-mcp-misanthropic-ai"
]
}
}
}Cline
Open Cline settings, navigate to MCP Servers, and add this server configuration.
Cline MCP Settings (via UI)
{
"mcpServers": {
"ddg-mcp-misanthropic-ai": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-ddg-mcp-misanthropic-ai"
]
}
}
}FAQ
What programming language is ddg-mcp written in?
ddg-mcp is written in Python.
Is there a limit to the number of search results?
Yes, you can set a maximum number of results to return for each search type.
Can I customize the search parameters?
Yes, ddg-mcp allows customization of parameters such as region, safesearch, and time limits.7:["$","div",null,{"className":"container mx-auto flex flex-col gap-4","children":["$L26","$L27",["$","$L28",null,{"currentProject":{"id":2403,"uuid":"3eb74baa-12e6-4610-9b45-7e41c6435b64","name":"ddg-mcp","title":"ddg-mcp MCP server","description":"DuckDuckGo search API MCP server","avatar_url":"https://avatars.githubusercontent.com/u/139028970?v=4","created_at":"2025-03-13T07:44:58.648Z","updated_at":"2025-03-15T02:16:11.074Z","status":"created","author_name":"misanthropic-ai","author_avatar_url":"https://avatars.githubusercontent.com/u/139028970?v=4","tags":"[]","category":"research-and-data","is_featured":false,"sort":1,"url":"https://github.com/misanthropic-ai/ddg-mcp","target":"_self","content":"$29","summary":"$2a","img_url":null,"type":null,"metadata":"{\"star\":\"0\",\"license\":\"\",\"language\":\"Python\",\"is_official\":false,\"latest_commit_time\":\"2025-03-13 13:25:31\"}","user_uuid":null,"tools":null,"sse_url":null,"sse_provider":null,"sse_params":null,"is_official":false,"server_command":null,"server_params":null,"server_config":null,"allow_call":false,"is_innovation":false,"is_dxt":false,"dxt_manifest":null,"dxt_file_url":null,"is_audit":false},"randomProjects":[],"currentServerKey":"$undefined"}]]}]