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.