项目简介

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客户端中:

  1. 作为远程服务器使用(推荐):

    • 无需本地安装。
    • 直接连接到You.com官方托管的MCP服务器。
    • 需要一个You.com API Key进行认证。
  2. 作为本地NPM包安装:

    • 通过npm或npx安装并运行在本地机器上。
    • 通过环境变量设置API Key。
    • 需要Bun运行时 (版本 1.2.21 或更高)。

本地开发安装(适用于开发者)

如果您需要从源代码运行或进行本地开发:

  1. 克隆仓库:
    git clone https://github.com/youdotcom-oss/youdotcom-mcp-server.git
    cd youdotcom-mcp-server
  2. 安装依赖:
    bun install
  3. 获取API Key:api.you.com 获取您的You.com API Key。
  4. 配置API Key:
    echo "export YDC_API_KEY=<your-you-api-key>" > .env
    source .env
    将 '<your-you-api-key>' 替换为您的实际API Key。

服务器配置

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