Skip to main content
Glama
PROJECT-B-26

GroundRoute

by PROJECT-B-26

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.

Related MCP server: entroute

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).

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

Available Tools

1 tool

Tool Schema Changelog

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

  1. 1 tool updatev0.1.0
    • First observedsearch

TDQS

A4.6/5.0

Scored across 1 tool

Disambiguation5/5

Only one tool exists, so there is no possibility of confusion between tools.

Naming Consistency5/5

With a single tool, naming is trivially consistent; 'search' is a clear and appropriate verb.

Tool Count3/5

One tool feels thin for a search server, though a single search operation can be sufficient. The server would benefit from additional tools like fetching cached results or site-specific searches.

Completeness4/5

The search tool covers the primary information retrieval need, but lacks explicit support for retrieving full content or managing search history. Minor gaps exist, but agents can work around them.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    A
    maintenance
    One endpoint, five search providers. Search broker for AI agents with automatic fallback, RRF ranking, and budget enforcement. The LiteLLM of web search.
    13
    5
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables web search for AI agents with pay-per-search in USDC, no API keys needed.
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables AI agents to perform web searches, fetch and extract page content, and crawl sites with caching, rate limiting, and robots.txt compliance, all without needing API keys.
    11
    MIT