MCP Tavily

中文文档
A Model Context Protocol (MCP) server implementation for Tavily API, providing advanced search and content extraction capabilities.
Features
- Multiple Search Tools:
search
: Basic search functionality with customizable options
searchContext
: Context-aware search for better relevance
searchQNA
: Question and answer focused search
- Content Extraction: Extract content from URLs with configurable options
- Rich Configuration Options: Extensive options for search depth, filtering, and content inclusion
Usage with MCP
Add the Tavily MCP server to your MCP configuration:
{
"mcpServers": {
"tavily": {
"command": "npx",
"args": ["-y", "@mcptools/mcp-tavily"],
"env": {
"TAVILY_API_KEY": "your-api-key"
}
}
}
}
Note: Make sure to replace your-api-key
with your actual Tavily API key. You can also set it as an environment variable TAVILY_API_KEY
before running the server.
API Reference
Search Tools
The server provides three search tools that can be called through MCP:
1. Basic Search
{
query: "artificial intelligence",
options: {
searchDepth: "advanced",
topic: "news",
maxResults: 10
}
}
2. Context Search
{
query: "latest developments in AI",
options: {
topic: "news",
timeRange: "week"
}
}
3. Q&A Search
{
query: "What is quantum computing?",
options: {
includeAnswer: true,
maxResults: 5
}
}
{
urls: ["https://example.com/article1", "https://example.com/article2"],
options: {
extractDepth: "advanced",
includeImages: true
}
}
Search Options
All search tools share these options:
interface SearchOptions {
searchDepth?: "basic" | "advanced";
topic?: "general" | "news" | "finance";
days?: number;
maxResults?: number;
includeImages?: boolean;
includeImageDescriptions?: boolean;
includeAnswer?: boolean;
includeRawContent?: boolean;
includeDomains?: string[];
excludeDomains?: string[];
maxTokens?: number;
timeRange?: "year" | "month" | "week" | "day" | "y" | "m" | "w" | "d";
}
interface ExtractOptions {
extractDepth?: "basic" | "advanced";
includeImages?: boolean;
}
Response Format
All tools return responses in the following format:
{
content: Array<{
type: "text",
text: string
}>
}
For search results, each item includes:
For extracted content, each item includes:
- URL
- Raw content
- Failed URLs list (if any)
Error Handling
All tools include proper error handling and will throw descriptive error messages if something goes wrong.
Installation
Installing via Smithery
To install Tavily API Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @kshern/mcp-tavily --client claude
Manual Installation
npm install @mcptools/mcp-tavily
Or use it directly with npx:
npx @mcptools/mcp-tavily
Prerequisites
- Node.js 16 or higher
- npm or yarn
- Tavily API key (get one from Tavily)
Setup
- Clone the repository
- Install dependencies:
npm install
export TAVILY_API_KEY=your_api_key
Building
npm run build
Debugging with MCP Inspector
For development and debugging, we recommend using MCP Inspector, a powerful development tool for MCP servers.
The Inspector provides a user interface for:
- Testing tool calls
- Viewing server responses
- Debugging tool execution
- Monitoring server state
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
)
- Commit your changes (
git commit -m 'Add some AmazingFeature'
)
- Push to the branch (
git push origin feature/AmazingFeature
)
- Open a Pull Request
License
This project is licensed under the MIT License.
Support
For any questions or issues: