项目简介
ddg-server 是一个基于 Model Context Protocol (MCP) 的服务器实现,专注于提供网页搜索功能。它通过集成的 'ddg_web_search' 工具,允许 LLM 客户端(如 Claude)调用 DuckDuckGo 搜索引擎进行信息检索,并将搜索结果作为上下文信息返回给 LLM,从而增强 LLM 的知识获取和信息整合能力。
主要功能点
- 网页搜索工具 (ddg_web_search): 提供通过 DuckDuckGo 进行网页搜索的功能。
- 支持指定搜索关键词 (query)。
- 支持自定义返回结果数量 (count),默认为 10 条。
- 返回格式化的搜索结果,包含标题 (title)、描述 (description) 和 URL 链接 (URL)。
安装步骤
-
安装依赖: 打开终端,进入仓库根目录 'ddg-server',运行以下命令安装项目依赖:
npm install -
构建服务器: 继续在终端中运行以下命令构建服务器:
npm run build构建成功后,会在项目根目录下生成 'build' 目录,其中包含编译后的服务器代码 'index.js'。
服务器配置
要将 ddg-server 集成到 MCP 客户端(例如 Claude Desktop),您需要配置客户端的 MCP 服务器列表。以下是针对 Claude Desktop 的配置示例,您需要将此配置添加到 Claude Desktop 的配置文件中。
Claude Desktop 配置文件路径:
- MacOS: '~/Library/Application Support/Claude/claude_desktop_config.json'
- Windows: '%APPDATA%/Claude/claude_desktop_config.json'
配置信息 (claude_desktop_config.json):
{ "mcpServers": { "ddg-server": { "command": "/path/to/ddg-server/build/index.js" // 请将 "/path/to/ddg-server/build/index.js" 替换为 ddg-server 项目 build 目录下 index.js 文件的实际绝对路径。 // 例如,如果您的 ddg-server 项目位于 '/Users/yourusername/ddg-server',则 command 应配置为 "/Users/yourusername/ddg-server/build/index.js"。 } } }
配置说明:
- '"ddg-server"': MCP 服务器的名称,您可以自定义,用于在客户端中标识该服务器。
- '"command"': 重要:指向 ddg-server 服务器启动脚本的绝对路径。您需要根据 'index.js' 文件在您本地文件系统中的实际位置进行修改。
注意: MCP 客户端通常通过标准输入/输出 (stdio) 与 MCP 服务器通信,因此无需指定额外的参数 (args)。'command' 配置是客户端连接服务器的唯一必要信息。
基本使用方法
-
启动服务器: ddg-server 在配置到 MCP 客户端后,通常由客户端自动启动。您无需手动运行服务器。
-
调用 'ddg_web_search' 工具: 在支持 MCP 协议的 LLM 应用中,您可以使用 'ddg_web_search' 工具进行网页搜索。
- 工具名称: 'ddg_web_search'
- 输入参数:
- 'query' (string, 必填): 搜索关键词。
- 'count' (number, 可选): 返回结果的数量,默认为 10。
例如,在与配置了 ddg-server 的 Claude 对话时,您可以指示 Claude 使用 'ddg_web_search' 工具来搜索 "最新的科技新闻",Claude 将会调用 ddg-server 进行搜索,并将结果用于生成更相关的回复。具体的工具调用方式取决于 LLM 客户端的实现。
信息
分类
网页与API