搜索服务协议服务器

DuckDuckGo MCP Server是一个基于Model Context Protocol(MCP)的服务器,提供网页搜索、图片搜索和图片下载功能。

  • by zopalz
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 zopalz/websearch_mcp

使用说明

DuckDuckGo MCP服务器

一个简单的模型上下文协议(MCP)服务器,使用 duckduckgo_search 图书馆。

特性

  • 网页搜索:使用DuckDuckGo搜索网络,可自定义区域和结果限制
  • 图像搜索:使用大小和类型过滤器搜索图像
  • 图像下载:将图像从URL下载到本地计算机

安装

使用紫外线(推荐)

  1. 安装 紫外线 如果你还没有:
curl -LsSf https://astral.sh/uv/install.sh | sh
  1. 克隆此存储库或下载文件

  2. 创建虚拟环境并安装依赖项:

uv venv
uv pip install -r requirements.txt

使用pip

  1. 克隆此存储库或下载文件

  2. 安装依赖项:

pip install -r requirements.txt

用法

运行服务器

使用uv(来自项目目录):

uv run python server.py

或者先激活虚拟环境:

source .venv/bin/activate  # On Windows: .venv\Scripts\activate
python server.py

使用标准Python:

python server.py

在Claude Desktop中配置

将此配置添加到您的Claude Desktop配置文件中:

MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%/Claude/claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json

使用紫外线(推荐):

{
  "mcpServers": {
    "duckduckgo-search": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/websearch_mcp",
        "run",
        "python",
        "server.py"
      ]
    }
  }
}

在虚拟环境中直接使用Python:

{
  "mcpServers": {
    "duckduckgo-search": {
      "command": "/absolute/path/to/websearch_mcp/.venv/bin/python",
      "args": ["/absolute/path/to/websearch_mcp/server.py"]
    }
  }
}

可用工具

网络搜索

使用DuckDuckGo搜索网络。

参数:

  • query (必填):搜索查询
  • max_results (可选):最大结果数(默认值:10)
  • region (可选):地区代码(默认值:全球为“wt wt”)
    • 示例:“us en”、“uk en”、”de de”、“fr fr”

例子:

Search the web for "Python MCP servers" with max 5 results

图像搜索

使用DuckDuckGo搜索图像。

参数:

  • query (必填):图像搜索查询
  • max_results (可选):最大结果数(默认值:10)
  • size (可选):图像大小过滤器
    • 选项:“小”、“中”、“大”、“壁纸”
  • type (可选):图像类型过滤器
    • 选项:“照片”、“剪贴画”、“gif”、“透明”、“线条”

例子:

Search for "cute puppies" images, large size, photo type, max 5 results

download_image

将图像从URL下载到本地计算机。

参数:

  • url (必填):要下载的图像的URL
  • filename (可选):下载图像的自定义文件名
  • download_dir (可选):保存图像的目录(默认:“./downloads”)

例子:

Download image from https://example.com/image.jpg to ./my-images/

依赖项

许可证

有关详细信息,请参阅LICENSE文件。

备注

  • 图像下载到 ./downloads 默认情况下
  • 如果下载目录不存在,将自动创建下载目录
  • 网络搜索尊重DuckDuckGo的速率限制
  • 所有搜索都是匿名的(没有跟踪)