Skip to main content
Glama
mcp2everything

MCP2Tavily

search_web

Search the web for real-time information using the Tavily API to answer queries and gather current data.

Instructions

Search the web for information using Tavily API

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYes

Implementation Reference

  • The main handler function for the 'search_web' tool, decorated with @mcp.tool() for registration and execution. It delegates the actual search logic to the internal _do_search helper.
    @mcp.tool()
    def search_web(query: str) -> str:
        """Search the web for information using Tavily API"""
        return _do_search(query)
  • Helper function containing the core logic for web search using TavilyClient, including UTF-8 handling, API call, response parsing, and error management.
    def _do_search(query: str) -> str:
        """Internal function to handle the search logic with UTF-8 support"""
        try:
            # 确保查询字符串是UTF-8编码
            query = query.encode('utf-8').decode('utf-8')
            tavily_client = TavilyClient(api_key=API_KEY)
            response = tavily_client.search(
                query=query,
                search_depth="basic",
                include_answer=True,
                include_raw_content=False
            )
            
            # 确保响应文本是UTF-8编码
            answer = response.get('answer', 'No answer found').encode('utf-8').decode('utf-8')
            sources = response.get('sources', [])
            
            result = f"Answer: {answer}\n\nSources:"
            for source in sources[:3]:
                title = source.get('title', 'No title').encode('utf-8').decode('utf-8')
                url = source.get('url', 'No URL')
                result += f"\n- {title}: {url}"
                
            return result
        except UnicodeError as e:
            logger.error(f"Encoding error: {str(e)}")
            return "Error: Unicode encoding issue occurred"
        except Exception as e:
            logger.error(f"Search error: {str(e)}")
            return f"Error performing search: {str(e)}"

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mcp2everything/mcp2tavily'

If you have feedback or need assistance with the MCP directory API, please join our Discord server