Office Supplies Inventory NANDA Service using MCP Server + NANDA Registry + NANDA host client
ローカルOffice Supplies Inventory NANDA Service using MCP Server + NANDA Registry + NANDA host client について
CSVファイルの事務用品在庫を提供するMCPのデモサービスです。AIアシスタントによる品目一覧の取得や詳細検索に使え、CSVを編集すれば別の在庫データにも適用できます。
主な機能
- 01在庫品目名の一覧取得
- 02指定品目の詳細取得
- 03CSVから在庫データを読み込み
- 04追加のCSV列を品目詳細に反映
活用シーン
- 01登録された事務用品の確認
- 02特定品目の詳細検索
- 03別の在庫CSVへのサービス適用
MCP 対応
`get_items`と`get_item_info`をMCPツールとして公開します。SSE経由でローカルテストでき、クラウドにデプロイしてNANDA hostクライアントから利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP サーバー + NANDA Registry + NANDA ホストクライアントを使用したオフィス用品在庫 NANDA サービス
オフィス用品の在庫情報を提供する、Model Context Protocol(MCP)サーバーコードを使用した NANDA サービスを作成します。このサービスでは、AI アシスタントが MCP 標準を使用してオフィス用品の情報を照会し、取得できます。クラウドでホストされるサーバーと、ウェブベースの NANDA ホストクライアントを使用します。ローカルサーバーをインストールする必要はありません。
同じフレームワークを使用して、あらゆる標準的な在庫管理向けの消費者向けウェブアプリをデプロイできます。
概要
このプロジェクトでは、CSV ファイルからオフィス用品の在庫データを提供する MCP サーバーコードを使用して、NANDA サービスを実装します。AI アシスタントが以下を行えるツールを提供します。
- 在庫内のすべての利用可能な商品の一覧を取得する
- 商品名を指定して、その詳細情報を取得する
前提条件
- Python 3.9 以降
requirements.txtに記載されている依存関係
このリポジトリ内のファイル
officesupply.py:メインのサーバー実装inventory.csv:オフィス用品の在庫データを含む CSV ファイルbuild.sh:環境をセットアップするスクリプトrun.sh:サーバーを実行するスクリプトrequirements.txt:Python の依存関係の一覧
クイックスタート
ローカル環境のセットアップ
-
このリポジトリをクローンします。
git clone https://github.com/aidecentralized/nanda-servers.git cd office-supplies-shop-server -
以下の環境セットアップ方法からいずれかを選択します。
オプション A:Python venv を使用する
-
Python 仮想環境を作成します。
python -m venv venv -
仮想環境を有効にします。
- Linux/macOS の場合:
source venv/bin/activate - Windows の場合:
venv\Scripts\activate
- Linux/macOS の場合:
-
依存関係をインストールします。
pip install -r requirements.txt
オプション B:Conda を使用する
-
新しい conda 環境を作成します。
conda create --name inventory_env python=3.11 -
conda 環境を有効にします。
conda activate inventory_env -
依存関係をインストールします。
pip install -r requirements.txt
テスト用にサーバーをローカルで実行する
上記いずれかの方法で環境をセットアップした後、次の手順を行います。
-
サーバーを実行します。
python officesupply.py -
サーバーは http://localhost:8080 で利用できます。
MCP Inspector を使用してテストする
-
MCP Inspector をインストールします。
npx @modelcontextprotocol/inspector -
Inspector が提示する URL をブラウザーで開きます。
-
SSE トランスポートタイプを使用して接続します。
-
URL の末尾に
/sseを付けて、サーバー URL を入力します(例:http://localhost:8080/sse)。 -
利用可能なツールをテストします。
get_items:在庫内のすべての商品名を一覧表示しますget_item_info:特定商品の詳細を取得します
CSV データ形式
サーバーは、少なくとも以下の列を含む inventory.csv ファイルを必要とします。
item_name:在庫商品の名前
追加の列は、get_item_info が返す商品詳細に含まれます。
この範囲内で、要件に応じて CSV ファイルを編集できます。MCP サーバーは、その CSV ファイルでも動作するはずです。
デプロイ
クラウドデプロイの準備
-
リポジトリに以下が含まれていることを確認します。
- すべてのコードファイル
requirements.txtbuild.shとrun.shスクリプト
-
シェルスクリプトに実行権限を設定します。
chmod +x build.sh run.shWindows の場合は、次を実行します。
wsl chmod +x build.sh run.sh
AWS アカウントの作成
AWS AppRunner へのデプロイ
-
AWS アカウントを作成します
-
請求用のクレジットカードを登録します
-
AWS AppRunner にアクセスします(https://console.aws.amazon.com/apprunner)
-
ログインします(まだログインしていない場合)
-
App Runner ダッシュボードを開くと、ページ右上付近に青色の「Create service」ボタンがあります。クリックします。
-
ソースコードリポジトリから新しいサービスを作成します
-
サービスを設定します。
- Python 3.11 ランタイム
- ビルドコマンド:
./build.sh - 実行コマンド:
./run.sh - ポート:8080
-
デプロイして、完了するまで待ちます
-
MCP Inspector でパブリックエンドポイントをテストします
NANDA Registry への登録
- NANDA Registry にアクセスします
- ログインするか、アカウントを作成します
- 「Register a new server」をクリックします
- 詳細を入力します。
- サーバー名
- 説明
- パブリックエンドポイント URL(
/sseを付けずに入力) - タグとカテゴリー
- サーバーを登録します
NANDA Host(ブラウザーベースのクライアント)での使用方法
- nanda.mit.edu にアクセスします
- NANDA Host に移動します
- Anthropic API キーを追加します
- レジストリで MCP サーバーを見つけます
- ホストに追加します
- サーバーの機能を使う質問をしてテストします
トラブルシューティング
- CSV ファイルが正しくフォーマットされていることを確認します
- デプロイする前に、サーバーをローカルでテストします
- 登録する前に、MCP Inspector でパブリックエンドポイントが機能することを確認します
- デプロイに失敗した場合は、AWS のログを確認します
追加リソース
MCP サーバーのセットアップと使用方法を順を追って説明する、こちらの動画チュートリアルをご覧ください:

謝辞
NANDA Servers リポジトリを基にしています。 https://nanda.mit.edu で ProjectNanda をフォローしてください
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。