mcpField
A
Albert Heijn

Albert Heijn

ローカル
github.com生産性13 週間前に更新

Albert Heijn について

Albert Heijnは、買い物や献立作りのためにAlbert HeijnアカウントをAIアプリへ接続する非公式MCPサーバーです。商品、セール、レシピ、買い物リスト、配送注文、レシートを扱います。

主な機能

  1. 01商品とBonusセールの検索
  2. 02Allerhandeレシピの検索と献立作成
  3. 03買い物リストと配送注文の管理
  4. 04購入履歴とレシートの確認

活用シーン

  1. 01割引商品を使った夕食の計画
  2. 02レシピの材料を買い物リストに追加
  3. 03配送予定の注文内容を変更
  4. 04レシートの支出や購入品を集計

MCP 対応

Albert Heijnアカウントに紐づく買い物や注文機能を、対応クライアント向けのMCPサーバーとして公開します。ローカル実行のほか、OAuth対応のリモートHTTP接続も利用できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"olekpuchka-albert-heijn": {
"command": "npx",
"args": [
"-y",
"albert-heijn-mcp"
]
}
}
}
起動コマンドnpx -y albert-heijn-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmalbert-heijn-mcp1.7.1

ツール

33

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
codestringいいえログイン後にユーザーがコピーした appie://login-exit?code=... リンク、またはコードのみ。省略するとログインを開始します。

詳細

README の画像

albert-heijn-mcp

npm License: Apache-2.0 Node.js 24 MCP

Albert Heijn アカウントを AI アシスタントで使えます。

Albert Heijn アカウントを Claude、ChatGPT、Cursor などの AI アシスタントに接続すれば、話しかけるだけで食料品を買い物できます。商品やボーナスセールを探したり、Allerhande のレシピから食事を計画したり、買い物リストや配達注文を最新の状態に保ったり、これまでに購入したものを振り返ったりできます。

技術的には、Albert Heijn 🇳🇱 用の Model Context Protocol(MCP)サーバーです。MCP は AI アプリが他のサービスに接続するための標準規格なので、MCP に対応したどのアプリでも使えます。

メモ

これは非公式のプロジェクトであり、Albert Heijn とは提携しておらず、承認も受けていません。AH モバイルアプリと同じ API を使用していますが、予告なく変更される場合があります。


目次

すべてのユーザー向け

技術情報

できること

アシスタントが話せる言語なら、オランダ語、英語など、どの言語でも質問できます。

「今週、いつも買っている商品の中でボーナスセールになっているものは何?」

食事を計画する

「30 分以内に作れる、2 人分のベジタリアン向け Allerhande レシピを探して、材料を買い物リストに追加して。オリーブオイルと塩はもうあるよ。」

「パンラザニアのレシピを 6 人分に調整して、サーモンがどれくらい必要か教えて。」

「今週ボーナスセールの食材を中心に、平日の夕食を 3 日分計画して。」

節約する

「いつも買っている商品のうち、今週ボーナスセールになっているのはどれ?」

「今夜の炒め物を、レシピを大きく変えずにボーナスセール中の食材で作り直して。」

「来週のボーナスセール情報はもう出てる? まだなら、いつ出る?」

「チーズの 2+1 無料セールの対象商品は何?」

買い物する

「これまでに 3 回以上配達してもらった商品を、もう一度リストに追加して。」

「オーガニックでグルテンフリーのパスタを、安い順に探して。」

「この 3 種類のヨーグルトのたんぱく質と糖分を比較して、一番よいものをリストに追加して。」

「土曜日に AH の配達を頼める時間はいつ?」

「ズッキーニが売り切れだよ。このレシピに使える代わりのものはある?」

「次回の配達に牛乳を 2 パック追加して。」

「このレシピにあるものを全部入れて、『パスタナイト』というお気に入りリストを作って。」

「近所の AH に、今夜買って帰る価値のある vandaag-af のパンや野菜はある?」

購入履歴を振り返る

