搜索工具服务器

一个基于Model Context Protocol (MCP)的搜索工具服务器,为AI助手提供联网搜索能力。

  • by azusa-nami
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 azusa-nami/tavily-search-mcp

使用说明

Tavily Search MCP Server

一个基于 Model Context Protocol (MCP) 的搜索工具服务器,为 AI 助手(如 Claude Desktop、Cursor 等)提供联网搜索能力。

安装与配置

1. 克隆项目

git clone <repository-url>
cd search-mcp

2. 安装依赖

npm install

3. 配置环境变量

复制 .env.example 文件为 .env:

cp .env.example .env

编辑 .env 文件,设置你的 Tavily API 密钥:

TAVILY_API_KEY=your_tavily_api_key_here

4. 获取 Tavily API 密钥

  1. 访问 Tavily 官网
  2. 注册账号并登录
  3. 在控制台获取 API 密钥

使用方法

作为独立服务器运行

node index.js

在 AI 助手中使用

Claude Desktop 配置

在 Claude Desktop 的 MCP 配置文件中添加:

{
  "mcpServers": {
    "tavily-search": {
      "command": "node",
      "args": ["/path/to/search-mcp/index.js"],
      "disabled": false,
      "autoApprove": []
    }
  }
}

Cursor 配置

在 Cursor 的 MCP 设置中添加类似的配置。

工具说明

tavily_search

  • 描述: 使用 Tavily API 搜索联网信息(稳定、高质量)
  • 参数:
    • query (string, required): 搜索关键词
  • 返回: 格式化的搜索结果,包含标题、链接和摘要

项目结构

search-mcp/
├── index.js              # 主服务器文件
├── package.json          # 项目依赖配置
├── package-lock.json     # 依赖锁文件
├── .env.example          # 环境变量示例
├── .gitignore           # Git 忽略文件
└── README.md            # 项目说明文档

技术栈

  • Node.js: JavaScript 运行时环境
  • MCP SDK: Model Context Protocol 官方 SDK
  • Tavily API: 高质量的搜索 API
  • dotenv: 环境变量管理

开发指南

添加新的搜索源

项目已预装多个搜索库,可以轻松扩展:

  • duck-duck-scrape: DuckDuckGo 搜索
  • google-it: Google 搜索

修改搜索参数

在 index.js 中修改搜索配置:

const searchResults = await client.search(query, {
  maxResults: 8,           // 最大结果数
  includeAnswer: false,    // 是否包含答案
  includeRawContent: false, // 是否包含原始内容
  searchDepth: "basic",    // 搜索深度
});

故障排除

常见问题

  1. "未设置 TAVILY_API_KEY 环境变量"

    • 确保已创建 .env 文件并设置了正确的 API 密钥
    • 运行 cp .env.example .env 并编辑文件
  2. 搜索返回空结果

    • 检查网络连接
    • 验证 API 密钥是否有效
    • 尝试不同的搜索关键词
  3. 服务器启动失败

    • 确保已安装所有依赖:npm install
    • 检查 Node.js 版本(需要 Node.js 16+)

日志查看

服务器会在控制台输出日志,帮助诊断问题:

  • [MCP] 正在搜索: <query> - 搜索开始
  • [MCP] 搜索出错: <error> - 错误信息

许可证

本项目基于 ISC 许可证开源。

相关链接