Command Palette

Search for a command to run...

UnylyUnyly
Browse all

GroundRoute

FreeNot checked

Web search for AI agents across 6 engines (Serper, Brave, Exa, Tavily, Firecrawl, Perplexity) through one search tool. Routes each query to the cheapest engine

GitHubEmbed

About

Web search for AI agents across 6 engines (Serper, Brave, Exa, Tavily, Firecrawl, Perplexity) through one search tool. Routes each query to the cheapest engine that clears a quality bar and caches repeats. Hosted, streamable-HTTP, BYOK supported.

README

GroundRoute, web search MCP server

Glama score License: MIT Python 3.12+ MCP compatible Smithery

Give your AI agent web search across 6 engines through one MCP search tool. Hosted. Routed. Cached.

Why GroundRoute

  • One tool, six engines. Serper, Brave, Exa, Tavily, Firecrawl, Perplexity, behind a single search call. Stop wiring up six APIs, six SDKs, six billing portals.
  • Never more than going direct. Gain-share pricing: you keep ~half of every cache saving, GroundRoute keeps ~half. On a miss, you just pay the engine. BYOK supported.
  • Routing, caching, failover, on by default. Each query goes to the cheapest engine that clears a quality bar. Repeats serve from cache. If an engine degrades, we fall back automatically. No agent code changes.

See it work (5 seconds)

A call to the search tool:

{
  "name": "search",
  "arguments": { "query": "what is RAGflow", "max_results": 3 }
}

The response (trimmed):

{
  "results": [
    {
      "url": "https://ragflow.io/docs/",
      "title": "Quickstart - RAGFlow",
      "snippet": "RAGFlow is an open-source RAG engine based on deep document understanding...",
      "source_engine": "serper"
    },
    {
      "url": "https://github.com/infiniflow/ragflow",
      "title": "RAGFlow is a leading open-source Retrieval-Augmented Generation engine",
      "snippet": "RAGFlow is a leading open-source Retrieval-Augmented Generation (RAG) engine...",
      "source_engine": "serper"
    }
  ],
  "meta": {
    "request_id": "req_abc123",
    "cache_tier": "miss",
    "degraded": false,
    "cost_usd": 0.0021
  }
}

source_engine tells you which engine answered. meta exposes the cache tier and billed cost per call.

Benchmarked, not just shipped

We ran 170 real agent queries across all 6 engines, judged by an LLM, to map cost vs. quality per query class. Full methodology and per-engine results: State of AI Search.


Install

The hosted endpoint is https://api.groundroute.ai/mcp (streamable-HTTP). Get an API key at groundroute.ai/keys.

Claude Desktop / Claude Code, add to your MCP config:

{
  "mcpServers": {
    "groundroute": {
      "type": "http",
      "url": "https://api.groundroute.ai/mcp",
      "headers": { "Authorization": "Bearer gr_YOUR_KEY" }
    }
  }
}

Cursor, ~/.cursor/mcp.json:

{ "mcpServers": { "groundroute": { "url": "https://api.groundroute.ai/mcp",
  "headers": { "Authorization": "Bearer gr_YOUR_KEY" } } } }

VS Code (native MCP / Continue), .vscode/mcp.json:

{ "servers": { "groundroute": { "type": "http", "url": "https://api.groundroute.ai/mcp",
  "headers": { "Authorization": "Bearer gr_YOUR_KEY" } } } }

Local / stdio-only clients, bridge stdio to HTTP with mcp-remote:

{ "mcpServers": { "groundroute": {
  "command": "npx",
  "args": ["-y", "mcp-remote", "https://api.groundroute.ai/mcp", "--header", "Authorization:Bearer gr_YOUR_KEY"]
} } }

Run this repo's stdio server (optional)

This repo also ships a small native stdio MCP server (server.py) that forwards to the hosted API, useful for stdio-only clients or containerized runs.

pip install -r requirements.txt
GROUNDROUTE_API_KEY=gr_YOUR_KEY python server.py

Or with Docker:

docker build -t groundroute-mcp .
docker run -i -e GROUNDROUTE_API_KEY=gr_YOUR_KEY groundroute-mcp

Introspection (tool discovery) works with no key; running a search requires GROUNDROUTE_API_KEY (get one at https://groundroute.ai/keys).

The search tool

Param Type Notes
query string required
mode enum auto (default), web, news, academic, answer, page
max_results integer default 10, max 50
freshness enum fresh, semi, static; omit to auto-detect
domains string[] include-only domain filter, e.g. ["arxiv.org"]
lang string ISO 639-1 language code, e.g. en
country string ISO 3166-1 alpha-2 country code, e.g. us

Returns a structured result: ranked results (url / title / snippet / content / source_engine / published_at), an optional synthesized answer with citations (answer mode), and meta (request_id / cache_tier / degraded / cost_usd). Routed, cached, and reliable.

How it works

One endpoint in front of many search engines, with price-led routing, caching, failover, and usage governance. See the docs and the State of AI Search benchmark (170 real agent queries across all 6 engines).

Links

registry-manifest.json in this repo is the listing manifest for MCP registries.

from github.com/PROJECT-B-26/groundroute-mcp

Installing GroundRoute

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/PROJECT-B-26/groundroute-mcp

FAQ

Is GroundRoute MCP free?

Yes, GroundRoute MCP is free — one-click install via Unyly at no cost.

Does GroundRoute need an API key?

No, GroundRoute runs without API keys or environment variables.

Is GroundRoute hosted or self-hosted?

A hosted option is available: Unyly runs the server in the cloud, no local setup required.

How do I install GroundRoute in Claude Desktop, Claude Code or Cursor?

Open GroundRoute on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare GroundRoute with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All ai MCPs