Tavily Search

by algonacci

Not rated
GitHub

About

Integrates the Tavily search API to provide customizable web searches with options for depth, result count, time range, and AI-generated answers, enabling up-to-date information retrieval for research, content creation, and data aggregation tasks.

Details

Author
algonacci
Repository
algonacci/mcp-tools
License
MIT License
Categories
Productivity, Developer Tools, Design, AI, Search, Knowledge Base, Infrastructure, Frontend
Tags
#web

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Tavily Search
    Command (node, npx, python, etc.) npx
    Arguments
    • Argument 1 -y
    • Argument 2 @highlight/mcp-server

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Create or update .env with the interactive setup wizard:

python setup_env.py

The script works on Windows, macOS, and Linux. Each integration is optional,
existing values are preserved by default, and secret values are hidden while
typing. Run it again whenever you want to add or update an integration.

You do not need to configure every integration. The MCP server still starts
with a partial or missing .env; tools such as GARUDA, Wikipedia, Google News,
Open-Meteo weather, PDF, and local file readers remain available. A tool that
needs missing credentials returns a setup error only when that tool is called.

Email tools use IMAP and SMTP settings from .env. For Gmail, use a Google
App Password instead of the account password. See .env.example for all
required variables. Never commit .env.

Place the Google Desktop OAuth client file at credentials.json, with both the
Google Calendar API and Google Drive API enabled in that Google Cloud project.
Both credentials.json and token.json are ignored by Git.

Authorization is a two-step tool call, so it works the same whether the server
runs on your laptop or on a machine with no browser at all:

1. Call google_auth_start. It returns an authorization URL.
2. Approve access in a browser — any browser, on any device.
3. Call google_auth_complete with the URL you land on.

On a desktop, steps 2 and 3 usually happen by themselves: the browser is opened
for you and the redirect is caught on http://localhost:8765 (set
GOOGLE_OAUTH_PORT to change it), so approving in the browser is all you do.

On a headless server, or when you approve on a phone, that redirect cannot be
reached and the browser shows a connection error. That is expected — the
authorization code is in the address bar. Copy the whole URL
(http://localhost:8765/?code=...) and pass it to google_auth_complete. It
also accepts the bare code value if that is easier to copy.

Whichever path finishes first wins, so it is safe to start in the browser and
fall back to pasting. Tokens refresh themselves afterwards; you only repeat this
if the token is revoked or the requested scopes change.

Drive access uses the read-only scope. It can search files, inspect metadata,
read Docs and Sheets as text, and download or export files. Existing Calendar
users will be asked to authorize again because the shared OAuth token now has
an additional scope. See .env.example for path and timezone settings.

search_weather_locations

Search for a place to get weather information.

create_exchange_rate_chart

Saves a PNG chart of exchange rates under 'downloads/charts' and returns it as MCP image content.

create_data_chart

Provides a high-DPI output chart for selected columns in CSV or Excel files, including labels, annotations, summary statistics, and source notes.

inspect_data_file

Discovers sheets, columns, data types, and sample rows in a data file.

create_inline_data_chart

Accepts records directly and returns a PNG chart without creating a script or temporary data file.

search_garuda

Mimics the filters on GARUDA's search form; pass 'search_field' (title, abstract, author, or doi) to restrict the query.

render_plantuml

Renders source containing '@startuml' and '@enduml' as PNG through the official PlantUML Server, saving results under 'downloads/plantuml'.

google_auth_start

Starts the Google OAuth authorization process and returns an authorization URL.

google_auth_complete

Completes the Google OAuth authorization process using the returned URL or authorization code.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "tavily search": {
            "env": {},
            "args": [
                "-y",
                "@highlight/mcp-server"
            ],
            "command": "npx"
        }
    }
}

Linux

{
    "env": [],
    "args": [
        "-y",
        "@highlight/mcp-server"
    ],
    "command": "npx"
}

Macos

