tavily-search MCP 服务器
一个 MCP 服务器项目
组件
该服务器使用 Tavily API 根据指定查询执行搜索。
- 搜索结果以文本格式返回。
- 搜索结果包含 AI 响应、URI 和搜索结果的标题。
工具
该服务器实现了以下工具:
- search:根据指定查询执行搜索
- 必填参数:"query"
- 可选参数:"search_depth"(基础或高级)
通过 Smithery 安装
要自动通过 Smithery 为 Claude Desktop 安装 Tavily 搜索:
npx -y @smithery/cli install tavily-search --client claude
安装
- 下载仓库。
git clone https://github.com/Tomatio13/mcp-server-tavily.git
- 打开 Claude Desktop 配置文件。
在 MacOS 上: `~/Library/Application\ Support/Claude/claude_desktop_config.json`
在 Windows 上: `C:\Users\[username]\AppData\Roaming\Claude\claude_desktop_config.json`
- 按如下方式编辑配置文件:
"mcpServers": {
"tavily-search": {
"command": "uv",
"args": [
"--directory",
"C:\\your_path\\mcp-server-tavily",
"run",
"tavily-search"
],
"env": {
"TAVILY_API_KEY": "YOUR_TAVILY_API_KEY",
"PYTHONIOENCODING": "utf-8"
}
}
}
- 重启 Claude Desktop。
使用
在 Claude Desktop 中,当你询问"请搜索一些内容"时,你将收到搜索结果。
搜索示例:
请详细搜索镰仓今天的活动
响应示例:
根据搜索结果,以下活动从今天(12月1日)开始:
"镰仓推广摄影大赛2025"
时间:2024年12月1日 - 2025年1月31日
面向喜爱镰仓的摄影比赛
从今天开始接受报名
此外,作为相关即将到来的活动:
12月7日,12位镰仓艺术家将在西武酒店镰仓大船站东出口休息室举办展览。
日志存储位置
日志存储在以下位置:
对于 Windows:
C:\Users\[username]\AppData\Roaming\Claude\logs\mcp-server-tavily-search
使用光标执行
- 创建一个 shell 脚本(例如,
script.sh),如下所示:
#!/bin/bash
TARGET_DIR=/path/to/mcp-server-tavily
cd "${TARGET_DIR}"
export TAVILY_API_KEY="your-api-key"
export PYTHONIOENCODING=utf-8
uv --directory $PWD run tavily-search
- 按如下方式配置 Cursor 的 MCP 服务器设置:
名称: tavily-search
类型: command
命令: /path/to/your/script.sh
-
保存设置。
-
保存设置后,你可以让 Cursor 的 Composer-Agent "搜索一些内容",它将返回搜索结果。
使用 Docker Compose 在本地环境运行
目的
对于无法使用 Claude Desktop 的 Windows/MacOS 以外的操作系统, 本节将说明如何使用 Docker compose 在本地环境设置和运行 MCP 服务器和客户端。
步骤
- 安装 Docker。
- 下载仓库。
git clone https://github.com/Tomatio13/mcp-server-tavily.git
- 运行 Docker compose。
docker compose up -d
- 执行客户端。
docker exec mcp_server uv --directory /usr/src/app/mcp-server-tavily/src run client.py
- 执行结果
- 搜索可用工具后(如下所示),将向 Tavily 发出查询并返回响应:
2024-12-01 11:21:56,930 - tavily-search-server - INFO - Starting Tavily search server
2024-12-01 11:21:56,932 - tavily-search-server - INFO - Server initialized, starting main loop
2024-12-01 11:21:56,936 - mcp.server - INFO - Processing request of type ListToolsRequest
2024-12-01 11:21:56,936 - tavily-search-server - INFO - Listing available tools
利用可能なツール: nextCursor=None tools=[Tool(name='search', description='Search the web using Tavily API', inputSchema={'type': 'object', 'properties': {'query': {'type': 'string', 'description': 'Search query'}, 'search_depth': {'type': 'string', 'description': 'Search depth (basic or advanced)', 'enum': ['basic', 'advanced']}}, 'required': ['query']})]
2024-12-01 11:21:56,937 - mcp.server - INFO - Processing request of type CallToolRequest
2024-12-01 11:21:56,937 - tavily-search-server - INFO - TOOL_CALL_DEBUG: Tool called - name: search, arguments: {'query': '今日の東京タワーのイベントを教えて下さい'}
2024-12-01 11:21:56,937 - tavily-search-server - INFO - Executing search with query: '今日の東京タワーのイベントを教えて下さい'
2024-12-01 11:22:00,243 - httpx - INFO - HTTP Request: POST https://api.tavily.com/search "HTTP/1.1 200 OK"
2024-12-01 11:22:00,243 - tavily-search-server - INFO - Search successful - Answer generated
2024-12-01 11:22:00,243 - tavily-search-server - INFO - Search successful - Results available
ツール実行結果: content=[TextContent(type='text', text='AI Answer:\n今日の東京タワーのイベントは以下の通りです:\n1. Candlelight: エド・シーランとコールドプレイのヒットメドレー - 12月01日\n2. チームラボプラネッツ TOKYO - 12月01日から1月21日\n\n他にもイベントがある可能性がありますので、公式ウェブサイト等で最新情報をご確認ください。\n\n\n\nSearch Results:\n\n1. 東京タワー (東京): 現在のイベントとチケット | Fever\nURL: https://feverup.com/ja/tokyo/venue/tokyo-tower\nSummary: Summary not found\n\n\n2. 東京タワー(東京都)の施設で開催するイベント一覧|ウォーカープラス\nURL: https://www.walkerplus.com/spot/ar0313s03867/e_list.html\nSummary: Summary not found\n\n\n3. 東京タワー - Tokyo Tower\nURL: https://www.tokyotower.co.jp/event/\nSummary: Summary not found\n')] isError=False
