项目简介
You.com MCP搜索服务是一个遵循Model Context Protocol (MCP) 标准的应用后端,专注于为大型语言模型(LLM)客户端提供强大的网页和新闻搜索功能。它通过集成的You.com搜索API,允许LLM在对话中调用外部工具来获取最新的网络信息,支持高级搜索参数如站点过滤、文件类型过滤、语言筛选、精确词条和排除词条等。该服务以高性能的Bun运行时构建,并支持Stdio和流式HTTP等多种传输协议,确保与各类MCP客户端的广泛兼容性。
主要功能点
- 全面搜索能力: 利用You.com的统一搜索API,提供网页和新闻搜索,支持高级搜索操作符。
- 多传输协议支持: 可通过标准输入/输出 (Stdio) 或流式HTTP (Streamable HTTP) 进行通信,适应不同部署场景。
- 安全认证: 在HTTP模式下,支持Bearer Token认证,保障API访问安全。
- TypeScript与Zod类型安全: 采用TypeScript提供完整的类型安全,并通过Zod定义清晰的数据模式。
- 高级搜索参数: 允许用户细粒度控制搜索结果,例如指定搜索网站、文件类型、语言、精确匹配词或排除词等。
安装步骤
该服务可以通过两种主要方式集成到您的MCP客户端中:
-
作为远程服务器使用(推荐):
- 无需本地安装。
- 直接连接到You.com官方托管的MCP服务器。
- 需要一个You.com API Key进行认证。
-
作为本地NPM包安装:
- 通过npm或npx安装并运行在本地机器上。
- 通过环境变量设置API Key。
- 需要Bun运行时 (版本 1.2.21 或更高)。
本地开发安装(适用于开发者)
如果您需要从源代码运行或进行本地开发:
- 克隆仓库:
git clone https://github.com/youdotcom-oss/youdotcom-mcp-server.git cd youdotcom-mcp-server - 安装依赖:
bun install - 获取API Key: 在 api.you.com 获取您的You.com API Key。
- 配置API Key:
将 '<your-you-api-key>' 替换为您的实际API Key。echo "export YDC_API_KEY=<your-you-api-key>" > .env source .env
服务器配置
MCP客户端需要配置MCP服务器的连接信息。以下是两种常见的配置模板,用于连接You.com MCP服务器:
1. 连接远程MCP服务器(推荐)
适用于大多数LLM客户端,直接通过HTTP协议连接You.com官方托管的服务器。
{ "mcpServers": { "ydc-search": { "type": "http", "url": "https://api.you.com/mcp", "headers": { "Authorization": "Bearer <you-api-key>" // 请替换为您的You.com API Key } } } }
2. 连接本地NPM包运行的MCP服务器
适用于在本地运行MCP服务器的场景,通过Stdio协议进行通信。
{ "mcpServers": { "ydc-search": { "command": "npx", // 启动命令 "args": ["@youdotcom-oss/mcp"], // 命令参数,运行本地安装的包 "env": { "YDC_API_KEY": "<you-api-key>" // 请替换为您的You.com API Key } } } }
注意:
- 'ydc-search' 是您为该MCP服务器指定的名称,可自定义。
- '<you-api-key>' 必须替换为您从You.com获取的真实API Key。
- 不同的MCP客户端可能在配置格式上略有差异,请参考您具体MCP客户端的文档。
基本使用方法
一旦MCP服务器成功配置并与您的MCP客户端连接,您就可以通过调用其注册的“工具”来执行搜索功能。该服务器主要提供一个名为 'you-search' 的工具。
工具名称: 'you-search'
功能描述: 执行全面的网页和新闻搜索,并返回格式化的结果。
主要参数(LLM调用时需提供):
- 'query' (字符串,必填): 您要搜索的基本查询词。
- 'site' (字符串,可选): 在特定网站域名内搜索,例如 'github.com'。
- 'fileType' (字符串,可选): 按特定文件类型过滤,例如 'pdf'。
- 'language' (字符串,可选): 按ISO 639-1语言代码过滤,例如 'en' (英语)。
- 'exactTerms' (字符串,可选): 包含精确匹配的词语,例如 'python AND tutorial'。
- 'excludeTerms' (字符串,可选): 排除特定的词语,例如 'spam AND ads'。
- 'count' (整数,可选): 每部分返回的最大结果数量 (1-20)。
- 'freshness' (字符串,可选): 结果的新鲜度,选项包括 'day', 'week', 'month', 'year'。
- 'country' (字符串,可选): 用于本地化搜索结果的国家代码,例如 'US'。
- 'safesearch' (字符串,可选): 内容过滤级别,选项包括 'off', 'moderate', 'strict'。
示例(LLM通过MCP客户端调用工具时): LLM客户端会根据这些参数生成JSON-RPC请求,调用 'you-search' 工具。例如,请求搜索“最新人工智能新闻”,并限制结果为3条:
{ "jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": { "name": "you-search", "arguments": { "query": "最新人工智能新闻", "count": 3, "language": "zh" } } }
服务器将执行搜索,并将结果以结构化和文本格式返回给LLM客户端,LLM可利用这些信息生成回答。
信息
分类
网页与API