{
    "env": [],
    "args": [
        "-y",
        "@highlight/mcp-server"
    ],
    "command": "npx"
}

Windows

{
    "env": [],
    "args": [
        "/c",
        "npx",
        "-y",
        "@highlight/mcp-server"
    ],
    "command": "cmd"
}

mcp

list of my mcp tools

Setup

Create or update .env with the interactive setup wizard:

python setup_env.py

The script works on Windows, macOS, and Linux. Each integration is optional,
existing values are preserved by default, and secret values are hidden while
typing. Run it again whenever you want to add or update an integration.

You do not need to configure every integration. The MCP server still starts
with a partial or missing .env; tools such as GARUDA, Wikipedia, Google News,
Open-Meteo weather, PDF, and local file readers remain available. A tool that
needs missing credentials returns a setup error only when that tool is called.

Weather

Open-Meteo tools provide place search, current conditions, hourly forecasts,
and daily forecasts without an API key. Search for a place with
search_weather_locations, then pass its coordinates to a forecast tool.

Currency conversion

Frankfurter tools list currencies and providers, return current, historical,
multi-currency, and provider-specific rates, and convert amounts without an API
key. Currency codes use three-letter notation such as USD, IDR, and EUR.
create_exchange_rate_chart saves a PNG under downloads/charts and also
returns it as MCP image content. arXiv papers are stored under downloads/arxiv.
create_data_chart provides the same high-DPI output for selected columns in
CSV or Excel files, with labels, annotations, summary statistics, and source notes.
Use inspect_data_file first to discover sheets, columns, data types, and sample rows.
For dummy, generated, or small datasets, create_inline_data_chart accepts records
directly and returns the PNG without creating a script or temporary data file.

GARUDA academic search

search_garuda mirrors the filters on GARUDA's own search form
(https://garuda.kemdiktisaintek.go.id/documents): pass search_field
(title, abstract, author, or doi) to restrict which field the query
matches against — use author for exact author-name lookups, since plain
keyword search does not reliably match on author names. Additional filters:
publisher (name, min. 3 characters), pdf_only (downloadable PDF only),
and year_from/year_to (publication year range).

PlantUML

render_plantuml renders source containing @startuml and @enduml as PNG
through the official PlantUML Server. Results are saved under
downloads/plantuml and returned as MCP image content for Telegram delivery.

Email configuration

Email tools use IMAP and SMTP settings from .env. For Gmail, use a Google
App Password instead of the account password. See .env.example for all
required variables. Never commit .env.

Google Calendar and Drive configuration

Place the Google Desktop OAuth client file at credentials.json, with both the
Google Calendar API and Google Drive API enabled in that Google Cloud project.
Both credentials.json and token.json are ignored by Git.

Authorization is a two-step tool call, so it works the same whether the server
runs on your laptop or on a machine with no browser at all:

1. Call google_auth_start. It returns an authorization URL.
2. Approve access in a browser — any browser, on any device.
3. Call google_auth_complete with the URL you land on.

On a desktop, steps 2 and 3 usually happen by themselves: the browser is opened
for you and the redirect is caught on http://localhost:8765 (set
GOOGLE_OAUTH_PORT to change it), so approving in the browser is all you do.

On a headless server, or when you approve on a phone, that redirect cannot be
reached and the browser shows a connection error. That is expected — the
authorization code is in the address bar. Copy the whole URL
(http://localhost:8765/?code=...) and pass it to google_auth_complete. It
also accepts the bare code value if that is easier to copy.

Whichever path finishes first wins, so it is safe to start in the browser and
fall back to pasting. Tokens refresh themselves afterwards; you only repeat this
if the token is revoked or the requested scopes change.

Drive access uses the read-only scope. It can search files, inspect metadata,
read Docs and Sheets as text, and download or export files. Existing Calendar
users will be asked to authorize again because the shared OAuth token now has
an additional scope. See .env.example for path and timezone settings.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.