My MCP Server について
My MCP Server は LLM を Mon Marché の食料品プラットフォームに接続し、商品検索とカート操作を可能にします。保存した Cookie または明示的なセッショントークンでログイン状態を管理し、コマンドライン用スクリプトも備えます。
主な機能
- 01Mon Marché の商品検索
- 02商品をカートに追加
- 03カートの内容を確認
- 04カートを空にする
- 05Cookie によるログインセッションの保持
活用シーン
- 01商品名で食料品を検索
- 02選んだ商品をカートに追加
- 03スクリプトからカートを確認または空にする
MCP 対応
MCP サーバーは、商品検索、商品追加、カート確認、カートを空にするツールを公開します。ツールは保存済みのセッション Cookie を既定で使い、明示的なセッショントークンも受け取れます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Mon Marché MCP サーバー
LLM を Mon Marché のフランスの食料品店に接続する Model Context Protocol(MCP)サーバーです。このサーバーを使うと、AI アシスタントが商品の検索、ショッピングカートの管理、Mon Marché プラットフォームとのやり取りを行えます。
機能
- 商品検索:名前で商品を検索します。
- カート管理:
- 商品をカートに追加します。
- 現在のカートの内容を表示します。
- カートをすべて空にします。
- セッション管理:Cookie を使用してログインとセッションの永続化を自動で行います。スクリプトやヘッドレス環境での使用に対応する明示的な
--sessionフラグをサポートしています。
前提条件
- Node.js(v16 以降)
- npm または yarn
- 有効な Mon Marché アカウント
インストール
-
リポジトリをクローンします:
git clone https://github.com/Chopin85/mcp-server-monmarche cd mcp-server-monmarche -
依存関係をインストールします:
npm install -
環境を設定します: サンプルの環境ファイルをコピーし、認証情報を追加します:
cp .env.example .env.envを編集し、詳細を入力します:[email protected] MON_MARCHE_PASSWORD=your-password -
プロジェクトをビルドします:
npm run build
設定と認証
MCP サーバーやツールを使用する前に、認証を行ってセッションを生成する必要があります。
ログインスクリプトを実行します:
npm run login
このコマンドは .env の認証情報でログインし、セッション Cookie を session-cookie.json に保存します。
重要
セッションの有効期限が切れた場合、または
session-cookie.jsonを削除した場合は、npm run loginを再実行する必要があります。
使用方法
MCP サーバーの実行
MCP クライアント(Claude Desktop や IDE 拡張機能など)で使用するサーバーを起動するには:
node dist/index.js
MCP Inspector でのテスト
MCP Inspector を使用して、ツールを対話形式でテストできます:
npx @modelcontextprotocol/inspector node dist/index.js
CLI ツール
このプロジェクトには、テストや自動化のために、コマンドラインからツールを直接実行するヘルパースクリプトが含まれています。
すべてのコマンドで、session-cookie.json の代わりに明示的なセッショントークンを使用するための任意の --session フラグをサポートしています:
node dist/utils/cli.js <command> [args...] [--session <token>]
- 検索:
npm run searchProducts "pomme" - カートに追加:
npm run addProduct -- --id <PRODUCT_ID> --quantity <QTY> - カートを表示:
npm run getCartList - カートを空にする:
npm run clearCart
--session の使用(明示的なトークン)
セッショントークンを直接渡すと、session-cookie.json ファイルを使用せずに実行できます:
# Direct node usage
node dist/utils/cli.js searchProducts "pasta" --session "abc123"
node dist/utils/cli.js getCartList --session "abc123"
node dist/utils/cli.js addProduct --id "123" --quantity 2 --session "abc123"
node dist/utils/cli.js clearCart --session "abc123"
# Via npm scripts (with -- separator)
npm run searchProducts -- "pasta" --session "abc123"
npm run getCartList -- --session "abc123"
npm run addProduct -- --id "123" --quantity 2 --session "abc123"
npm run clearCart -- --session "abc123"
メモ
--sessionを指定すると、その呼び出しではsession-cookie.jsonファイルは無視されます。
利用可能なツール
サーバーは、MCP クライアントに次のツールを公開します:
searchProduct
Mon Marché で商品を検索します。
- 入力:
{ "name": "string", "session?": "string" } - 戻り値:一致した商品の ID と詳細の一覧。
addProduct
指定した商品をカートに追加します。
- 入力:
{ "id": "string", "quantity": number, "session?": "string" } - 戻り値:追加の確認。
getCartList
現在のショッピングカートの内容を取得します。
- 入力:
{ "session?": "string" } - 戻り値:カート内の商品一覧。
clearCart
ショッピングカートからすべての商品を削除します。
- 入力:
{ "session?": "string" } - 戻り値:確認メッセージ。
メモ
すべてのツールで任意の
sessionパラメーターを指定できます。省略した場合、セッションはsession-cookie.jsonから読み込まれます。
トラブルシューティング
- ログインに失敗する場合:
.envに入力したメールアドレスとパスワードが正しいことを確認してください。 - セッションエラー:ツールで認証エラーが返された場合は、
npm run loginを実行してセッション Cookie を更新するか、有効なトークンを--sessionで渡してください。 - ビルドエラー:
npm installですべての依存関係がインストールされていることを確認してください。
ライセンス
このプロジェクトは ISC License の下でライセンスされています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。