Skip to main content
Glama
@greatnxy/web-search-mcp

@greatnxy/web-search-mcp

by NXY666

@greatnxy/web-search-mcp

A focused MCP server that gives your MCP client a straightforward way to search the web and receive structured results through a single tool: web_search.

This server integrates with Tavily and Brave because both services provide free usage options, making it practical to get started with web search. See their plans and pricing: Tavily Plans & Pricing · Brave Search API Plans.

Install and run

npm install
$env:TAVILY_API_KEY = "tvly-..."
$env:BRAVE_API_KEY = "BSA..."
npm run build
npm start
WARNING

If you want to use only Brave's free quota, be sure to set a usage limit for your Brave Search account. Configure it inBrave Search usage limits.

For key rotation within each provider, use comma-separated values.

$env:TAVILY_API_KEYS = "tvly-first,tvly-second"
$env:BRAVE_API_KEYS = "brave-first,brave-second"

Keys are chosen randomly from each provider's currently available pool. A 429 pauses that Key until the provider's response says it can be retried. An authentication or quota error removes the Key until the server is restarted.

Related MCP server: AIE7-MCP

VS Code configuration

Create or edit your MCP configuration and keep secrets in password inputs:

{
  "inputs": [
    {
      "type": "promptString",
      "id": "tavily-api-key",
      "description": "Tavily API key",
      "password": true
    },
    {
      "type": "promptString",
      "id": "brave-api-key",
      "description": "Brave Search API key",
      "password": true
    }
  ],
  "servers": {
    "web-search": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@greatnxy/web-search-mcp"],
      "env": {
        "TAVILY_API_KEY": "${input:tavily-api-key}",
        "BRAVE_API_KEY": "${input:brave-api-key}"
      }
    }
  }
}

Environment variables

Variable

Default

Purpose

TAVILY_API_KEY / TAVILY_API_KEYS

required

One key or a comma-separated Tavily key pool.

BRAVE_API_KEY / BRAVE_API_KEYS

required

One key or a comma-separated Brave key pool.

SEARCH_TIMEOUT_MS

10000

Tavily and Brave HTTP request timeout.

Search behavior

The gateway calls Tavily first. It calls Brave when Tavily returns no results, times out, is unavailable, is rate-limited, or reports exhausted plan/PAYG quota. Each request randomly selects an available key from the chosen provider's pool.

Tool input and output

web_search accepts query, optional max_results (1–20), freshness (day, week, month, year), ISO country code, and include/exclude domain lists.

It returns query, selected provider, fallback state and reason, providers tried, and ranked title/url/snippet results.

Verify

npm run check
npm test
npm run build

Available Tools

1 tool

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.1/5.0

    Scored across 1 tool

    Disambiguation5/5

    There is only one tool, so there is no possibility of confusion between tools. The purpose of the server is unambiguous.

    Naming Consistency5/5

    The single tool name 'web_search' follows a clear verb_noun pattern, consistent and self-explanatory.

    Tool Count3/5

    With only one tool, the server is minimal but might feel thin for broader search needs. However, for a focused web search purpose, it is acceptable.

    Completeness5/5

    For a web search server, the single tool covers the essential functionality of searching the web. There are no obvious gaps for the stated purpose.

    Related MCP Connectors

    Related MCP Servers