Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CDP_URLNoCDP endpoint of the stealth browser.http://127.0.0.1:9222
SEARXNG_URLNoYour SearXNG instance for search, e.g. http://searxng:8080. Needs formats: [html, json]. Unset → SERP via the stealth browser.
GROUNDHOG_MAX_TOKENSNoToken budget before truncation.20000
GROUNDHOG_COMPOSE_FILENoUse docker compose -f <file> up -d for auto-start instead of docker run (local repo).
GROUNDHOG_MIN_DELAY_MSNoMinimum delay between requests to the same domain.5000
GROUNDHOG_BROWSER_IMAGENoImage used for auto-start.ghcr.io/dmytrome/groundhog:latest
GROUNDHOG_SEARCH_BACKENDNoauto (SearXNG when SEARXNG_URL is set, else SERP), or force searxng / serp.auto
GROUNDHOG_BLOCK_PRIVATE_IPSNoEnforce the SSRF guard (resolve + block private ranges).true
GROUNDHOG_AUTO_START_BROWSERNoAuto-pull-and-run the browser container when it isn't reachable.true
GROUNDHOG_MAX_CONCURRENT_PAGESNoCap on concurrent open tabs.4

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
read_urlA

Fetch one web page through the stealth browser and return clean, grounded content with provenance.

Hidden text injected for models but invisible to humans is stripped by default and reported in threats. Use this to ground answers in live web content, including sites that block plain fetchers.

Reads a URL you already have: use search to find URLs, or research to search and read in one call. Fetches are rate limited per domain (5s apart by default), so several pages from one site are not instant.

researchA

Search the web and return ranked passages drawn from several sources.

One call does what search + repeated read_url would: finds pages, reads them through the stealth browser, and returns the passages most relevant to query — each attributed to its source, with that source's provenance receipt and any stripped injection payloads. A source that fails is reported in sources rather than failing the whole call.

Prefer read_url when you already have the URL, and search when you only want links. This reads max_sources pages, rate limited per domain, so it is the slowest of the three and the one to avoid for a single known page.

searchA

Search the web and return ranked hits (title, url, snippet, engine).

Not for reading: it returns links, never page content. Use read_url for one known URL, or research when you want the answer rather than the links.

Use this to find pages, then pass the URLs you want to read_url for safe, grounded content. Results come from a self-hosted SearXNG instance when SEARXNG_URL is set, otherwise from a search page rendered through the stealth browser. Hits are links only — nothing is fetched until you ask.

statusA

Check whether Groundhog can reach the stealth browser. Call this to diagnose setup before fetching: if browser_reachable is false, follow hint to start the browser, then retry.

Prompts

Interactive templates invoked by user choice

NameDescription
audit_hidden_textShow what a page hides from human readers, and what it would have fed a model.

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dmytrome/groundhog'

If you have feedback or need assistance with the MCP directory API, please join our Discord server