网络搜索工具

一个基于Model Context Protocol (MCP)的服务器,通过Tavily API提供实时网络搜索功能,使AI模型能够获取最新的互联网信息。

  • by matemiro
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 matemiro/mcp-tavily-web-search-server

使用说明

网络搜索MCP服务器

一种模型上下文协议(MCP)服务器,使用 美味API该服务器使AI模型能够搜索互联网并检索最新信息。

概述

此MCP服务器实现了一个工具:

  • search_web_tool:使用Tavily API搜索网页并返回相关搜索结果。

该服务器充当人工智能模型和Tavily搜索引擎之间的桥梁,允许模型在对话期间从互联网访问当前信息。

特性

  • 实时网络搜索功能
  • 可自定义的搜索参数:
    • 搜索主题(综合、新闻、财经)
    • 搜索深度(基本、高级)
    • 最大结果数
    • 时间范围过滤(日、周、月、年)
    • 域名包含/排除

需求

  • Python 3.13+
  • 紫外线 -Python包安装程序和解析器
  • Tavilly API密钥(在注册 tavily.com)

安装

  1. 克隆存储库(如果适用)

  2. 使用uv设置虚拟环境(可选但推荐):

    uv venv
    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
    
  3. 使用uv安装依赖项:

    uv pip sync
    

配置

  1. 创建一个 .env 通过复制提供的模板来创建文件:

    cp env-sample .env
    
  2. 将Tavily API密钥添加到 .env 文件:

    TAVILY_API_KEY=your-api-key-here
    

用法

使用uv运行服务器:

uv run web_search_server.py

该服务器使用用于MCP通信的stdio传输方法进行操作,使其适合与支持模型上下文协议的各种AI系统集成。

刀具参数

这 search_web_tool 接受以下参数:

  • query (str,必填):搜索查询。
  • search_topic (str,可选):搜索的主题。可以是“一般”、“新闻”或“金融”。默认为“常规”。
  • search_depth (str,可选):搜索的深度。可以是“基本”或“高级”。默认为“基本”。
  • max_results (int,可选):返回的最大结果数。默认为1。
  • time_range (str,可选):搜索的时间范围。可以是“日”、“周”、“月”或“年”。默认为“无”。
  • include_domains (list[str],可选):要包含在搜索中的域列表。
  • exclude_domains (list[str],可选):要从搜索中排除的域列表。

响应格式

该工具返回一个搜索结果列表,每个结果包含:

  • title:搜索结果的标题
  • url:搜索结果的URL
  • content:搜索结果的内容
  • score:搜索结果的相关性得分

错误处理

如果在搜索操作过程中发生错误,该工具将返回一条描述问题的错误消息。