ueshiman/mcp-workshop-20250905
3.1
If you are the rightful owner of mcp-workshop-20250905 and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
This document provides a comprehensive overview of the MCP Server workshop, focusing on the development and deployment of an MCP Server using Azure Functions and MCP Tool Trigger.
Tools
3
Resources
0
Prompts
0
MCP Server workshop
ワークショップ概要
このワークショップでは、Azure Functions の MCP Tool Trigger を利用し、以下の構成のサンプルアプリケーションをもとに開発の基礎を学ぶことができます。
%%{init: { "flowchart": { "htmlLabels": true, "nodeSpacing": 40, "rankSpacing": 60 } }}%%
graph LR
%% スタイル定義
classDef user fill:#e1f5fe,stroke:#0277bd,stroke-width:2px
classDef ai fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef server fill:#e8f5e8,stroke:#388e3c,stroke-width:3px
classDef tool fill:#fff3e0,stroke:#f57c00,stroke-width:2px
classDef db fill:#fce4ec,stroke:#c2185b,stroke-width:2px
%% スペーサー用クラス(不可視)
classDef pad fill:transparent,stroke:transparent,color:transparent,stroke-width:0
%% ユーザーインターフェース
Console[🖥️ MCP Client<br/>コンソールアプリケーション]:::user
%% AI サービス
OpenAI[🤖 Azure OpenAI<br/>GPT-4.1<br/>Tool選択・呼び出し]:::ai
%% データベース
CosmosDB[(🗄️ Azure Cosmos DB<br/>レビューデータ)]:::db
%% MCP Server(Azure Functions内にToolsを配置)
subgraph MCPServer[🔧 MCP Server <br/>Azure Functions]
direction TB
%% 上端に余白を作るための不可視スペーサー
TopPad[" "]:::pad
Tool1[📊 get_reviews_by_category<br/>カテゴリ別レビュー取得]:::tool
Tool2[📄 get_review_detail<br/>詳細レビュー取得]:::tool
Tool3[📅 get_reviews_by_date<br/>日付範囲レビュー取得]:::tool
end
%% 接続関係
Console <--> OpenAI
%% LLMから各Toolへの選択的な呼び出し
OpenAI -->|Tool Call | Tool1
OpenAI -->|Tool Call | Tool2
OpenAI -->|Tool Call | Tool3
Tool1 --> CosmosDB
Tool2 --> CosmosDB
Tool3 --> CosmosDB
%% ユーザーのクエリ例とToolの対応関係
Query1["「タブレットカテゴリ内で<br/>評価のいい製品を教えて」"]:::user
Query2["「ここ1週間の<br/>タブレットのレビューは」"]:::user
Query1 -.-> Console
Query2 -.-> Console
%% スタイルをサブグラフに適用
class MCPServer server
アジェンダ
1. イントロダクション
ここでは講師の解説をもとに、参加者全員でハンズオンを進めていきます。
| No | タイトル(ドキュメントリンク) | 概要 |
|---|---|---|
| 1-1 | Codespace を使ったローカル開発環境・デバッグ実行の準備をします。 | |
| 1-2 | Azure Functions のサンプルコードをデバッグ実行しながら、MCP Serverの実装コードの構成を講師が解説します。 |
2. Self-paced contents
ここからは、時間の許す限りドキュメントに沿って自身のペースでハンズオンを進めます。
| No | タイトル(ドキュメントリンク) | 概要 |
|---|---|---|
| 2-1 | Azure Functions の MCP Tool Trigger を利用した MCP Server の実装を行います。 | |
| 2-2 | ここまで実装した Function App を Azure へデプロイする方法を学びます。 | |
| 2-3 | MCP ServerのToolを追加実装します。 | |
| 2-4 | ローカルでMCP Serverの動作検証・デバッグを行うための開発支援ツールであるMCP Inspectorを紹介します。 |
ワークショップ概要
MCP Server について
- PythonのMCP Tool TriggerのAzure Functionsを作成する
- 「タブレットカテゴリ内で評価のいい製品を教えて」「今年の春のタブレットのレビューは」に答えられるToolを持ったMCP Serverを作成する
Cosmos DBスキーマ構造
- Cosmos DB: cosmos-mcp-workshop-{unique_id}
- データベース: Gadget
- Container: Reviews
- パーティションキー: /category
ガジェット製品レビューデータ(Cosmos DB)
- レビュー ID
- カテゴリ
- スコア(1~5)
- 投稿日
- 本文
- 投稿者 ID
- 投稿者名
- 投稿者の年齢層 (xx 代)
- 商品 ID
- 商品名
レビューサンプルデータ
{
"id": "rev_001",
"category": "タブレット",
"score": 4.5,
"posted_date": "2025-06-25T10:30:00Z",
"content": "軽量で持ち運びが便利。ディスプレイが非常にクリア",
"user_id": "user_12345",
"user_name": "田中太郎",
"user_age_group": "30代",
"product_id": "tab_001",
"product_name": "UltraTab Pro 11インチ"
}
カテゴリに指定できるもの
- タブレット
- ノートパソコン
- デスクトップ
- PCスピーカー
- ディスプレイ
一覧取得MCPのレスポンス
- レビュー ID
- カテゴリ
- スコア
- 投稿日
- 投稿者の年齢層 (xx 代)
- 商品 ID
- 商品名
レビュー詳細MCPのレスポンス
- レビュー ID
- カテゴリ
- スコア
- 投稿日
- 本文
- 投稿者の年齢層 (xx 代)
- 商品 ID