mcpField
M
MCP Demo App

MCP Demo App

ローカル
github.com/sameerfa開発ツール078 週間前に更新

MCP Demo App について

開発や API の例示向けに作られた、Node.js、Express、TypeScript のデモプロジェクトです。製品・注文の REST API を提供し、MCP 経由の検索ツールも備え、データは JSON ファイルに保存します。

主な機能

  1. 01製品・注文の REST API を提供
  2. 02Bearer トークン認証に対応
  3. 03JSON ファイルにデータを保存
  4. 04製品・注文の検索ツールを公開
  5. 05TypeScript で実装

活用シーン

  1. 01製品・注文 API の構築例を示す
  2. 02Bearer トークン認証を試す
  3. 03MCP クライアントから製品データを検索
  4. 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_123
  • client_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

コメント

MCP は初めてですか?

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

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