「9 月の店舗でのレシートの合計はいくらで、最も高かった商品 5 点は何?」

「前回の買い物のレシートを表示して、2 回以上買ったものを挙げて。」

はじめに

Albert Heijn アカウントが必要です。準備ができたら、次の手順に進んでください。

  1. アプリを接続する:以下から使うアプリを選びます。
  2. Albert Heijn にログインする:アシスタントに一度ログインを頼みます。
  3. 質問してみましょう。 できることをご覧ください。

クライアントを接続する

アプリ方法
Claude Desktopダウンロードしてダブルクリック。最も簡単です。ほかにインストールするものはありません。
Cursor、VS Codeワンクリックでインストール
ChatGPT、Claude.ai(ウェブとモバイル)自分のサーバーが必要です(技術者向け)
その他のアプリアプリの設定にコマンドを追加
Claude Desktop
  1. albert-heijn-mcp.mcpb をダウンロードします。
  2. ダブルクリックして、インストールを選択します。Claude で開かない場合は、「設定」→「拡張機能」→「詳細設定」→「拡張機能をインストール…」を開き、ファイルを選択してください。

これで完了です。このファイルには必要なものがすべて含まれています。更新するには、最新リリースのファイルを使って同じ操作をしてください。

MCP バンドル(.mcpb ファイル)に対応しているその他のデスクトップアプリにも、同じ方法でインストールできます。

Cursor と VS Code

最初に Node.js 24 (LTS) をインストールしてから、次をクリックしてください。

Cursor にインストール VS Code にインストール

ChatGPT と Claude.ai

ウェブアプリとモバイルアプリでは、コンピューター上で何も実行できず、インターネット上のサーバーに接続することしかできません。そのため、まずサーバーで実行する必要があります。これにはある程度の技術的な知識が必要です。その後、コネクターとして追加します。

  • ChatGPT では開発者モードが必要です(Plus、Pro、Business、Enterprise、Education)。「設定」→「詳細設定」を開き、開発者モードをオンにして、https://your-server/mcp を指定してコネクターを作成します。認証には OAuth を設定してください。
  • Claude.ai:「設定」→「コネクター」→「カスタムコネクターを追加」を開き、https://your-server/mcp を貼り付けて「接続」を選択します。

アプリによってサーバー上のログインページが開きます。そこで AH_MCP_TOKEN を入力してください。入力は一度だけです。

その他のアプリ

MCP サーバーをローカルコマンドとして起動するアプリでは、Node.js 24 (LTS) が必要です。npx -y albert-heijn-mcp を実行すると、最新バージョンがダウンロードされ、実行されます。ほとんどのアプリでは、MCP の設定に次の JSON を指定します。

{
  "mcpServers": {
    "ah": {
      "command": "npx",
      "args": ["-y", "albert-heijn-mcp"]
    }
  }
}

設定の場所はアプリごとに異なるため、ドキュメントを参照してください。コマンドラインを備えたアプリには、代わりに追加コマンドが用意されていることがよくあります。例:<client> mcp add ah -- npx -y albert-heijn-mcp。一部のアプリがインストール元として使用する MCP Registry にも掲載されています。

永続的にインストールするには、npm install --global albert-heijn-mcp を実行して albert-heijn-mcp コマンドを使ってください。更新する場合は、同じコマンドを再度実行します。

ヒント

デスクトップアプリはシェルのプロファイルを読み込まないため、npx が見つからないことがあります(nvm を使っている場合によくあります)。その場合は、command に which npx の出力を設定してください。

ログイン

アシスタントに Albert Heijn へのログインを依頼してください。これは一度だけ行えばよく、その後ログイン状態は保持され、自動的に更新されます。

お使いのコンピューター上(Claude Desktop、Cursor、VS Code などのローカルアプリ)の場合、AH のログインページを開いた別のブラウザーウィンドウが表示されます。そこで通常どおりログインしてください。ウィンドウは自動的に閉じ、ログインが完了します。その後、完了したことをアシスタントに伝えてください。

