A TypeScript-based MCP server that provides DuckDuckGo web search integration capabilities
1 stars1 watching1 forks

duckduckgo-web-search MCP Server

duckduckgo-web-search

This is a TypeScript-based MCP server that implements a simple notes system. It demonstrates core MCP concepts by providing:

  • Resources representing text notes with URIs and metadata
  • Tools for creating new notes
  • Prompts for generating summaries of notes

Features

Resources

  • List and access notes via note:// URIs
  • Each note has a title, content and metadata
  • Plain text mime type for simple content access

Tools

  • create_note - Create new text notes
    • Takes title and content as required parameters
    • Stores note in server state

Prompts

  • summarize_notes - Generate a summary of all stored notes
    • Includes all note contents as embedded resources
    • Returns structured prompt for LLM summarization

Development

Install dependencies:

npm install

Build the server:

npm run build

For development with auto-rebuild:

npm run watch

Installation

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

{
  "mcpServers": {
    "duckduckgo-web-search": {
      "command": "/path/to/duckduckgo-web-search/build/index.js"
    }
  }
}

Debugging

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

npm run inspector

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

Features

search
notes
metadata
summarization

Category

Search