Tavily搜索集成服务

一个集成Tavily搜索API的MCP服务器,提供智能网页搜索功能,包括RAG应用上下文生成和直接问答能力。

  • by spences10
  • JavaScript
  • 本地部署
  • 6 星标
  • 更新于
在 GitHub 查看 spences10/mcp-tavily-search

使用说明

mcp tavily搜索


⚠️ 通知

此存储库不再维护。

此工具的功能现在可在 mcp全搜索,它将多个MCP工具组合在一个统一的包中。

请使用 mcp全搜索 相反。


用于集成Tavily搜索的模型上下文协议(MCP)服务器 API和LLM。此服务器提供智能网络搜索 为获得高质量、真实的结果而优化的功能,包括 RAG应用程序的上下文生成和直接问答。

特性

  • 🔍 通过Tavily API实现高级网络搜索功能
  • 🤖 人工智能生成的搜索结果摘要
  • 🎯 域过滤以获得更高质量的结果
  • 📊 可配置的搜索深度和参数
  • 🧠 RAG应用程序的上下文生成
  • ❓ 直接问答功能
  • 💾 支持TTL的响应缓存
  • 📝 多种响应格式(文本、JSON、markdown)
  • 🔄 针对LLM优化的结构化结果格式
  • 🏗️ 基于模型上下文协议构建

配置

此服务器需要通过MCP客户端进行配置。这是 不同环境的示例:

临床配置

将此添加到您的Cline MCP设置中:

{
	"mcpServers": {
		"mcp-tavily-search": {
			"command": "npx",
			"args": ["-y", "mcp-tavily-search"],
			"env": {
				"TAVILY_API_KEY": "your-tavily-api-key"
			}
		}
	}
}

带WSL配置的Claude桌面

对于WSL环境,请将以下内容添加到您的Claude Desktop配置中:

{
	"mcpServers": {
		"mcp-tavily-search": {
			"command": "wsl.exe",
			"args": [
				"bash",
				"-c",
				"source ~/.nvm/nvm.sh && TAVILY_API_KEY=your-tavily-api-key /home/username/.nvm/versions/node/v20.12.1/bin/npx mcp-tavily-search"
			]
		}
	}
}

环境变量

服务器需要以下环境变量:

  • TAVILY_API_KEY:您的Tavily API密钥(必需)

API

服务器实现了三个具有可配置参数的MCP工具:

tavily_search

使用Tavilly Search API搜索网页,优化以获得高质量, 事实结果。

参数:

  • query (字符串,必填):搜索查询
  • search_depth (字符串,可选):“基本”(更快)或“高级” (更彻底)。默认为“基本”
  • topic (字符串,可选):“常规”或“新闻”。默认为 “将军”
  • days (数字,可选):返回搜索的天数(新闻主题 仅)。默认为3
  • time_range (字符串,可选):结果的时间范围('天', “周”、“月”、“年”或“d”、“w”、“m”、“y”)
  • max_results (number,可选):最大结果数。 默认值为5
  • include_answer (布尔值,可选):包括AI生成的摘要。 默认为true
  • include_images (布尔值,可选):包括相关图像。 默认为false
  • include_image_descriptions (布尔值,可选):包括图像 描述。默认为false
  • include_raw_content (布尔值,可选):包含原始HTML内容。 默认为false
  • include_domains (string[],可选):要访问的受信任域列表 包含
  • exclude_domains (string[],可选):要排除的域列表
  • response_format (字符串,可选):'text'、'json'或'markdown'。 默认为“文本”
  • cache_ttl (数字,可选):缓存生存时间(秒)。 默认值为3600
  • force_refresh (boolean,可选):强制忽略新结果 隐藏物。默认为false

tavily_get_search_context

使用Tavily搜索为RAG应用程序生成上下文。

参数:

  • query (字符串,必填):搜索查询以生成上下文
  • max_tokens (数字,可选):生成的最大长度 背景。默认值为2000
  • search_depth (字符串,可选):“基本”或“高级”。默认值 “先进”
  • topic (字符串,可选):“常规”或“新闻”。默认为 “将军”
  • 其他参数与tavily_search相同

tavily_qna_search

使用Tavily搜索获得问题的直接答案。

参数:

  • query (string,必填):待回答的问题
  • include_sources (布尔值,可选):包括源引用。 默认为true
  • search_depth (字符串,可选):“基本”或“高级”。默认值 “先进”
  • topic (字符串,可选):“常规”或“新闻”。默认为 “将军”
  • 其他参数与tavily_search相同

域名筛选

服务器通过两个可选功能支持灵活的域过滤 参数:

  • include_domains:要包含在搜索中的受信任域数组 结果
  • exclude_domains:要从搜索结果中排除的域数组

这使您能够:

  • 针对特定的可信来源进行学术或技术搜索
  • 排除可能不可靠或无关的来源
  • 根据您的特定需求定制来源
  • 未指定筛选时访问所有可用源

域筛选示例:

{
	"include_domains": ["arxiv.org", "science.gov"],
	"exclude_domains": ["example.com"]
}

发展

设置

  1. 克隆存储库
  2. 安装依赖项:
pnpm install
  1. 构建项目:
pnpm build
  1. 在开发模式下运行:
pnpm dev

出版

该项目使用变更集进行版本管理。要发布,请执行以下操作:

  1. 创建变更集:
pnpm changeset
  1. 版本包:
pnpm changeset version
  1. 发布到npm:
pnpm release

贡献

欢迎投稿!请随时提交拉取请求。

许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。

致谢