このウィンドウでは、新しく空のブラウザープロファイルを使用するため、パスワードを入力してください。保存済みのパスワードやパスワードマネージャーの拡張機能は利用できません。また、Chrome、Edge、Brave、Chromium(Ubuntu の snap 版を除く)と画面が必要です。そうでない場合は、以下の手順でコードを手動でコピーしてください。

サーバー上(ChatGPT、Claude.ai)の場合、またはログインウィンドウを開けない場合は、コードを手動でコピーします。AH のログインページにある CAPTCHA は AH の公式ウェブサイトでしか機能しないため、コードはブラウザーから取得する必要があります。

スマートフォンやタブレットではなく、コンピューターが必要です。スマートフォンやタブレットのブラウザーには開発者コンソールがありません。Chrome、Edge、Brave が最適です。

  1. アシスタントから受け取ったリンクを開きます。ただし、まだログインしないでください。

  2. そのタブで開発者コンソールを開きます。これはウェブ開発者向けのパネルで、安全に開けます。Mac では ⌘ ⌥ J、Windows と Linux では Ctrl Shift J を押します。

  3. 通常どおりログインします。すると AH はスマートフォンアプリを開こうとしますが、ブラウザーでは開けないため、ページが止まったように見えます。コンソールで、次の赤い行を探してください。

    Failed to launch 'appie://login-exit?code=…' because the scheme does not have a registered handler.
    
  4. appie:// から閉じ引用符までの部分をコピーして、チャットに貼り付けます。コードは一度しか使えず、すぐに期限切れになるため、すぐに貼り付けてください。

該当する行がありませんか?トラブルシューティングをご覧ください。開発者コンソールを使わずにサーバーでログインするには、サーバー上での実行をご覧ください。

ログイン情報の保存場所

ログイン情報はお使いのコンピューターに保存され、自動的に更新されます。保存先は、ユーザー本人だけが読み取れるファイルです。

OS場所
macOS~/Library/Application Support/albert-heijn-mcp/tokens.json
Linux~/.config/albert-heijn-mcp/tokens.json(または $XDG_CONFIG_HOME の下)
Windows%AppData%\albert-heijn-mcp\tokens.json

保存場所は AH_TOKENS_PATH で変更できます。

## トラブルシューティング
ログインウィンドウが開かない

ログインウィンドウを開くには、通常の場所に Chrome、Edge、Brave、または Chromium がインストールされており、画面が必要です。SSH 経由では使えず、Ubuntu の snap 版 Chromium も使えません。どちらも利用できない場合、アシスタントが代わりにリンクを提示するので、コードを手動でコピーしてください。ログインを完了する前にウィンドウを閉じてしまった場合は、もう一度ログインを依頼してください。

ログイン後に「Failed to launch」の行が表示されない

ログインする前に、開発者コンソールを開いておく必要があります。コンソールを開き、同じタブでログインリンクをもう一度開いてログインしてください。まだログイン中のため AH がログインフォームを省略しても問題ありません。その場合も行は表示されます。また、Network タブで appie://login-exit?code=… リクエストを探すこともできます。Chrome、Edge、Brave 以外のブラウザーでは、代わりにエラーページやダイアログにリンクが表示される場合があります。

「exchange code」でログインに失敗する

コードは一度しか使えず、すぐに有効期限が切れます。もう一度ログインを依頼し、新しいリンクをすぐに貼り付けてください。

「Not logged in」と表示される、またはセッションが壊れているように見える

アシスタントにログアウトと再ログインを依頼するか、ログイン場所から tokens.json を削除して、もう一度ログインしてください。

「The Albert Heijn login has expired」と表示される

Albert Heijn が保存済みのログインを受け付けなくなっています。アシスタントに Albert Heijn への再ログインを依頼してください。アプリをサーバーに再接続しても解決しません。これは別のログインです。

