项目简介
本项目 'mcp-tavily-search' 是一个基于 Model Context Protocol (MCP) 构建的服务器,它集成 Tavily Search API,为大型语言模型 (LLM) 提供实时的网页搜索能力。通过此 MCP 服务器,LLM 可以调用 'search_news' 工具,根据关键词检索最新的网络信息,从而增强 LLM 在知识检索和信息整合方面的能力。
主要功能点
- 网页搜索工具 (search_news): 提供基于关键词的网页搜索功能,底层使用 Tavily Search API。
- 可配置搜索参数: 支持通过参数灵活控制搜索范围,例如搜索时间范围(天数)、结果数量、搜索深度和主题类型(新闻或普通网页)。
- MCP 标准协议: 遵循 MCP 协议,易于与任何兼容 MCP 协议的 LLM 客户端集成。
- 快速安装和部署: 提供简单的安装和配置步骤,可以快速部署并集成到现有的 MCP 环境中。
安装步骤
-
安装可执行文件: 使用 Go 语言的 'go install' 命令即可安装 'mcp-tavily-search' 可执行文件。请确保已安装 Go 语言环境。
go install github.com/y7ut/mcp-tavily-search@latest安装成功后,'mcp-tavily-search' 可执行文件通常会位于 '$GOPATH/bin' 或 '$HOME/go/bin' 目录下,具体位置取决于您的 Go 环境配置。
服务器配置
要将 'mcp-tavily-search' 配置为 MCP 服务器,您需要在 MCP 客户端的配置文件中添加以下 JSON 配置信息。这里的配置信息指示 MCP 客户端如何启动和连接到 'mcp-tavily-search' 服务器。
{ "mcpServers": { "tavily": { // 服务器名称,可以自定义,例如 "tavily-search" "command": "mcp-tavily-search", // 启动服务器的命令,通常为可执行文件名 "args": [ // 启动命令的参数 "run", // 固定参数,表示运行服务器 "YOUR_TAVILY_API_KEY" // 必需参数:您的 Tavily API 密钥。请替换为您的实际 API 密钥 ] } } }
配置参数说明:
- '"tavily"': MCP 服务器的名称,您可以自定义,用于在 MCP 客户端中引用此服务器。
- '"command": "mcp-tavily-search"': 指定启动 MCP 服务器的可执行文件名称。确保 'mcp-tavily-search' 可执行文件在您的系统 PATH 环境变量中,或者使用可执行文件的完整路径。
- '"args": [...]': 启动服务器时传递的参数列表。
- '"run"': 'mcp-tavily-search' 命令的子命令,用于启动服务器。
- '"YOUR_TAVILY_API_KEY"': 请务必替换为您的实际 Tavily API 密钥。 您需要在 Tavily 官网 (https://tavily.com/) 注册并获取 API 密钥。
Tavily API 密钥获取:
- 访问 Tavily 官网 (https://tavily.com/) 并注册账号。
- 登录后,在您的账户设置或 API 管理页面找到 API 密钥 (API Key)。
- 将获取到的 API 密钥替换配置 JSON 中的 '"YOUR_TAVILY_API_KEY"'。
环境变量配置 (可选):
除了在 'args' 中直接传递 API 密钥,您还可以选择使用环境变量 'TRVILY_API_KEY' 来配置 Tavily API 密钥。如果设置了环境变量,'args' 中的 API 密钥参数可以省略,或者用于覆盖环境变量的值。
您还可以通过环境变量 'TRVILY_INCLUDE_DOMAINS' 和 'TRVILY_EXCLUDE_DOMAINS' 来设置搜索时包含或排除的域名,多个域名用逗号分隔。
基本使用方法
配置完成后,MCP 客户端将能够通过 MCP 协议与 'mcp-tavily-search' 服务器建立连接,并调用 'search_news' 工具。
调用 'search_news' 工具示例 (MCP 客户端发起请求):
假设您使用的 MCP 客户端支持工具调用功能,您可以通过指定工具名称 'search_news' 和相应的参数来调用网页搜索功能。
例如,要搜索关于 "人工智能最新进展" 的新闻,并获取 3 篇相关报道,您可以构造如下的 MCP 请求 (具体请求格式取决于您的 MCP 客户端):
{ "jsonrpc": "2.0", "method": "call_tool", "params": { "tool_name": "search_news", "arguments": { "keyword": "人工智能最新进展", "limit": 3 } }, "id": 1 }
服务器将返回包含搜索结果的 MCP 响应,结果通常以文本形式呈现,包含新闻标题、链接和摘要等信息。LLM 可以解析这些信息并用于后续的知识整合或内容生成任务。
工具参数说明:
'search_news' 工具支持以下参数,您可以在调用时根据需要进行配置:
| 参数名 | 类型 | 默认值 | 描述 | 是否必填 | |----------------|----------|--------|----------------------------------------------------------------------------------------------------------|--------| | 'keyword' | 字符串 | 无 | 搜索关键词。 | 是 | | 'days' | 数字 | '7' | 搜索时间范围,单位为天。默认搜索最近 7 天的新闻。 | 否 | | 'limit' | 数字 | '5' | 返回的新闻文章数量。默认返回 5 篇。 | 否 | | 'search_depth' | 字符串 | '"basic"'| 搜索深度,可选值 '"basic"' (基本搜索) 或 '"advanced"' (高级搜索)。默认为 '"basic"'。 | 否 | | 'topic' | 字符串 | '"news"' | 搜索主题,可选值 '"general"' (普通网页,未经处理的页面) 或 '"news"' (新闻,高质量新闻)。默认为 '"news"' (新闻)。 | 否 |
请参考 Tavily Search API 文档 了解更多关于搜索参数的详细信息。
通过配置和使用 'mcp-tavily-search' MCP 服务器,您可以为您的 LLM 应用增加强大的实时网页搜索能力,从而构建更加智能和实用的应用。
信息
分类
网页与API