Skip to main content
Glama
shaheen2013

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.

![alt text](arts/image.png)


## 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