サーバーでログインが繰り返し期限切れになる場合は、再起動や再デプロイ後も保持されるストレージに tokens.json を保存し、インスタンスを 1 つだけ実行してください。AH はログインが更新されるたびにログイン情報を置き換えるため、古いファイルのコピーや、独自に更新する 2 つ目のインスタンスは拒否されます。

ログインコードを貼り付けたときに「Already connected as …」と表示される

コードで有効なログインが置き換わることはないため、別のアカウントのコードを使って切り替えることはできません。アカウントを切り替えるには、まずログアウトを依頼してから、もう一度ログインしてください。

「There is no active delivery order to change」と表示される

AH では、注文が存在する場合にのみ注文を変更できます。まず AH アプリまたは ah.nl で配送時間枠を選択してください。

「The shopping list is not available while a delivery order is active」と表示される

時間枠を選択すると、リストが注文に移動します。配達またはキャンセルが完了するまでは、代わりにアシスタントに注文の変更(ah_get_cart、ah_update_cart_item)を依頼してください。

サーバーが起動しない:「needs AH_MCP_TOKEN of at least 32 characters」

AH_MCP_TOKEN に長いランダムな値(例:openssl rand -hex 32 の出力)を設定して、再起動してください。値を変更すると、すべてのクライアントがログアウトされます。各クライアントを一度再接続してください。

サーバーのログインページに「This login link is not valid」と表示される

アプリから接続をもう一度開始してください。トークンを入力した直後に引き続き問題が起きる場合は、AH_MCP_BASE_URL がブラウザーに表示されているアドレスと完全に一致していることを確認してください。https:// も含めてください。ログインフォームは、そのアドレスからのアクセスのみ受け付けます。

サーバーのログインページが localhost で開く、またはアプリから接続できない

AH_MCP_BASE_URL にサーバーの公開用 https:// URL を設定し、サーバーを再起動してください。アプリはログインのためにその URL に転送されます。

ポート 3000 が使用中

環境変数または .env で AH_MCP_PORT に別のポートを設定してください。


サーバーで実行する

ChatGPT や Claude.ai などのウェブアプリやモバイルアプリでは、HTTPS を使用する Streamable HTTP 経由で、インターネット上にサーバーを公開する必要があります。エンドポイントは https://your-server/mcp です。

アプリは OAuth でログインします。エンドポイントを OAuth(または自動)認証で追加すると、アプリによってサーバー上のログインページが開きます。そこで AH_MCP_TOKEN を一度入力すると、アプリは専用のトークンを取得し、それを更新します。サーバーが受け付けるのはこれらの OAuth トークンのみで、AH_MCP_TOKEN 自体は受け付けないため、OAuth に対応していないアプリは HTTP 経由で接続できません。代わりにローカルで実行してください。

重要

AH_MCP_TOKEN を知っている人は誰でもログインして、あなたの Albert Heijn アカウントを使用できます。長くランダムな値を使用してください(openssl rand -hex 32)。値を変更すると、すべてのクライアントがログアウトされます。

npm からインストールし、リバースプロキシの背後で強化された systemd サービスとして実行します。

  1. サーバーを準備します。 Node.js 24 をインストールし、サービスユーザーを作成します。

    sudo useradd -r -m -d /home/albert-heijn-mcp -s /sbin/nologin albert-heijn-mcp
    
  2. /home/albert-heijn-mcp/.env で設定します。

    AH_MCP_BASE_URL=https://albert-heijn-mcp.example.com
    AH_MCP_TOKEN=<output of: openssl rand -hex 32>
    

    ファイルをサービスユーザーだけが読み取れるようにします:sudo chown albert-heijn-mcp: /home/albert-heijn-mcp/.env && sudo chmod 600 /home/albert-heijn-mcp/.env。

  3. パッケージに含まれるサービスユニットを使用してインストールします(--remote モードで実行されます)。

    sudo npm install --global --prefix /usr/local --ignore-scripts albert-heijn-mcp
    sudo install -m 644 /usr/local/lib/node_modules/albert-heijn-mcp/deploy/albert-heijn-mcp.service /etc/systemd/system/
    sudo systemctl daemon-reload
    sudo systemctl enable --now albert-heijn-mcp
    

    更新するには、同じコマンドを実行してから、sudo systemctl restart albert-heijn-mcp を実行します。

  4. 127.0.0.1:3000 に転送するリバースプロキシを使ってTLS を追加します。Caddy の場合:

    albert-heijn-mcp.example.com {
        reverse_proxy 127.0.0.1:3000
    }
    

