MCP Demo App について
開発や API の例示向けに作られた、Node.js、Express、TypeScript のデモプロジェクトです。製品・注文の REST API を提供し、MCP 経由の検索ツールも備え、データは JSON ファイルに保存します。
主な機能
- 01製品・注文の REST API を提供
- 02Bearer トークン認証に対応
- 03JSON ファイルにデータを保存
- 04製品・注文の検索ツールを公開
- 05TypeScript で実装
活用シーン
- 01製品・注文 API の構築例を示す
- 02Bearer トークン認証を試す
- 03MCP クライアントから製品データを検索
- 04名前やカテゴリで製品を探す
MCP 対応
MCP サーバーは、製品情報や一覧、関連注文、製品検索などのクエリツールを公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
インストール方法は未掲載です
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ツール一覧はまだ取得されていません
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP デモアプリ
製品と注文を管理する、TypeScript を使用したシンプルな Node.js/Express API サーバーです。Model Context Protocol(MCP)との統合に対応しています。
機能
- 製品と注文の RESTful API
- Bearer トークン認証
- JSON ファイルにデータを保存
- 製品/注文のクエリ用ツールを公開する MCP サーバー
- 型安全性を実現する TypeScript
プロジェクト構成
├── src/
│ ├── server.ts # Main Express API server
│ ├── mcpServer.ts # MCP server exposing tools
│ └── data/
│ ├── products.json # Product data
│ └── orders.json # Order data
├── dist/ # Compiled JS output
├── package.json # Project metadata and scripts
├── tsconfig.json # TypeScript config
└── .gitignore # Ignored files
はじめに
前提条件
- Node.js(v16 以降を推奨)
- npm
依存関係のインストール
npm install
プロジェクトのビルド
npm run build
API サーバーの起動
npm run dev # For development (with nodemon)
npm start # For production (after build)
MCP サーバーの起動
npm run mcp
認証
/health を除くすべての API エンドポイントには Bearer トークンが必要です。有効なトークンの例:
valid_token_123client_abc_token
トークンは Authorization ヘッダーに含めます:
Authorization: Bearer valid_token_123
API エンドポイント
ヘルスチェック
GET /health—{ status: 'ok' }を返します
製品
GET /products— すべての製品を一覧表示しますGET /products/:productId— ID で製品を取得します
注文
GET /orders— すべての注文を一覧表示します(customerIdで絞り込み可能)GET /orders/:orderId— ID で注文を取得します
MCP サーバーのツール
MCP サーバー(src/mcpServer.ts)は、次のツールを公開します:
getProductInfo(productId)— 製品の詳細と関連する注文を取得しますlistProducts()— すべての製品を一覧表示しますgetProductOrders(productId)— 製品のすべての注文を取得しますsearchProducts(query)— 製品名またはカテゴリで製品を検索します
データの例
製品(src/data/products.json)
[
{ "id": "p1", "name": "Cloud Widget", "category": "Widgets", "price": 99.99 },
{ "id": "p2", "name": "Data Analyzer", "category": "Analytics", "price": 199.99 },
{ "id": "p3", "name": "API Gateway", "category": "Infrastructure", "price": 149.99 }
]
注文(src/data/orders.json)
[
{ "id": "o101", "productId": "p1", "customerId": "cust_abc", "quantity": 2, "orderDate": "2023-10-26T10:00:00Z", "status": "shipped" },
{ "id": "o102", "productId": "p2", "customerId": "cust_xyz", "quantity": 1, "orderDate": "2023-10-27T15:30:00Z", "status": "processing" },
{ "id": "o103", "productId": "p3", "customerId": "cust_abc", "quantity": 3, "orderDate": "2023-10-28T09:15:00Z", "status": "delivered" }
]
開発に関する注意事項
- TypeScript の設定:
tsconfig.jsonを参照してください - 無視されるファイル:
dist/、node_modules/ - データは
src/data/内の JSON ファイルに保存されます
ライセンス
MIT
コメント
Markdown 対応
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。