DuckDuckGo MCP Server
Servidor MCP de duckduckgo-search
Inglés | Chino
Un servidor de protocolo de contexto de modelo para la búsqueda de DuckDuckGo
Este es un servidor MCP basado en TypeScript que proporciona la funcionalidad de búsqueda de DuckDuckGo. Demuestra los conceptos básicos de MCP mediante:
Integración con la búsqueda de DuckDuckGo
Interfaz de herramienta de búsqueda fácil de usar
Soporte para limitación de velocidad y manejo de errores
Características
Herramienta de búsqueda
duckduckgo_search: realiza búsquedas web utilizando la API de DuckDuckGoParámetro obligatorio:
query(consulta de búsqueda, máximo 400 caracteres)Parámetro opcional:
count(número de resultados, 1-20, predeterminado 10)Parámetro opcional:
safeSearch(nivel de seguridad: estricto/moderado/desactivado, predeterminado moderado)Devuelve resultados de búsqueda de Markdown formateados
Límites de velocidad
Máximo 1 solicitud por segundo
Máximo 15000 solicitudes al mes
Related MCP server: DuckDuckGo MCP Server
Desarrollo
Prerrequisitos
Node.js >= 18
pnpm >= 8.0.0
Instalación
# Install pnpm if not already installed
npm install -g pnpm
# Install project dependencies
pnpm installConstruir y ejecutar
Construir el servidor:
pnpm run buildPara desarrollo con reconstrucción automática:
pnpm run watchConfiguración en Claude Desktop
Para utilizar con Claude Desktop, agregue la configuración del servidor:
En MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json En Windows: %APPDATA%/Claude/claude_desktop_config.json
# online
{
"mcpServers": {
"duckduckgo-search": {
"command": "npx",
"args": [
"-y",
"duckduckgo-mpc-server"
]
}
}
}
# local
{
"mcpServers": {
"duckduckgo-search": {
"command": "node",
"args": [
"/path/to/duckduckgo-search/build/index.js"
]
}
}
}Depuración
Dado que los servidores MCP se comunican a través de stdio, la depuración puede ser complicada. Recomendamos usar el Inspector MCP , disponible como script de paquete:
pnpm run inspectorEl Inspector proporcionará una URL para acceder a las herramientas de depuración en su navegador.
Available Tools
1 toolduckduckgo_web_searchB
Performs a web search using the DuckDuckGo, ideal for general queries, news, articles, and online content. Use this for broad information gathering, recent events, or when you need diverse web sources. Supports content filtering and region-specific searches. Maximum 20 results per request.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Number of results (1-20, default 10) | |
| query | Yes | Search query (max 400 chars) | |
| safeSearch | No | SafeSearch level (strict, moderate, off) | moderate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It adds useful context like 'maximum 20 results per request' and mentions content filtering and region-specific searches, but does not cover aspects like rate limits, authentication needs, or error handling, leaving gaps in behavioral understanding.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with three sentences that efficiently cover purpose, usage, and constraints. It is front-loaded with the core function and avoids unnecessary repetition, though minor improvements in flow could elevate it to a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (3 parameters, no output schema, no annotations), the description provides a basic overview but lacks details on return values, error cases, or advanced usage. It is adequate for a simple search tool but incomplete for robust agent interaction.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all parameters. The description does not add any parameter-specific details beyond what the schema provides, such as explaining the impact of 'safeSearch' levels or query formatting. Baseline 3 is appropriate as the schema handles the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'performs a web search using DuckDuckGo' with specific use cases like 'general queries, news, articles, and online content.' It distinguishes itself as a general-purpose search tool, though without sibling tools to differentiate from, it cannot achieve a perfect 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides implied usage guidance with phrases like 'ideal for general queries' and 'use this for broad information gathering,' but lacks explicit when-not-to-use scenarios or alternatives. Without sibling tools, it cannot offer comparative guidance, limiting its score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v1.0.0- First observed
duckduckgo_web_search
TDQS
Scored across 1 tool
With only one tool, there is no possibility of ambiguity or overlap between tools. The tool's purpose is clearly defined as performing web searches using DuckDuckGo.
Since there is only one tool, naming consistency is inherently perfect. The tool name 'duckduckgo_web_search' follows a clear verb_noun pattern that would be appropriate if more tools were added.
A single tool for a web search server is too minimal for the apparent scope. While the tool covers basic search functionality, a more complete surface would likely include additional tools such as for image search, news search, or advanced query options, making this feel thin and incomplete.
The tool surface is severely incomplete for a DuckDuckGo server. It only provides general web search, missing obvious functionalities like image search, video search, instant answers, or autocomplete, which are core features of DuckDuckGo. This will limit agents to basic queries without specialized capabilities.
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Free web search for AI agents. No API key required. Hosted MCP in active development.
A Model Context Protocol server for Wix AI tools
Related MCP Servers
- AlicenseAqualityAmaintenanceA Model Context Protocol (MCP) server that provides web search capabilities through DuckDuckGo, with additional features for content fetching and parsing.315,088 PyPI1,500MIT
- FlicenseBqualityDmaintenanceA server that provides DuckDuckGo search capabilities (text, image, news, video search and AI chat) through the Model Context Protocol.516-
- AlicenseCqualityCmaintenanceA Model Context Protocol server implementation that enables AI assistants like Claude to perform Google searches and retrieve web data directly through natural language requests.1250 npm169MIT
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables AI applications like Claude Desktop and Cursor IDE to perform web searches via DuckDuckGo's search engine.-