サーバーで Albert Heijn にログインするには、接続済みのアプリでログインし、コードを手動でコピーしてください。またはコードの入力を省略し、自分のコンピューターでログインウィンドウを使ってログインしてから、ログイン情報をサーバーにコピーできます。

AH_TOKENS_PATH=./server-tokens.json npx -y albert-heijn-mcp login
scp server-tokens.json your-server:ah-tokens.json && rm server-tokens.json
ssh -t your-server 'sudo sh -c "install -d -o albert-heijn-mcp -g albert-heijn-mcp -m 700 /home/albert-heijn-mcp/.config/albert-heijn-mcp && install -o albert-heijn-mcp -g albert-heijn-mcp -m 600 $HOME/ah-tokens.json /home/albert-heijn-mcp/.config/albert-heijn-mcp/tokens.json.new && mv /home/albert-heijn-mcp/.config/albert-heijn-mcp/tokens.json.new /home/albert-heijn-mcp/.config/albert-heijn-mcp/tokens.json && rm $HOME/ah-tokens.json"'

サーバーは次のリクエスト時にログイン情報を読み込みます。再起動は不要です。別のファイルに保存することで、コンピューター自体のログイン情報と分けられます。AH はログイン情報を更新するたびに置き換えるため、同じログイン情報を使用できる場所は1か所だけです。SSH を使えないホストでは、サーバーがログイン情報を保存する場所、つまり AH_TOKENS_PATH または実行ユーザーのデフォルトの場所にアップロードしてください。

このサービスが書き込み可能なのは、トークンを保存する /home/albert-heijn-mcp のみです。AH_LOG_FILE を別の場所に設定する場合は、そのパスをユニットファイルの ReadWritePaths に追加してください。

設定

設定には環境変数を使用します。作業ディレクトリ内の .env ファイルにも設定できます(.env.example を参照)。環境にすでに設定されている変数が優先されます。ホスティングプラットフォームでは、.env ファイルではなく、プラットフォームの環境変数またはシークレットの設定で指定してください。これにより、AH_MCP_TOKEN がアプリのファイルに保存されるのを防げます。

変数デフォルト説明
AH_REMOTEfalseログイン時にブラウザーを開かず、コードをコピーしてログインします(--remote と同じ)。streamable-http では常に有効です。
AH_TOKENS_PATHOS ごとログイントークンの保存先です。
AH_MCP_HOST127.0.0.1HTTP サーバーがリッスンするインターフェースです。リバースプロキシの背後ではデフォルトのままにしてください。
AH_MCP_PORT3000HTTP サーバーのポートです。
AH_MCP_BASE_URLhttp://localhost:3000HTTP サーバーの公開 URL です。サーバー上では設定してください。OAuth クライアントはログイン時にこの URL に転送されます。また、ローカル以外の URL の場合、リバースプロキシがリクエストを転送できるように、localhost のみに適用される Host チェックが無効になります。
AH_MCP_TOKEN—HTTP トランスポート用のシークレットです。32 文字以上が必要で、これがないとトランスポートは起動しません。OAuth ログインページで入力します。また、OAuth トークンの署名にも使用されます。
AH_LOG_FILE—ログをこのファイルにも追記します。ログは常に stderr に出力されます。

コマンドラインフラグ:

node dist/index.js [--transport stdio|streamable-http] [--remote] [--version] [--help]
node dist/index.js login [--remote]

stdio(デフォルト)はローカルクライアント用です。streamable-http は /mcp で MCP を提供し、/authorize で OAuth ログインを提供します。login はターミナルから Albert Heijn にログインし、トークンを保存して終了します。--remote を指定すると、ログインウィンドウを開かずにコードの入力を求めます。

