MCP.so
Sign In
Servers

MCP Node DuckDuckGo Server

@yapweijun1996

The MCP Node DuckDuckGo Server is a modular Node.js application that allows developers to integrate and test DuckDuckGo search and web content fetching capabilities through a simple HTTP API. It uses Express to establish endpoints, axios to make outbound HTTP requests, and Cheeri

Overview

What is MCP Node DuckDuckGo Server?

MCP Node DuckDuckGo Server is a Node.js application that serves as an MCP (Model Context Protocol) server, providing two tools: DuckDuckGo search and webpage content fetching. It uses Express, Axios, and Cheerio, and is designed for developers integrating web search and content retrieval into MCP-based systems.

How to use MCP Node DuckDuckGo Server?

Clone the repository, install dependencies (express, axios, cheerio) with npm, and run node mcp-node-duckduckgo-server.js. The server starts on port 3000. Use the /tools endpoint to list available tools, and POST to /run-tool with JSON body specifying toolName and params to invoke search or fetchContent.

Key features of MCP Node DuckDuckGo Server

  • DuckDuckGo search via POST API
  • Webpage content fetching and parsing
  • Basic rate limiting for request management
  • Extensible modular tool architecture
  • HTTP endpoints for tool listing and invocation

Use cases of MCP Node DuckDuckGo Server

  • Integrate DuckDuckGo search results into MCP clients
  • Extract and process text content from arbitrary web pages
  • Build automated assistants that search and fetch web content
  • Prototype MCP-based applications with search and fetch capabilities

FAQ from MCP Node DuckDuckGo Server

What are the system requirements?

Node.js v12 or higher and npm are required.

How do I start the server?

Run node mcp-node-duckduckgo-server.js from the project directory. The server logs a message confirming it’s running on port 3000.

What endpoints are available?

The server exposes /tools (GET) to list tools and /run-tool (POST) to execute a tool. The two registered tools are search and fetchContent.

Does the server have rate limiting?

Yes, basic rate limiting is implemented to manage request frequency.

Where can I find logs and debug information?

Informational and error messages are logged to the terminal. Use these logs to debug timeouts, HTTP errors, or unexpected responses.

Tags

More from Search