MCP2Brave

# mcp-tavily-search A Model Context Protocol (MCP) server for integrating Tavily's search API with LLMs. This server provides intelligent web search capabilities optimized for high-quality, factual results. <a href="https://glama.ai/mcp/servers/1jcttrux58"><img width="380" height="200" src="https://glama.ai/mcp/servers/1jcttrux58/badge" alt="Tavily Search Server MCP server" /></a> ## Features - 🔍 Advanced web search capabilities through Tavily API - 🤖 AI-generated summaries of search results - 🎯 Domain filtering for higher quality results - 📊 Configurable search depth - 🔄 Structured result formatting optimized for LLMs - 🏗️ Built on the Model Context Protocol ## Configuration This server requires configuration through your MCP client. Here are examples for different environments: ### Cline Configuration Add this to your Cline MCP settings: ```json { "mcpServers": { "mcp-tavily-search": { "command": "npx", "args": ["-y", "mcp-tavily-search"], "env": { "TAVILY_API_KEY": "your-tavily-api-key" } } } } ``` ### Claude Desktop with WSL Configuration For WSL environments, add this to your Claude Desktop configuration: ```json { "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" ] } } } ``` ### Environment Variables The server requires the following environment variable: - `TAVILY_API_KEY`: Your Tavily API key (required) ## API The server implements a single MCP tool with configurable parameters: ### tavily_search Search the web using Tavily Search API, optimized for high-quality, factual results. Parameters: - `query` (string, required): Search query - `search_depth` (string, optional): "basic" (faster) or "advanced" (more thorough). Defaults to "basic" - `include_answer` (boolean, optional): Include AI-generated summary. Defaults to true - `include_domains` (string[], optional): List of trusted domains to include - `exclude_domains` (string[], optional): List of domains to exclude Default included domains: - arxiv.org - scholar.google.com - science.gov - wikipedia.org - github.com - stackoverflow.com - developer.mozilla.org Default excluded domains: - facebook.com - twitter.com - instagram.com - tiktok.com ## Development ### Setup 1. Clone the repository 2. Install dependencies: ```bash pnpm install ``` 3. Build the project: ```bash pnpm build ``` 4. Run in development mode: ```bash pnpm dev ``` ### Publishing The project uses changesets for version management. To publish: 1. Create a changeset: ```bash pnpm changeset ``` 2. Version the package: ```bash pnpm changeset version ``` 3. Publish to npm: ```bash pnpm release ``` ## Contributing Contributions are welcome! Please feel free to submit a Pull Request. ## License MIT License - see the [LICENSE](LICENSE) file for details. ## Acknowledgments - Built on the [Model Context Protocol](https://github.com/modelcontextprotocol) - Powered by [Tavily Search API](https://tavily.com)