MCP DuckDuckGo Search
by shaheen2013
README.md
<div align="center">
<img src="arts/logo.png" alt="alt text">
</div>
# MCP DuckDuckGo Search
A Model Context Protocol (MCP) server querying DuckDuckGo Instant Answer API.
## Installation
### Installing via Smithery
To install DuckDuckGo Search for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@shaheen2013/duckduckgo-search-mcp-server):
```bash
npx -y @smithery/cli install @shaheen2013/duckduckgo-search-mcp-server --client claude
```
### Manual Installation
```bash
# Clone the repository
git clone https://github.com/shaheen2013/duckduckgo-search-mcp-server.git
cd duckduckgo-search-mcp-server
# Install dependencies
npm install
# Build the project
npm run build
```
### Docker
You can test this MCP server using Docker. To do this first run:
```bash
docker build -t duckduckgo-search-mcp-server .
docker run -p 8080:8080 duckduckgo-search-mcp-server
```
You can then test the server running within Docker via the inspector e.g.
```bash
pnpm run inspector http://localhost:8080
```
## Usage
### Running the Server
You can use the MCP Inspector to test the server:
```bash
npm run inspector
```
Access the MCP Inspector and then test the tool e.g.

## Development
### Project Structure
- `src/index.ts` - Main server implementation
### Available Scripts
- `npm run build` - Build the TypeScript code
- `npm run watch` - Watch for changes and rebuild
- `npm run inspector` - Run the MCP Inspector against the server
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## Acknowledgments
- [Open Library API](https://openlibrary.org/developers/api)
- [Model Context Protocol](https://github.com/modelcontextprotocol)
TDQS
B3.1/5.0
Scored across 1 tool
Disambiguation5/5
With only one tool, there is no possibility for confusion or overlap. The single tool is clearly distinct by default.
Naming Consistency5/5
The naming is perfectly consistent as there is only one tool. The verb_noun pattern is clear and appropriate.
Tool Count3/5
A single tool for a search service is minimal. It may be sufficient for simple queries, but the tool count feels thin for a typical API surface.
Completeness2/5
The tool only performs a simple search. There are no supporting tools for pagination, fetching detailed results, or handling errors, making the surface incomplete for advanced use cases.
Maintenance
ActivityInactive
ResponsivenessNo issues