ツール

これらはアシスタントが裏側で使用するもので、自分で呼び出す必要はありません。読み取り専用のツールにはその旨が示されているため、アプリは確認を求めずに実行できます。データを削除するツールには破壊的であることが示されているため、アプリは先に確認を求めます。

データを返すツールは、利用するクライアント向けに、宣言済みのスキーマを持つ構造化出力も返します。ツールの結果に含まれる商品やレシピには、ah.nl のページへの url が含まれており、サーバーはアシスタントに商品名やレシピ名からそのページへリンクするよう求めます。

アカウント
ツール説明
ah_loginログインします。パソコン上でログインウィンドウを開くか、AH のログインリンクを返し、貼り付けたコードを使ってログインを完了します。
ah_logoutアカウントの切り替えやセッションのリセットのために、保存されたトークンを削除します。
ah_get_member_profile名前、マスキングされたメールアドレス、ボーナスカード番号(末尾 4 桁)を取得します。
商品と特売
ツール説明
ah_search_products1 つ以上のキーワードを一度に検索します。オランダ語の用語が最適です。bonus=true または filters(オーガニック、ビーガン、グルテンフリーなどの食事条件、アレルゲン、ラベル)で絞り込み、価格、購入頻度、Nutri-Score で sort できます。
ah_get_products1 つ以上の商品の詳細を取得します。include_nutritional_info=true を指定すると、栄養成分表が追加されます。
ah_get_product_alternativesAH が商品に対して提案する類似商品や代替品を取得します。
ah_get_bonus_offers今週のボーナス特売を取得します。period=next を指定すると来週分になります。previously_bought=true を指定すると、以前購入した商品(AH の「Eerder gekocht」)に限定されます。キーワードで絞り込むこともできます。
ah_get_bonus_group_products「2+1 gratis」などのセット割引を構成する個々の商品を取得します。
ah_search_stores郵便番号または自宅の住所から、近くの店舗を検索します。
ah_get_last_chance_items店舗の Vandaag-af 値下げ商品を取得します。デフォルトでは、住所から最も近い店舗が対象です。
レシピ
ツール説明
ah_search_recipesAllerhande のレシピを検索します。オランダ語の用語が最適です。
ah_get_recipe材料、手順、1 人分あたりの栄養情報を取得します。servings で材料の量を調整できます。
ah_add_recipe_to_shopping_listレシピの材料を商品に対応付け、リストに一度に追加します。ボーナス特売中の商品を優先します(prefer_bonus=false で無効化)。skip で手元にある材料を除外し、dry_run=true で対応付けをプレビューできます。
買い物リストとお気に入り
ツール説明
ah_get_shopping_list買い物中に商品を入れていくバスケット、「Mijn lijst」を取得します。
ah_add_to_shopping_list数量を指定して、商品をリストに追加します。
ah_add_free_text_to_shopping_list「verse bloemen」のような自由記述の品目を追加します。
ah_remove_from_shopping_list商品または自由記述の品目を削除します。
ah_clear_shopping_listすべて削除します。confirm="yes" が必要です。
ah_get_favorite_listsお気に入りリスト「Mijn lijstjes」を取得します。
ah_add_to_favorite_listお気に入りリストに商品を追加します。
ah_remove_from_favorite_listお気に入りリストから商品を削除します。
ah_create_favorite_list新しい空のお気に入りリストを作成します。
ah_delete_favorite_listお気に入りリストとその商品を削除します。confirm="yes" が必要です。
配送注文

AH アプリで配送または受け取りの時間枠を選ぶと、買い物リストが注文に移動します。ah_get_delivery_slots で配送可能な時間を確認でき、ほかのツールはその注文を操作します。

