Nickclyde_duckduckgo Mcp Server

Nickclyde_duckduckgo Mcp Server

🚀 通过DuckDuckGo搜索的MCP服务器

这是一个提供基于DuckDuckGo网络搜索功能的Model Context Protocol (MCP)服务器,还附带了内容抓取和解析的额外功能,能为用户提供更全面的信息获取体验。

smithery徽章

🚀 快速开始

该MCP服务器可提供基于DuckDuckGo的网络搜索功能,同时具备内容抓取和解析能力。你可以按照以下步骤进行安装和使用。

✨ 主要特性

  • 网络搜索:借助DuckDuckGo进行高级搜索,带有速率限制和结果格式化功能,让搜索更高效、有序。
  • 内容抓取:能够获取并解析网页内容,具备智能文本提取功能,精准提取所需信息。
  • 速率限制:内置保护机制,有效防止搜索和内容抓取的速率超限,保障服务器稳定运行。
  • 错误处理:拥有全面的错误捕捉与日志记录功能,便于及时发现和解决问题。
  • 适合大语言模型的输出格式:专为大型语言模型设计的结果呈现方式,方便模型处理和应用。

📦 安装指南

通过Smithery安装

使用Smithery可自动安装DuckDuckGo搜索服务器以供Claude Desktop使用,执行以下命令:

npx -y @smithery/cli install @nickclyde/duckduckgo-mcp-server --client claude

通过uv直接安装

直接从PyPI使用uv进行安装,命令如下:

uv pip install duckduckgo-mcp-server

💻 使用示例

在Claude Desktop上的运行

  1. 下载Claude Desktop
  2. 创建或编辑Claude Desktop配置文件:
    • 在macOS上:~/Library/Application Support/Claude/claude_desktop_config.json
    • 在Windows上:%APPDATA%\Claude\claude_desktop_config.json 在配置文件中添加以下内容:
{
"mcpServers": {
"ddg-search": {
"command": "uvx",
"args": ["duckduckgo-mcp-server"]
}
}
}
  1. 重启Claude Desktop。

开发环境使用

在本地进行开发时,可使用MCP CLI:

# 使用MCP Inspector运行
mcp dev server.py

# 安装用于与Claude Desktop测试
mcp install server.py

基础用法

搜索示例

result = await search("Python编程")
print(result)

输出结果可能类似于:

标题:Python编程 - 维基百科
链接:https://zh.wikipedia.org/wiki/Python_(编程语言)
摘录:Python是一种高级编程语言,以其易读性著称。
...

内容抓取示例

content = await fetch_content("https://www.example.com")
print(content)

输出结果可能类似于:

这是一个示例网页内容。欢迎来到我们的网站!

高级用法

在实际开发中,你可以根据需求调整搜索参数和内容抓取方式,以满足不同场景的需求。例如,在搜索时可以设置更多的过滤条件和排序选项,在内容抓取时可以选择更适合的解析方式。

📚 详细文档

可用工具

1. 搜索工具

async def search(query: str, max_results: int = 10) -> str

在DuckDuckGo上执行网络搜索并返回格式化结果。 参数

  • query:搜索查询字符串。
  • max_results:要返回的最大结果数(默认值为10)。 返回:包含标题、链接和摘录的格式化字符串。

2. 内容抓取工具

async def fetch_content(url: str) -> str

从指定URL获取并解析网页内容,返回文本格式的结果。 参数

  • url:要抓取的内容URL。 返回:提取的纯文本内容。

详细功能说明

  • 搜索功能
    • 支持异步请求,显著提高搜索效率。
    • 内置速率限制,有效防止API调用过载,保障搜索服务的稳定性。
    • 结果自动格式化,便于后续处理和使用。
  • 内容抓取功能
    • 可以从指定URL获取网页内容。
    • 带有错误处理机制,确保在无法访问时返回友好的提示信息。
    • 支持多种内容解析方式,能够适应不同网页结构,提高内容提取的准确性。

🔧 技术细节

该服务器基于DuckDuckGo的搜索API实现搜索功能,通过异步编程提高搜索效率。在内容抓取方面,采用了多种解析方式,以适应不同网页结构。同时,内置了速率限制和错误处理机制,保障服务器的稳定运行。

🤝 贡献指南

我们欢迎社区贡献,以下是一些可能的改进方向:

  • 添加更多搜索参数(如过滤条件、排序选项)。
  • 优化内容抓取算法,提高解析准确性。
  • 实现缓存机制,提升重复请求效率。
  • 支持多语言内容处理。
  • 增加错误处理日志的详细程度。 请通过提交GitHub问题或Pull Request的方式参与贡献。
  • 0 关注
  • 0 收藏,22 浏览
  • system 提出于 2025-09-22 23:21

相似服务问题

相关AI产品