mcpField
W
Web_Search_MCP

Web_Search_MCP

本地服务
github.com/memohib搜索与检索085 周前更新

关于 Web_Search_MCP

Web_Search_MCP 是基于 Tavily API 的网页搜索 MCP 服务,供 AI 系统和应用调用实时搜索。它通过单个工具返回包含内容、链接和相关度信息的结构化结果。

主要功能

  1. 01通过 Tavily API 搜索网页
  2. 02返回内容、URL 和相关度评分
  3. 03以 JSON 格式组织结果
  4. 04异步处理多个搜索请求

适用场景

  1. 01为 LLM 获取实时网页结果
  2. 02查看搜索页面内容与链接

MCP 相关

向 MCP 客户端提供 `search_web` 工具,接收搜索查询并返回 JSON 格式的网页结果。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Web_Search_MCP

一个带有网络搜索工具的 MCP(模型上下文协议)服务

本项目演示了如何使用 Tavily API 创建网络搜索工具,并将其与 MCP(模型上下文协议)集成,以便与 AI 系统无缝交互。这样,你就可以为大模型或应用提供实时网络搜索功能。

概览

Web_Search_MCP 项目使用了以下关键组件:

  • Tavily API: 一个功能强大的搜索 API,可提供实时、全面的网络搜索结果,包括答案、原始内容和相关元数据。
  • FastMCP: FastMCP 类使用 Python 类型提示和文档字符串自动生成工具定义,让你能够轻松创建和维护 MCP 工具。
  • Langchain: 具体而言,项目使用 Langchain 的 TavilySearchResults 工具高效地与 Tavily API 交互。
  • Dotenv: 一个用于从 .env 文件加载环境变量的库,可安全地管理 API 密钥等敏感信息。
  • uv: 一个速度极快的 Python 包安装器和解析器,用于管理和运行本项目。

功能

本项目的核心是 search_web 工具,它提供以下功能:

  • 网络搜索: 接受搜索查询作为输入,并使用 Tavily API 从网络检索相关搜索结果。
  • 详细结果: 提供搜索结果的详细信息,包括网站内容、URL、相关性分数、内容类型,以及直接答案(如果有)。
  • 格式化输出: 以结构良好的 JSON 格式返回搜索结果。输出包括状态指示器(success 或 error)、结果数组(成功时)和时间戳。
  • 错误处理: 妥善处理搜索过程中的错误,并以 JSON 格式返回清晰的错误消息。
  • 异步处理:搜索工具基于异步处理,可同时处理多个请求。

前置条件

运行本项目前,请确保你已具备:

  • Python 3.8+: 系统中已安装 Python 3.8 或更高版本。
  • Tavily API Key: 有效的 Tavily API 密钥,可在 Tavily 网站注册获取。
  • uv: Python 的 uv 包管理器。你可以使用以下命令安装:
    pip install uv
    

安装

  1. 创建项目目录: 为项目创建目录并进入该目录:
    uv init Web_Search_MCP    
    
    *** 运行上述代码后,uv 会在目录中创建 pyproject.toml 和 .venv ***
  2. 创建项目文件: 在 Web_Search_MCP 目录中创建文件 main.py 和 .env。
  3. 激活虚拟环境: 进入 .venv/Scripts/activate 并激活虚拟环境
  4. 复制代码: 将 main.py 和 .env 中的代码复制到你刚刚创建的文件中。
  5. 安装依赖项: 使用 uv 安装所需的 Python 包:
    uv add "mcp[cli]" python-dotenv langchain-community tavily-python
    

配置

  1. .env 文件:

    • 在 Web_Search_MCP 目录中创建一个名为 .env 的文件。
    • 按以下格式将你的 Tavily API 密钥添加到 .env 文件中:
      TAVILY_API_KEY='your_tavily_api_key'
      
      将 your_tavily_api_key 替换为你的实际 Tavily API 密钥。
  2. claude_desktop_config.json:

    • Claude 桌面应用(如果你正在使用)通过此文件发现并运行 FastMCP 服务。
    • 此文件应位于 c:\Users\<Your User Name>\AppData\Roaming\Claude\claude_desktop_config.json
    • 确保 claude_desktop_config.json 中指向 Web_Search_MCP 目录的路径准确无误。如果你的项目不在 path/Web_Search_MCP路径下,请修改配置文件中的args` 字段。
    {
       "mcpServers": {
         "Mcp_Demo": {
           "command": "uv",
           "args": [
             "--directory",
             "path/Web_Search_MCP",
             "run",
             "main.py"
           ]
         }
       }
     }
    

运行 MCP 服务

配置好 claude_desktop_config.json 文件后,你可以在 Claude 桌面应用中启动服务。

用法

服务运行后,它会根据 Model Context Protocol 暴露一个名为 search_web 的工具。

  • 工具名称: search_web
  • 输入:
    • query (str):你想提交到网络的搜索查询。
  • 输出: 包含搜索结果的 JSON 格式字符串。

成功响应的 JSON 示例:

{
    "status": "success",
    "results": [
        {
            "title": "...",
            "url": "...",
            "content": "text",
            "score": 0.9,
            "raw_content": "..."
        },
        {
             "title": "...",
            "url": "...",
            "content": "text",
            "score": 0.9,
            "raw_content": "..."
        }
    ],
    "timestamp": 1708849844.064655
}

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。