Skip to main content
Glama
spinnerich
by spinnerich

geizhals-mcp

A small MCP server that lets an assistant search geizhals.de and look up shop prices for a product. I built it to stop tabbing back and forth to the browser while comparing hardware prices.

It exposes two tools:

  • search_products(query, limit=15) – full-text product search; returns the lowest price, number of offers and the product URL for each hit.

  • get_product(product) – takes a product URL or id and lists the individual shop offers (cheapest first) with the price range.

Install

git clone https://github.com/spinnerich/geizhals-mcp
cd geizhals-mcp
uv sync          # or: pip install -e .

Related MCP server: MCP Shop Server

Wiring it into a client

For Claude Code, one command does it (point it at wherever you cloned the repo):

claude mcp add geizhals -- uv --directory /path/to/geizhals-mcp run geizhals-mcp

Add --scope user to make it available in every project, or -e KEY=value to set any of the variables below. claude mcp list shows it's registered.

For Claude Desktop, add this to claude_desktop_config.json:

{
  "mcpServers": {
    "geizhals": {
      "command": "uv",
      "args": ["run", "geizhals-mcp"]
    }
  }
}

Or run it directly to test: uv run geizhals-mcp.

Configuration

A few environment variables, all optional:

Variable

Default

Purpose

GEIZHALS_DOMAIN

geizhals.de

Use geizhals.at or geizhals.eu for other regions.

GEIZHALS_MIN_DELAY

1.0

Minimum seconds between requests.

GEIZHALS_IMPERSONATE

chrome

curl_cffi browser profile used for the TLS handshake.

Caveats

Geizhals has no public API, so this reads the normal website. The site is behind Cloudflare, which is why the requests go through curl_cffi with a browser TLS fingerprint – a plain HTTP client just gets a 403. Because there's no API the parsing is tied to the current page layout and may need a nudge when they change things.

Keep the request rate sane (the default delay is there for a reason) and use this for your own price checks, not for hammering their servers.

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

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/spinnerich/geizhals-mcp'

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