MCP节点DuckDuckGo服务器
一个充当MCP服务器的Node.js应用程序,提供两个主要工具:
- 搜索:查询DuckDuckGo并检索格式化的搜索结果。
- 获取内容:从任何网页URL检索和解析文本内容。
目录
- 启动服务器 - 可用端点 - 列出工具 - 搜索工具 - 获取内容工具
概述
MCP节点DuckDuckGo服务器是一个Node.js服务器,它提供了一个模块化接口(通过HTTP端点)来查询DuckDuckGo并获取网页内容。该项目展示了:
- 用于创建服务器的Express。
- Axios用于发出HTTP请求。
- Cheerio用于解析HTML。
特性
- DuckDuckGo搜索:使用POST API执行搜索查询并返回DuckDuckGo结果,该结果已格式化以供进一步处理。
- Web内容获取:从给定的URL检索和解析文本内容。
- 速率限制:提供基本速率限制以管理请求频率。
- 可扩展MCP服务器:工具按模块组织,便于添加或修改功能。
需求
- Node.js(v12或更高版本)
- npm
安装
- 克隆存储库\
从GitHub克隆存储库:
git clone - 导航到项目文件夹
cd mcp-node-duckduckgo-server- 再进行\
使用npm安装所需的包:
npm install express axios cheerio用法
启动服务器
通过执行以下命令运行服务器:
node mcp-node-duckduckgo-server.js您应该看到类似以下内容的日志消息:
MCP Server "ddg-search" running on port 3000可用端点
列出工具
要列出所有可用工具,请打开一个新的终端窗口并运行:
curl http://localhost:3000/tools这应该输出一个注册工具的JSON列表(例如,“搜索”和“fetchContent”)。
搜索工具
使用搜索工具执行搜索查询:
curl -X POST http://localhost:3000/run-tool -H "Content-Type: application/json" -d "{\"toolName\":\"search\",\"params\":{\"query\":\"test query\",\"maxResults\":5}}"响应将包含来自DuckDuckGo的格式化搜索结果。
获取内容工具
从特定网页获取内容:
curl -X POST http://localhost:3000/run-tool -H "Content-Type: application/json" -d "{\"toolName\":\"fetchContent\",\"params\":{\"url\":\"https://www.channelnewsasia.com/singapore/ge2025-general-election-may-3-parliament-dissolved-5064316\"}}"服务器将从获取的网页返回一个文本片段。
日志记录和调试
- 服务器将信息和错误消息记录到终端。
- 使用这些日志调试超时、HTTP错误或响应中的意外行为等问题。
贡献
欢迎投稿!如果你想做出贡献:
- 分叉存储库。
- 创建功能分支(
git checkout -b feature/YourFeature). - 提交您的更改(
git commit -m 'Add some feature'). - 推到分支(
git push origin feature/YourFeature). - 打开拉取请求。
许可证
该项目根据MIT许可证获得许可。请参阅 许可证 文件以获取详细信息。
