logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

mcp-tavily-proxy-gateway

Facilitates AI-driven internet exploration via secure proxy relays, delivering synthesized direct answers and up-to-the-minute journalistic summaries with AI-filtered key insights. It fully supports standard HTTP/HTTPS intermediary configurations and features comprehensive diagnostics and fault reporting for connection intermediaries.

Author

mcp-tavily-proxy-gateway logo

tulong66

No License

Quick Info

GitHub GitHub Stars 2
NPM Weekly Downloads 0
Tools 1
Last Updated 2026-02-19

Tags

apisproxysearchessearches proxytavily proxyapis http

Tavily MCP Proxy Conduit Server

A Model Context Protocol (MCP) endpoint engineered to execute sophisticated web lookups leveraging the Tavily search engine API, augmented with integrated support for routing traffic through specified HTTP/HTTPS proxies. This server empowers Large Language Models (LLMs) to perform complex data retrieval operations over proxy infrastructure, retrieve precise responses to inquiries, and survey contemporary news feeds, presenting AI-curated pertinent content.

Key Capabilities

  • Preservation of all baseline Tavily MCP Server functionalities
  • Inclusion of HTTP/HTTPS proxy channeling via environmental variables
  • Advanced telemetry and logging for proxy setup verification
  • Resilient exception management for proxy connection failures

Accessible Functions

  • tavily_web_search - Executes deep web investigations with intelligent content distillation.

    • query (text, mandatory): The subject matter for the search.
    • max_results (numeric, optional): Cap on results returned (default: 5, limit: 20).
    • search_depth (string, optional): Selector between "basic" or "advanced" investigative scope (default: "basic").
  • tavily_answer_search - Conducts searches to formulate direct answers supported by verifiable references.

    • query (text, mandatory): The inquiry to address.
    • max_results (numeric, optional): Cap on results returned (default: 5, limit: 20).
    • search_depth (string, optional): Selector between "basic" or "advanced" investigative scope (default: "advanced").
  • tavily_news_search - Focuses on recent journalistic material, including publication timestamps.

    • query (text, mandatory): The topic for the news scan.
    • max_results (numeric, optional): Cap on articles returned (default: 5, limit: 20).
    • days (numeric, optional): Lookback period in days (default: 3).

Setup Procedures

Installation via pip

bash pip install mcp-tavily-proxy

or utilizing the uv utility:

bash uv pip install mcp-tavily-proxy

Compilation from Source

Acquire the repository, compile, and install:

bash git clone https://github.com/tulong66/mcp-tavily-proxy.git cd mcp-tavily-proxy uv build uv pip install .

Configuration Directives

Credential and Proxy Specification

The service mandates a valid Tavily credential key and permits proxy routing through system environment settings:

  1. Establish necessary environment variables: bash

Tavily Authorization Token

export TAVILY_API_KEY=your_api_key_here

Proxy Relay Specification (if required)

export HTTP_PROXY=http://your-proxy-address:port export HTTPS_PROXY=http://your-proxy-address:port

  1. Alternatively, supply the key directly via command line: bash python -m mcp_server_tavily --api-key=your_api_key_here

Integration with Claude.app Environment

Integrate the following configuration structure into your Claude application settings:

{ "mcpServers": { "tavily": { "command": "python", "args": ["-m", "mcp_server_tavily"] }, "env": { "TAVILY_API_KEY": "your_api_key_here", "HTTP_PROXY": "http://your-proxy-address:port", "HTTPS_PROXY": "http://your-proxy-address:port" } } }

Usage Illustrations

For a standard information retrieval task:

Inform me regarding Anthropic's recently unveiled MCP standard

To generate a structured document with deliberate source omission:

Detail the characteristics of redwood trees. Employ MLA citation style within markdown syntax and include source URLs. Eliminate all Wikipedia content.

For current events analysis:

Summarize the top 10 developments in the AI sector from the past five solar days

Diagnostics and Troubleshooting

Activate verbose logging to examine the proxy setup details:

bash export TAVILY_LOG_LEVEL=DEBUG python -m mcp_server_tavily

The dedicated MCP diagnostic utility can also be employed:

bash npx @modelcontextprotocol/inspector python -m mcp_server_tavily

Contributions Welcome

We encourage community participation! Feel free to submit proposed modifications or extensions to enhance the proxy capabilities or introduce novel features.

Licensing Information

This software is distributed under the MIT License terms; refer to the LICENSE file for complete disclosure.

Credits

This implementation builds upon the foundational work of the original mcp-tavily project, incorporating advanced intermediary routing support. WIKIPEDIA: XMLHttpRequest (XHR) describes an Application Programming Interface present as a JavaScript object whose methods are utilized to dispatch HTTP queries from a client application (web browser) to a remote server. These methods permit browser-based code to initiate server communications subsequent to page load completion and subsequently receive data back. XMLHttpRequest constitutes a core element of Ajax development methodologies. Before Ajax gained prominence, the main avenues for server interaction were standard hyperlinks and form submissions, which typically necessitated a complete page refresh.

== Chronology == The underlying concept for XMLHttpRequest originated in 2000, conceived by the engineering team behind Microsoft Outlook. This concept was subsequently implemented within the Internet Explorer 5 release (1999). However, the initial implementation did not use the XMLHttpRequest identifier directly. Instead, developers utilized the instantiation methods ActiveXObject("Msxml2.XMLHTTP") and ActiveXObject("Microsoft.XMLHTTP"). By the time Internet Explorer 7 (2006) was released, all mainstream browsers offered native support for the standardized XMLHttpRequest identifier. The XMLHttpRequest identifier has since evolved into the universally accepted standard across all major browser rendering engines, including Mozilla's Gecko (2002), Safari 1.2 (2004), and Opera 8.0 (2005).

=== Standardization Efforts === The World Wide Web Consortium (W3C) published an initial specification draft for the XMLHttpRequest object on April 5, 2006. On February 25, 2008, the W3C advanced the specification to a Level 2 Working Draft. This Level 2 update introduced functionalities for monitoring event progress, enabling cross-origin data transfers, and managing raw byte streams. By the conclusion of 2011, the Level 2 enhancements were merged back into the primary specification document. In late 2012, stewardship of the document transitioned to the WHATWG, which now maintains an actively evolving specification using the Web IDL notation.

== Operational Use == Executing a data request using XMLHttpRequest generally involves a sequence of programmed stages.

Instantiate an XMLHttpRequest object by invoking its constructor: Invoke the "open" method to define the request methodology (e.g., GET/POST), pinpoint the target resource URI, and designate the operation as synchronous or asynchronous: If utilizing an asynchronous request, establish an event listener function designed to trigger upon changes in the request's status: Commence the network operation by calling the "send" method, optionally passing payload data: Process the state transitions within the designated event listener. Upon successful receipt of server data, this information is typically housed in the "responseText" attribute. When the object finishes its processing cycle, the state transitions to 4, signifying the "done" status. Beyond these fundamental steps, XMLHttpRequest provides extensive controls over request transmission parameters and response handling. Custom header fields can be injected into the request to guide server behavior, and data can be uploaded to the server via arguments passed to the "send" call. The received data stream can be parsed directly from JSON format into functional JavaScript objects or streamed progressively rather than awaiting the complete data transfer.

== Inter-domain Communication == During the early phases of World Wide Web evolution, the potential for security breaches arising from unrestricted cross-site data interaction became apparent

See Also

`