Skip to main content
Glama
Samxel

geizhals-mcp

by Samxel

AIがGeizhalsの価格比較データ(商品、最安値、価格履歴、評価、カテゴリ)を検索できるようにするMCPサーバーです。GeizhalsモバイルアプリのAPI(api.geizhals.net/gh/v9)をラップし、AIに重要なフィールドを返します。

ハイライト

  • 全ショップ横断の最安値
    商品を見つけて、その最安値、完全な価格帯、星評価、テストレビュー数を、単一の出品ではなくGeizhalsのすべての加盟店を集計して取得できます。

  • 購入タイミングの見極め
    完全な価格履歴と現在の値下げ品(Schnäppchen)を取得でき、値下げ率の大きい順に並べ替えられます。これでモデルは「今、これは安いのか、それとも待つべきか」に答えられます。

  • キーワードからカテゴリへ
    フリーテキストで検索するか、Geizhalsの全カテゴリツリー(サーバー同梱の2200以上のカテゴリ)を閲覧して、まさに目的のセグメントまで掘り下げ、絞り込んだリストを横並びで比較できます。

Related MCP server: geizhals-mcp

ツール

search_geizhals(query, ...)

キーワードで商品を検索します。国(loc/hloc)、カテゴリ、メーカーによるフィルタに加え、並べ替えとページングに対応します。ヒットとファセット集計(カテゴリ、メーカー、価格帯)を返し、絞り込みに使えます。

get_product(product_id)

1件の商品の完全な詳細(名前、評価、最安価格帯、画像、オファーリンク、テストレビュー件数)を返します。

get_price_history(product_id, days=31)

最小・最大・現在の価格のサマリーと、生の[timestamp, price, flag]系列を返します。

get_product_ratings(product_id)

平均評価、総数、星ごとの件数、レビューへのリンクを返します。

browse_category(category, ...)

カテゴリコードでそのカテゴリ内の商品を一覧表示し、価格帯と並べ替え付きで返します。

compare_products(product_ids)

複数の商品を横並びで比較します。

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

現在の値下げ品、つまり最安値がつい一番下がった商品を、値下げ率と割引額付きで返します。percent値下げ率の大きい順のほか、price、latest、popularity、topで並べ替えでき、min_discount_percentでフィルタできます。

list_categories(query)

Geizhalsのカテゴリツリーを閲覧して、browse_categoryが受け付けるカテゴリコードを見つけます。全ツリーはdata/categories.jsonとしてサーバーに同梱されています。

セットアップ

Python 3.9+が必要です。

pip install -r requirements.txt

実行

python main.py

サーバーはストリーム可能なHTTPを利用して起動し、待ち受け先を表示します:

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

MCPクライアントの接続先をそのURLに設定してください。ホスト、ポート、パスはmain.pyの先頭にあります。

Claude Desktopからの利用

Claude Desktopはstdio経由でMCPサーバーを起動するため、mcp-remote(Node.jsが必要)を使ってこのHTTPサーバーにブリッジします:

  1. サーバー(python main.py)を起動し、起動したままにします。

  2. Claude Desktopで設定 > 開発者 > 設定を編集を開きます。claude_desktop_config.jsonが開くので、geizhalsエントリを追加します:

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

    macOS/LinuxではWindows用のラッパーは取り除き、"command": "npx"と"args": ["-y", "mcp-remote", "http://127.0.0.1:8000/mcp"]を使います。

  3. ファイルを保存し、Claude Desktopを再起動します。

注意点

  • data/categories.jsonはGeizhalsのカテゴリツリー(title、id、children)のスナップショットです。main.pyがlist_categoriesのために読み込みます。

  • coverage.jsonには上のバッジで表示されるカタログ件数が含まれています。scripts/update_coverage.pyがGeizhalsのホームページから更新し、毎日のGitHub Actionが変更をコミットします。

  • APIの詳細はsearch_api.mdに文書化されています。

  • このサーバー資料はGeizhalsの内部モバイルAPIであり、公式のものではありません。丁寧に扱ってください。

トラブルシューティング

403 invalid request_fingerprint in payload — main.pyのHMACシークレットまたは署名方式(GH_HMAC_SECRET、request_fingerprint、API_HOST)が、現在稼働中のGeizhalsアプリが送信する内容と一致しなくなりました。これはアプリからリバースエンジニアリングされたものハードコードされているため、Geizhalsがシークレットをローテーションしたり、フィンガープリント方式を変更したりすると、ずれる可能性があります。

免責事項

これは独立した非公式プロジェクトであり、Geizhalsとは提携、承認、関連性のいずれもありません。「Geizhals」および関連するすべての商標は、それぞれの権利者に帰属します。

教育・研究目的でのみ公開しています。Geizhalsの内部APIと通信するものですが、これは公開利用を想定しておらず、いつ壊れたり変更されたりする可能性があります。利用方法に関する責任は利用者にあります。Geizhalsの利用規約、robotsルール、適用される法律を尊重し、サーバーに過度な負荷をかけないでください。

ライセンス

MIT LICENSE。「現状のまま」、保証なしで提供されます。

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