Skip to main content
Glama
Samxel

geizhals-mcp

by Samxel

Un servidor MCP que permite a una IA buscar datos de comparación de precios de Geizhals: productos, mejores precios, historial de precios, valoraciones y categorías. Envuelve la API de la aplicación móvil de Geizhals (api.geizhals.net/gh/v9) y devuelve los campos importantes a la IA.

Lo más destacado

  • El mejor precio en todas las tiendas
    Encuentra un producto y obtén su mejor precio, rango completo de precios, valoraciones con estrellas y número de reseñas de prueba, agregados sobre todos los comercios de Geizhals en lugar de un único listado.

  • Cuándo comprar
    Consulta el historial completo de precios y las rebajas de precio actuales (Schnäppchen), ordenables por mayor porcentaje de descuento, para que un modelo pueda responder a «¿es esto barato ahora o debería esperar?».

  • De la palabra clave a la categoría
    Busca por texto libre o explora el árbol completo de categorías de Geizhals (más de 2200 categorías incluidas con el servidor) para llegar al segmento exacto y, a continuación, compara una lista preseleccionada en paralelo.

Related MCP server: geizhals-mcp

Herramientas

search_geizhals(query, ...)

Busca productos por palabra clave. Filtros por país (loc/hloc), categoría y fabricante, además de ordenación y paginación. Devuelve los resultados (hits) y los agregados de facetas (categorías, fabricantes, rango de precios) para refinar con ellos.

get_product(product_id)

Detalle completo de un producto: nombre, valoración, rango de mejor precio, imágenes, enlace de la oferta y cuántas reseñas de prueba tiene.

get_price_history(product_id, days=31)

El resumen mínimo/máximo/actual más la serie bruta [timestamp, price, flag].

get_product_ratings(product_id)

Valoración media, totales, recuentos por cada estrella y el enlace de las reseñas.

browse_category(category, ...)

Lista los productos de una categoría por su código, con rango de precios y ordenación.

compare_products(product_ids)

Compara varios productos lado a lado.

get_deals(sort="percent", ...)

Rebajas de precio actuales: productos cuyo mejor precio acaba de bajar, con el porcentaje y el importe descontado. Ordena por la mayor bajada de percent, por price, latest, popularity u ofertas toptimos, y filtra con min_discount_percent.

list_categories(query)

Explora el árbol de categorías de Geizhals para encontrar los códigos de categoría que acepta browse_category. El árbol completo se incluye con el servidor en data/categories.json.

Configuración

Requiere Python 3.9+.

pip install -r requirements.txt

Ejecución

python main.py

El servidor arranca mediante HTTP en streaming e imprime dónde está escuchando:

Starting geizhals-mcp server on http://127.0.0.1:8000/mcp

Apunta tu cliente MCP a esa URL. El host, el puerto y la ruta se encuentran al principio de main.py.

Úsalo con Claude Desktop

Claude Desktop inicia servidores MCP a través de stdio, así que conecta este servidor HTTP con mcp-remote (necesita Node.js):

  1. Inicia el servidor (python main.py) y déjalo en funcionamiento.

  2. En Claude Desktop, abre Settings > Developer > Edit Config; eso revela claude_desktop_config.json. Ábrelo y añade la entrada geizhals:

    {
      "mcpServers": {
        "geizhals": {
          "command": "cmd",
          "args": ["/c", "npx", "-y", "mcp-remote", "http://127.0.0.1:8000/mcp"]
        }
      }
    }

    En macOS/Linux, omite el envoltorio de Windows: usa "command": "npx" con "args": ["-y", "mcp-remote", "http://127.0.0.1:8000/mcp"].

  3. Guarda el archivo y reinicia Claude Desktop.

Notas

  • data/categories.json es una instantánea del árbol de categorías de Geizhals (title, id, children). main.py la carga para usar list_categories.

  • coverage.json contiene los recuentos del catálogo que se muestran en las insignias de arriba. scripts/update_coverage.py lo actualiza desde la página principal de Geizhals y una acción diaria de GitHub confirma cualquier cambio.

  • Los detalles de la API están documentados en search_api.md.

  • Este proyecto usa la API móvil interna de Geizhals, directamente de la aplicación, no una API oficial. Trátala con cuidado.

Solución de problemas

403 invalidrequest_fingerprint in payload — el secreto HMAC o el esquema de firma en main.py (GH_HMAC_SECRET, request_fingerprint, API_HOST) ya no coincide con lo que envía la aplicación real de Geizhals. Esto se ha extraído de la app y está fijado en el código, por lo que puede desubicarse siempre que Geizhals rote el secreto o cambie el esquema de fingerprint.

Este es un proyecto independiente y no oficial que no está afiliado, respaldado por Geizhals ni conectado a Geizhals. «Geizhals» y todas las marcas relacionadas pertenecen a sus respectivos propietarios.

Se publica únicamente con fines educativos y de investigación. Habla con la API interna de Geizhals, que no está pensada para uso público y puede dejar de funcionar o cambiar en cualquier momento. Eres responsable del uso que le des: respeta los Términos del Servicio de Geizhals, las reglas de robots y la legislación aplicable, y no machaques sus servidores.

Licencia

MIT LICENSE. Proporcionado “tal cual”, sin garantía.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to search and compare live prices from Finnish marketplaces (Hinta.fi, Tori.fi, Huuto.net) for new and used products like electronics, furniture, and more.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to search products and retrieve detailed information from Galaxus and Digitec, including prices, specifications, and price history.
    5
    2
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables product search and discovery on Galaxus and Digitec, with tools for searching, browsing, comparing, and looking up prices and specifications.
    7
    1
    MIT