返回市场
MCP-塔维利搜索服务器

MCP-塔维利搜索服务器

作者:spences108 星标更新:2025-04-05

项目介绍

mcp-tavily-search


⚠️ 注意事项

此仓库不再维护。

该工具的功能现在可以在 mcp-omnisearch 中找到,它将多个MCP工具整合到一个统一的包中。

请改用 mcp-omnisearch


这是一个用于集成Tavily搜索API与LLMs的模型上下文协议(MCP)服务器。该服务器提供优化的高质量事实搜索能力,包括RAG应用的上下文生成和直接问题回答。

<a href="https://glama.ai/mcp/servers/1jcttrux58"><img width="380" height="200" src="https://gips3.baidu.com/it/u=4012246372,1823957311&fm=3081&app=3081&f=PNG?w=760&h=400" alt="Tavily Search Server MCP服务器" /></a>

功能

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

配置

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

Cline配置

在您的Cline MCP设置中添加以下内容:

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

Claude Desktop与WSL配置

对于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

使用Tavily搜索API进行网络搜索,优化为高质量的事实结果。

参数:

  • query (字符串,必需): 搜索查询
  • search_depth (字符串,可选): "basic"(更快)或"advanced"(更彻底)。默认值为"basic"
  • topic (字符串,可选): "general" 或 "news"。默认值为 "general"
  • days (数字,可选): 搜索的天数(仅限新闻主题)。默认值为3
  • time_range (字符串,可选): 结果的时间范围('day', 'week', 'month', 'year' 或 'd', 'w', 'm', 'y')
  • max_results (数字,可选): 最大结果数量。默认值为5
  • include_answer (布尔值,可选): 包含AI生成的摘要。默认值为true
  • include_images (布尔值,可选): 包含相关图片。默认值为false
  • include_image_descriptions (布尔值,可选): 包含图片描述。默认值为false
  • include_raw_content (布尔值,可选): 包含原始HTML内容。默认值为false
  • include_domains (字符串数组,可选): 要包含的可信域名列表
  • exclude_domains (字符串数组,可选): 要排除的域名列表
  • response_format (字符串,可选): 'text', 'json', 或 'markdown'。默认值为'text'
  • cache_ttl (数字,可选): 缓存生存时间(秒)。默认值为3600
  • force_refresh (布尔值,可选): 强制刷新结果忽略缓存。默认值为false

tavily_get_search_context

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

参数:

  • query (字符串,必需): 上下文生成的搜索查询
  • max_tokens (数字,可选): 生成上下文的最大长度。默认值为2000
  • search_depth (字符串,可选): "basic" 或 "advanced"。默认值为 "advanced"
  • topic (字符串,可选): "general" 或 "news"。默认值为 "general"
  • 其他参数与tavily_search相同

tavily_qna_search

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

参数:

  • query (字符串,必需): 要回答的问题
  • include_sources (布尔值,可选): 包含来源引用。默认值为true
  • search_depth (字符串,可选): "basic" 或 "advanced"。默认值为 "advanced"
  • topic (字符串,可选): "general" 或 "news"。默认值为 "general"
  • 其他参数与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

发布

该项目使用changesets进行版本管理。要发布:

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

贡献

欢迎贡献!请随时提交Pull Request。

许可证

MIT许可证 - 详情见LICENSE文件。

致谢