一个使用Tavily API提供AI驱动搜索功能的模型上下文协议(MCP)服务器。此服务器使AI助手能够执行全面的网络搜索并检索相关且最新的信息。
git clone https://github.com/it-beard/tavily-server.git
cd tavily-mcp-server
npm install
npm run build
此服务器可以与任何MCP客户端一起使用。以下是流行客户端的配置说明:
如果您使用的是Cline(用于Claude的VSCode扩展),请创建或修改位于以下位置的MCP设置文件:
~/Library/Application Support/Cursor/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json%APPDATA%\Cursor\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json~/.config/Cursor/User/globalStorage/saoudrizwan.claude-dev\settings\cline_mcp_settings.json添加以下配置(替换路径和API密钥):
{
"mcpServers": {
"tavily": {
"command": "node",
"args": ["/path/to/tavily-server/build/index.js"],
"env": {
"TAVILY_API_KEY": "your-api-key-here"
}
}
}
}
如果您使用的是Claude Desktop应用程序,请修改位于以下位置的配置文件:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json~/.config/Claude/claude_desktop_config.json使用上述相同的配置格式。
对于其他MCP客户端,请查阅其文档以了解正确的配置文件位置和格式。服务器配置应包括:
node)服务器提供了一个名为search的单一工具,具有以下参数:
query(字符串):要执行的搜索查询search_depth(字符串):要么是“basic”(更快)或“advanced”(更全面)// 使用MCP SDK的示例
const result = await mcpClient.callTool("tavily", "search", {
query: "最新的人工智能发展",
search_depth: "basic"
});
服务器提供了静态和动态资源以实现灵活的数据访问:
tavily://last-search/result:返回最近一次搜索查询的结果
tavily://search/{query}:访问任何查询的搜索结果
tavily://search/artificial%20intelligenceMCP中的资源提供了与工具相比的不同方式来访问数据:
interface SearchResponse {
query: string;
answer: string;
results: Array<{
title: string;
url: string;
content: string;
score: number;
}>;
response_time: number;
}
服务器实现了全面的持久存储以保存搜索结果:
data目录中data/searches.json包含所有历史搜索结果tavily-server/
├── src/
│ └── index.ts # 主服务器实现
├── data/ # 持久存储目录
│ └── searches.json # 搜索历史和缓存存储
├── build/ # 编译后的JavaScript文件
├── package.json # 项目依赖项和脚本
└── tsconfig.json # TypeScript配置
npm run build:编译TypeScript并使其可执行[npm run start]:启动MCP服务器(构建后)npm run dev:以开发模式运行服务器服务器为常见问题提供了详细的错误消息:
git checkout -b feature/amazing-feature)git commit -m '添加一些惊人的功能')git push origin feature/amazing-feature)该项目根据MIT许可证发布 - 查看LICENSE文件以获取详细信息。