ツール説明
ah_get_delivery_slots今後数日間にお届け可能な、ご住所の配送時間帯です。
ah_get_cart有効な注文の商品と合計金額、割引を確認します。
ah_update_cart_item商品の数量を変更します。0にすると商品が削除されます。
ah_remove_from_cart注文から商品を削除します。
ah_clear_cart注文からすべての商品を削除します。confirm="yes" が必要です。
注文とレシート
ツール説明
ah_get_orders今後の配送注文、または past=true を指定した過去の注文を確認します。
ah_get_order_details1件の注文に含まれる商品を確認します。
ah_get_frequent_items配送注文を対象に集計した、注文頻度の高い商品を確認します。
ah_get_receipts最近の店舗レシート(kassabonnen)を確認します。
ah_get_receipt_details1件のレシートの商品、割引、支払い内容を確認します。
制限事項
  • API から配送注文を開始することはできません。 ah_get_delivery_slots で時間帯を確認できますが、注文を開始する時間帯の予約は AH アプリまたは ah.nl で行います。注文が有効な間、AH は買い物リストを提供しません。その場合、ツールがその旨を伝え、注文関連のツールを案内します。
  • 買い物リストの商品のチェックはサポートされていません。 API が使用可能な商品 ID を返さないためです。
  • Bonus Box(AH の個人向け週替わりセール)は利用できません。API が不明なためです。
  • 1回の呼び出しあたりの上限: 商品は最大99個、商品数は50点、フリーテキストの商品名またはリスト名は100文字です。

開発

git clone https://github.com/olekpuchka/albert-heijn-mcp
cd albert-heijn-mcp
npm ci
npm run build    # compile to dist/
npm run lint     # type-check

チェックアウトしたディレクトリから node dist/index.js で実行するか、クライアントの設定で node をコマンドに指定し、引数に /path/to/albert-heijn-mcp/dist/index.js を指定してください。

パス内容
src/index.ts、src/config.ts、src/loginCommand.tsエントリーポイント、フラグと設定、および login コマンド
src/ahapi/Node に組み込まれた fetch を使用する、AH の REST API と GraphQL API のクライアント
src/auth/ログインウィンドウ、ログインコードの交換、トークンの保存と更新
src/server/ストリーミング可能な HTTP トランスポートと OAuth ログイン
src/tools/MCP ツール。領域ごとに 1 ファイル
deploy/パッケージに含まれる systemd ユニット
manifest.json、.mcpbignore.mcpb バンドルのマニフェストと、バンドルから除外するファイル
listing/コネクターの設定やアプリディレクトリで使用する名前、説明、アイコン(方法)
.github/CI、リリースワークフロー、Dependabot、および固定バージョンの mcp-publisher インストール
assets/この README のロゴと、MCP クライアントに表示されるサーバーアイコン

実行時の依存関係は、公式の MCP TypeScript SDK と、SDK がツールスキーマに使用する Zod のみです。

ツールを手動で呼び出すには、MCP Inspector を使用してください。

npx @modelcontextprotocol/inspector node dist/index.js

変更をデプロイする前に、実アカウントで簡単な確認を行ってください。ログインし、melk を検索し、商品をショッピングリストに追加してから再び削除し、カートと注文を表示してください。

リリースするには、npm version 1.2.3 --no-git-tag-version で新しいバージョンを設定し、server.json と manifest.json の両方の箇所を更新して main にマージした後、タグをプッシュします:git tag v1.2.3 && git push origin v1.2.3。v* タグを作成できるのはリポジトリ管理者のみです。リリースワークフローではバージョンが一致していることを確認してパッケージをビルドし、albert-heijn-mcp.tgz として GitHub リリースに添付するとともに、albert-heijn-mcp.mcpb バンドルも添付します。また、トラステッドパブリッシングを通じて npm にパッケージをステージングするため、npm トークンを保存する必要はありません。ステージングされたバージョンを npmjs.com(または npm stage approve)で承認すると公開され、ワークフローによって MCP Registry のエントリーが更新されます。リリースノートは空欄で始まるため、GitHub で作成してください。

ライセンス

Apache 2.0

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。