>100 Views
December 10, 25
スライド概要
Season of AI - MCP : AI時代の必須スキル、MCPをPythonで体験しよう!(https://osaka-driven-dev.connpass.com/event/376248/)登壇資料。
ICT業界でソフトウェアエンジニア/アプリケーションアーキテクトを担当。 社内ではXR関連技術に関する啓もう活動や技術支援に従事。 業務の傍ら、XR(特にMixed Reality領域)についての開発技術の調査、開発などを行っています。 また、「大阪駆動開発」コミュニティ所属しており、日々の調査で得た知見はコミュニティを通して情報発信を行っています。
Season of AI Let’s Learn MCP Model Context Protocol 大阪駆動開発コミュニティ 宮浦 恭弘 株式会社 BizOptimars 代表取締役社長 りなたむ(中村 亮太)
Agenda 1. MCPとは何ですか?どのように機能するのですか?どうやって使うの? 2. MCPの特徴の詳細な概要 3. 実世界のシナリオ – Microsoft Learn MCPサーバー 4. MCPサーバーの構築 Tutorial: https://aka.ms/letslearnmcp-python https://aka.ms/letslearnmcp-csharp https://aka.ms/letslearnmcp-java https://aka.ms/letslearnmcp-javascript
今日の解説者 宮浦 恭弘 大阪駆動開発コミュニティ Microsoft MVP Mixed Reality 2018-2025 Microsoft MVP M365 2025-2026 りなたむ(中村 亮太) 株式会社 BizOptimars 代表取締役社長 Microsoft MVP BizApps 2020-2026 https://my.prairie.cards/u/Rinatamu_ITDR
今日はMCPの基礎的な話を 座学とワークショップで体験する勉強会 MCPに入る前に・・・ 関係が深い 最近のアプリケーション開発の話を少し
Agent mode Agentic coding コードから成果物へ移行し、デリバリーを加速 複数のステップから成るコーディングタスク (エディターからターミナル、テストからデ バッガーまで)を計画・実行・反復する自律型 AIペアプログラマー。 しかし、リアルタイムの文脈をどう提供すればよいのか? データベースへの接続方法はどうするのか?GitHub Issuesをクエリするのか?自然言語でテストを 実行するのか?コードとクライアント、LLM、その他すべてとの間のギャップをどう埋めるのか?
MCPがなぜ必要性なのか ツールはエージェントの パフォーマンスに不可欠な要素 統合するにはカオスすぎる!!! 標準の必要性(MCP)
MCPは、アプリケーションが LLMにコンテキストを提供する方法を 標準化するオープンプロトコルです。 これはAI用USB-Cのようなもの と比喩されることが多いです
Model Context Protocol Anthropic社によって作られた AI コミュニティによって採用され 共に進化している
MCPの構成要素 Hosts Clients Servers
Demo Setting up & using MCP servers aka.ms/letslearnmcp-python
MCP を掘り下げる Mahesh Murag (Anthropic) AI Engineer session より抜粋し翻訳 MCP Client MCP Server Tools の呼出 Tools の公開 Resources 用のクエリ Resources の公開 Prompts の補完 Prompts の公開 Tools Resources Prompts Model-controlled Application-controlled User-controlled モデルによる関数呼出 アプリケーションに 公開されたデータ AI会話用 事前定義テンプレート 取得 / 検索 ファイル ドキュメント Q&A メッセージ送信 DB レコード 議事録要約 DB レコードの更新 API の応答 JSON 形式の出力
基本的な要素 Tools LLMが特定のアクションを実行 するために呼び出せる関数 – 基本的に関数呼出 • • • • メール送信 ToDoリスト更新 テスト実行 バグを報告
Tools: User controls ツール呼び出しを微調整し改善するためのユーザーコントロールを提供する チャットごとのツール選択 プロンプトでツールを言及 ユーザー定義ツールセット 特定のタスクを完了するために必 要なツールを手動で削減する 推測を減らし、必要に応じて参照 ツールを活用する。 タスク固有のツールをタスク間で 再利用する
データの追加と返却の容易に Resources クライアント/エージェント/ユー ザーとして、読み取り専用モード でデータをURIとして公開する。 • ファイル • 文書 • DBエントリ/スキーマ • 画像
Resources: Use cases クライアントとユーザーがデータにアクセスできるようにする 応答トークンを減らす データ/ファイルをユーザーに公開 文脈として添付する 埋め込みリソースを返すことで、 エージェントがデータを取得でき るようになります。 LLMのコンテキストではなく、ユー ザーが操作するための資産を提供 特定のリソースが添付されたツー ルのルックアップを削減する。
Quick Prompts ユーザーが明示的に呼び出す、AIタ スク用の事前定義済みテンプレー ト。 • 静的プリセット • プレースホルダー付きで再利用可能 • 動的に生成される
Prompts: Use cases 静的なテンプレートから動的に生成されるワークフローへ /welcome /setup /need-info {issue} /impl-metric {name} /migrate-db … /root-cause-wizard Onboarding プロンプト 一般的なワークフロー コンテキスト認識型ワークフロー 設定の確認とツールを扱うための ウェルカムプロンプト 単発タスク、再利用性を考慮した パラメータ化 現在のユーザー/コードベースに 合わせて動的にカスタマイズされ る
Real-world scenario The Microsoft Learn MCP Server
実世界のシナリオ:Microsoft Learn MCP サーバー Microsoft Learn MCPサーバーは、リ モートMCPサーバーであり、GitHub Copilotやその他のAIエージェントと いったクライアントが、Microsoft Learn(Microsoftの公式ドキュメン ト)から直接、信頼性が高く最新の 情報を取得できるようにします。 Learn MCPはAIエージェントに適切な情報を提示するツールを提供 microsoft_docs_search for focused excerpts サーバーはMicrosoft_Docs_Searchツールを使用してMicrosoftコン テンツを検索し、最大10個の高品質な情報チャンクを返すことがで きます。コンテンツチャンクにはタイトル、URL、および独立した 文章が含まれます。 microsoft_docs_fetch for full technical documentation より広い文脈が必要な場合、Learn MCP Server は microsoft_docs_fetch ツールを使用して完全なページを取得し、エージェントに文脈情報を提 供します。 microsoft_code_sample_search for code samples サーバーは、microsoft_code_sample_search ツールを使用し て Microsoft Learn から関連する言語固有のコードスニペット を返します。これにより、エージェントはデプロイ、スクリ プト作成、構成などのシナリオにおいて正確なコードを提示 できるようになります。
実世界のシナリオ: Microsoft Learn MCP サーバー デモ セキュアなコンテナ化されたアプリケーションのデプロイ 開発者は、Visual Studio Code内のLearn MCP Serverを使用して、Microsoft Learnドキュメントから直接検証済みで 引用されたデプロイパターンを取得で きます。 ここでは、開発者がBicepとGitHub Actionsを使用してコンテナ化されたア プリをAzureに安全にデプロイする方法 を知りたいと考えています。プロンプ トと、GitHub Copilot(エージェント モード)がソリューション構築のため に実行する最初のステップを確認して ください。 Step 1: GitHub CopilotはLearn MCP サーバーにアクセスし、検索 ツールを2回使用します。
実世界のシナリオ: Microsoft Learn MCP サーバー デモ ステップ 2: ファイルを作成する Step 2: GitHub CopilotはLearnから の情報に基づいてファイル を作成します。
実世界のシナリオ:Microsoft Learn MCP Server デモ ステップ3:解決策とプロセスを要約する Step 3: GitHub Copilotは、自分が 行ったことを説明します。
Pro tip:エージェントにLearn MCPサーバーの使用方法を尋ねてください
Building an MCP aka.ms/letslearnmcp-python
Official SDKs
PythonでMCP!
PythonではuvとMCP Python SDKを使って作ることができます。
from mcp.server.fastmcp import FastMCP
# Create the MCP server
mcp = FastMCP("Simple Prompts Server")
@mcp.prompt()
def hello_world(language: str = "python") -> str: """プログラミング言語名を受け取り、そ
の言語でHello worldを出力するコードを生成します。""“
prompt = f"Hello worldを出力する{language}コードを書いてください。“
return prompt
if __name__ == "__main__":
mcp.run()
PythonでMCP!
作ったpythonコードをMCPサーバとして登録
{
}
"inputs": [
],
"servers": {
"learnpython-mcp": {
"command": "C:¥¥Python¥¥Python313¥¥Scripts¥¥uv.exe",
"args": [
"--directory",
".",
"run",
"server_part_2.py"
],
}
}
Demo Building an MCP Server
Model Context Protocol At Microsoft Copilot Studio VS Code Foundry Agent Visual Studio Windows GitHub Copilot Microsoft Teams Semantic Kernel MCP Clients & Host Community Tools C# MCP SDK Enterprise Registry Azure API Management Azure Functions Microsoft Connectors Build Local & Remote MCPs MPC enables seamless Integration between LLM Apps and external data sources Model Context Protocol Windows
GitHub MCP Registry コミュニティ提供のサーバーとツール で、モデルをファイル、API、データ ベースなどに接続します。 • 2025年9月リリース • VS Code内で発見可能、ワンクリックイ ンストール • MCP互換ホスト(GitHub Copilotを含 む)として動作 • MCPサーバーの選択と利用における重複 を削減し、信頼性を高めることが目的 github.com/mcp
Learn more Today's tutorial aka.ms/letslearnmcp-csharp Microsoft wants to hear from you! Participate in the Season of AI post-event survey to share your feedback on this topic and content. More training aka.ms/mcp-for-beginners Microsoft Learn MCP Server aka.ms/Season-of-AI-MSLearnMCPServer VS Code MCP Support aka.ms/vscode-mcp Model Context Protocol modelcontextprotocol.io Online AI Community aka.ms/AIDiscord https://aka.ms/soai/mcp/attendeesurvey
ハンズオン資料 https://qiita.com/miyaura/private/8ee51034317d5a1c6aad