395 lines
39 KiB
Markdown
395 lines
39 KiB
Markdown

|
||
|
||
[](https://GitHub.com/microsoft/mcp-for-beginners/graphs/contributors)
|
||
[](https://GitHub.com/microsoft/mcp-for-beginners/issues)
|
||
[](https://GitHub.com/microsoft/mcp-for-beginners/pulls)
|
||
[](http://makeapullrequest.com)
|
||
|
||
[](https://GitHub.com/microsoft/mcp-for-beginners/watchers)
|
||
[](https://GitHub.com/microsoft/mcp-for-beginners/fork)
|
||
[](https://GitHub.com/microsoft/mcp-for-beginners/stargazers)
|
||
|
||
|
||
[](https://discord.gg/nTYy5BXMWG)
|
||
|
||
これらのリソースの使用を開始するには、以下の手順に従ってください:
|
||
1. <strong>リポジトリをフォークする</strong>: クリック [](https://GitHub.com/microsoft/mcp-for-beginners/fork)
|
||
2. <strong>リポジトリをクローンする</strong>: `git clone https://github.com/microsoft/mcp-for-beginners.git`
|
||
3. **[](https://discord.gg/nTYy5BXMWG) に参加する**
|
||
|
||
|
||
### 🌐 多言語対応
|
||
|
||
#### GitHub Action によるサポート(自動化&常に最新)
|
||
|
||
<!-- CO-OP TRANSLATOR LANGUAGES TABLE START -->
|
||
[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](./README.md) | [Kannada](../kn/README.md) | [Khmer](../km/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md)
|
||
|
||
> **ローカルでクローンするのが好みですか?**
|
||
>
|
||
> このリポジトリには50以上の言語翻訳が含まれており、ダウンロードサイズが大幅に増加します。翻訳なしでクローンするには、スパースチェックアウトを使用してください:
|
||
>
|
||
> **Bash / macOS / Linux:**
|
||
> ```bash
|
||
> git clone --filter=blob:none --sparse https://github.com/microsoft/mcp-for-beginners.git
|
||
> cd mcp-for-beginners
|
||
> git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'
|
||
> ```
|
||
>
|
||
> **CMD (Windows):**
|
||
> ```cmd
|
||
> git clone --filter=blob:none --sparse https://github.com/microsoft/mcp-for-beginners.git
|
||
> cd mcp-for-beginners
|
||
> git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"
|
||
> ```
|
||
>
|
||
> これにより、コースを完了するために必要なすべてを、はるかに高速なダウンロードで手に入れることができます。
|
||
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
|
||
|
||
# 🚀 初心者向けモデルコンテキストプロトコル(MCP)カリキュラム
|
||
|
||
## **C#、Java、JavaScript、Rust、Python、TypeScriptで手を動かしてMCPを学ぼう**
|
||
|
||
## 🧠 モデルコンテキストプロトコルカリキュラムの概要
|
||
モデルコンテキストプロトコルへの旅へようこそ!AIアプリケーションがどのようにしてさまざまなツールやサービスと連携しているのか、考えたことはありますか?開発者がインテリジェントなシステムを構築する方法を変革しているエレガントな解決策を、これから発見しようとしています。
|
||
|
||
MCPはAIアプリケーションのためのユニバーサル翻訳機のようなものです。USBポートがどんなデバイスでもコンピューターに接続できるように、MCPはAIモデルが任意のツールやサービスに標準化された方法で接続できるようにします。初めてチャットボットを作る方も、複雑なAIワークフローに取り組んでいる方も、MCPを理解することで、より強力で柔軟なアプリケーションを作る力を得られます。
|
||
|
||
このカリキュラムは、あなたの学習旅程に合わせて丁寧に設計されています。すでに理解しているシンプルな概念から始めて、お気に入りのプログラミング言語でのハンズオン演習を通じて徐々に専門知識を築いていきます。すべてのステップには明確な説明、実践的な例、そして豊富な励ましが含まれています。
|
||
|
||
この旅を終える頃には、自分自身でMCPサーバーを構築し、人気のあるAIプラットフォームと統合し、この技術がAI開発の未来をどのように変えているかを理解できる自信がついているでしょう。さあ、このワクワクする冒険を一緒に始めましょう!
|
||
|
||
### 公式ドキュメントおよび仕様
|
||
|
||
このカリキュラムは<strong>MCP仕様 2025-11-25</strong>(最新の安定版リリース)に沿っています。MCP仕様は日付ベースのバージョニング(YYYY-MM-DD形式)を使い、プロトコルのバージョン追跡を明確にしています。
|
||
|
||
これらのリソースはあなたの理解が深まるほど価値を増しますが、すぐにすべてを読み通す必要はありません。まず興味のある分野から始めてください!
|
||
- 📘 [MCPドキュメント](https://modelcontextprotocol.io/) – ステップバイステップのチュートリアルやユーザーガイドが充実した、初心者向けのリファレンスです。自分のペースでわかりやすい例を読み進められます。
|
||
- 📜 [MCP仕様](https://modelcontextprotocol.io/specification/2025-11-25) – 包括的なリファレンスマニュアルと考えてください。カリキュラムを進めるうちに特定の詳細を調べたり、高度な機能を探求したりするために繰り返し参照するでしょう。
|
||
- 📜 [MCP仕様のバージョニング](https://modelcontextprotocol.io/specification/versioning) – プロトコルのバージョン履歴やMCPが日付ベースのバージョニング(YYYY-MM-DD形式)をどのように使っているかの情報が含まれています。
|
||
- 🧑💻 [MCP GitHubリポジトリ](https://github.com/modelcontextprotocol) – SDK、ツール、複数プログラミング言語のコードサンプルが見つかります。実用的な例やすぐに使えるコンポーネントの宝庫のような場所です。
|
||
- 🌐 [MCPコミュニティ](https://github.com/orgs/modelcontextprotocol/discussions) – 他の学習者や経験豊富な開発者とMCPについて議論できるサポートコミュニティです。質問も歓迎され、知識が自由に共有されます。
|
||
|
||
## 学習目標
|
||
|
||
このカリキュラムを終えるころには、新しいスキルに自信とワクワクを感じられるでしょう。達成できることは以下の通りです:
|
||
|
||
• **MCPの基本を理解する**:モデルコンテキストプロトコルとは何か、なぜAIアプリケーションの連携方法を変革しているのかを、わかりやすい例えや具体例でつかみます。
|
||
|
||
• **初めてのMCPサーバーを構築する**:お気に入りの言語で動作するMCPサーバーを作成します。シンプルな例から始めて、段階的にスキルを伸ばします。
|
||
|
||
• **AIモデルを実際のツールに接続する**:AIモデルと実際のサービスをつなぐ方法を学び、アプリケーションに強力な新機能を持たせられるようになります。
|
||
|
||
• <strong>セキュリティのベストプラクティスを実装する</strong>:MCP実装を安全に保つ方法を理解し、アプリとユーザーを守るための基本的な対策を身につけます。
|
||
|
||
• <strong>自信をもってデプロイする</strong>:開発から本番環境への移行を実践的な手法で知り、現実的に機能するデプロイ戦略を身につけます。
|
||
|
||
• **MCPコミュニティに参加する**:AIアプリケーション開発の未来を形作る開発者コミュニティの一員になります。
|
||
|
||
## 必須の基礎知識
|
||
|
||
MCPの詳細に入る前に、基礎となる概念に慣れていることを確認しましょう。これらが不得手でも心配いりません。必要なことはすべて途中で説明します!
|
||
|
||
### プロトコルの理解(基礎)
|
||
|
||
プロトコルは会話のルールのようなものです。友人に電話するとき、誰もが「こんにちは」と言って応答し、順番に話し、最後に「さようなら」と言いますよね。コンピュータープログラム同士も効果的にコミュニケーションするために同じようなルールが必要です。
|
||
|
||
MCPはプロトコル、すなわちAIモデルとアプリケーションがツールやサービスと「会話」するための合意されたルールのセットです。会話のルールが人間のコミュニケーションを円滑にするように、MCPはAIアプリ間の連携を確実かつ強力にします。
|
||
|
||
### クライアント・サーバーの関係(プログラムの連携)
|
||
|
||
あなたは毎日クライアント・サーバー関係を使っています!ウェブブラウザ(クライアント)を使ってウェブサイトにアクセスすると、ウェブサーバーからページ内容が送られてきます。ブラウザは情報を要求する方法を知り、サーバーは応答します。
|
||
|
||
MCPでも同様の関係があります。AIモデルは情報や処理を求めるクライアントとして機能し、MCPサーバーはそれらの機能を提供します。まるでAIが依頼することができる助けになるアシスタント(サーバー)がいるようなものです。
|
||
|
||
### 標準化の重要性(連携を可能にする)
|
||
|
||
もしすべての自動車メーカーが異なる形のガソリンポンプを使っていたらどうなるでしょう?車ごとにアダプターが必要ですよね!標準化とは、物事がスムーズに連携できるように共通の仕組みを決めることです。
|
||
|
||
MCPはAIアプリケーションのための標準化を提供します。すべてのAIモデルが特定のツールに合わせたカスタムコードを書く代わりに、MCPが共通の通信方法を作ります。これにより、開発者は一度ツールを作れば、多くの異なるAIシステムと連携させられます。
|
||
|
||
## 🧭 あなたの学習ロードマップ概要
|
||
|
||
あなたのMCPの旅は、自信とスキルを段階的に築くよう丁寧に構成されています。各フェーズで新しい概念を学びながら、すでに習った内容を強化していきます。
|
||
|
||
### 🌱 基礎フェーズ:基本の理解(モジュール0-2)
|
||
|
||
冒険の始まりです!馴染み深い例えやシンプルな例を使ってMCPの概念を紹介します。MCPとは何か、なぜ存在するのか、AI開発の大きな流れの中でどのような位置づけなのかを理解するフェーズです。
|
||
|
||
• **モジュール0 - MCP入門**:MCPとは何か、現代のAIアプリケーションにとってなぜ重要なのかを探ります。実際の例を通して、開発者が直面する一般的な問題をどのように解決しているかを理解します。
|
||
|
||
• **モジュール1 - コア概念の解説**:MCPの基本的な構成要素を学びます。多数の例えや視覚的な例を使い、自然に理解できるようにします。
|
||
|
||
• **モジュール2 - MCPにおけるセキュリティ**:セキュリティは難しく感じるかもしれませんが、MCPに組み込まれている安全機能と、最初からアプリを守るためのベストプラクティスを紹介します。
|
||
|
||
### 🔨 構築フェーズ:最初の実装作成(モジュール3)
|
||
さあ、本番の楽しい部分の始まりです!実際にMCPサーバーとクライアントを構築するハンズオン体験が待っています。ご安心ください—シンプルなところから始めて、ステップごとに丁寧に案内します。
|
||
|
||
このモジュールには、好みのプログラミング言語で練習できる複数のハンズオンガイドが含まれています。最初のサーバーを作成し、それに接続するクライアントを構築し、さらにはVS Codeなどの人気開発ツールとの統合も体験します。
|
||
|
||
各ガイドには完全なコード例、トラブルシューティングのヒント、そして特定の設計選択を行う理由の説明が含まれています。このフェーズの終わりには、自信を持って動作するMCP実装が手に入るでしょう!
|
||
|
||
### 🚀 成長フェーズ:高度な概念と実践的応用(モジュール4-5)
|
||
|
||
基礎を習得したら、より洗練されたMCP機能を探求する準備ができています。実践的な実装戦略、デバッグ手法、多モーダルAI統合のような高度なトピックをカバーします。
|
||
|
||
また、プロダクション用途に向けたMCP実装のスケーリング方法や、Azureなどのクラウドプラットフォームとの統合方法も学びます。これらのモジュールは、実際の要求に対応できるMCPソリューションを構築する準備を整えます。
|
||
|
||
### 🌟 熟達フェーズ:コミュニティと専門分野(モジュール6-11)
|
||
|
||
最終フェーズは、MCPコミュニティへの参加と興味のある分野での専門化に焦点を当てています。オープンソースのMCPプロジェクトへの貢献方法、高度な認証パターンの実装、包括的なデータベース統合ソリューションの構築を学びます。
|
||
|
||
特にモジュール11は注目すべきで、PostgreSQL統合を伴う13回の実践的ハンズオンラボの学習パスです。これは全ての学びを統合する卒業プロジェクトのようなものです!
|
||
|
||
### 📚 完全なカリキュラム構成
|
||
|
||
| Module | Topic | Description | Link |
|
||
|--------|-------|-------------|------|
|
||
| **Module 0-3: Fundamentals** | | | |
|
||
| 00 | MCP入門 | Model Context Protocolの概要とAIパイプラインでの重要性 | [Read more](./00-Introduction/README.md) |
|
||
| 01 | コアコンセプトの解説 | MCPのコアコンセプトを詳細に探る | [Read more](./01-CoreConcepts/README.md) |
|
||
| 02 | MCPのセキュリティ | セキュリティ脅威とベストプラクティス | [Read more](./02-Security/README.md) |
|
||
| 03 | MCPの開始方法 | 環境セットアップ、基本的なサーバー/クライアント、統合 | [Read more](./03-GettingStarted/README.md) |
|
||
| **Module 3: 最初のサーバー&クライアント構築** | | | |
|
||
| 3.1 | 最初のサーバー | 最初のMCPサーバーを作成 | [Guide](./03-GettingStarted/01-first-server/README.md) |
|
||
| 3.2 | 最初のクライアント | 基本的なMCPクライアントを開発 | [Guide](./03-GettingStarted/02-client/README.md) |
|
||
| 3.3 | LLM搭載クライアント | 大規模言語モデルと統合 | [Guide](./03-GettingStarted/03-llm-client/README.md) |
|
||
| 3.4 | VS Code統合 | VS CodeでMCPサーバーを利用 | [Guide](./03-GettingStarted/04-vscode/README.md) |
|
||
| 3.5 | stdioサーバー | stdioトランスポートでサーバーを作成 | [Guide](./03-GettingStarted/05-stdio-server/README.md) |
|
||
| 3.6 | HTTPストリーミング | MCPでHTTPストリーミングを実装 | [Guide](./03-GettingStarted/06-http-streaming/README.md) |
|
||
| 3.7 | Microsoft Foundry Toolkit | Microsoft Foundry ToolkitとMCPを使用 | [Guide](./03-GettingStarted/07-aitk/README.md) |
|
||
| 3.8 | テスト | MCPサーバー実装のテスト | [Guide](./03-GettingStarted/08-testing/README.md) |
|
||
| 3.9 | デプロイ | MCPサーバーを本番環境へデプロイ | [Guide](./03-GettingStarted/09-deployment/README.md) |
|
||
| 3.10 | 高度なサーバー利用 | 高度な機能利用とアーキテクチャ改善のためのサーバー利用 | [Guide](./03-GettingStarted/10-advanced/README.md) |
|
||
| 3.11 | シンプル認証 | 認証とRBACの基礎から学ぶ章 | [Guide](./03-GettingStarted/11-simple-auth/README.md) |
|
||
| 3.12 | MCPホスト | Claude Desktop、Cursor、Cline、その他のMCPホストの設定 | [Guide](./03-GettingStarted/12-mcp-hosts/README.md) |
|
||
| 3.13 | MCPインスペクター | InspectorツールでMCPサーバーのデバッグとテスト | [Guide](./03-GettingStarted/13-mcp-inspector/README.md) |
|
||
| 3.14 | サンプリング | サンプリングを使ってクライアントと共同作業 | [Guide](./03-GettingStarted/14-sampling/README.md) |
|
||
| 3.15 | MCPアプリ | MCPアプリを構築 | [Guide](./03-GettingStarted/15-mcp-apps/README.md) |
|
||
| **Module 4-5: 実践&高度** | | | |
|
||
| 04 | 実践的実装 | SDK、デバッグ、テスト、再利用可能なプロンプトテンプレート | [Read more](./04-PracticalImplementation/README.md) |
|
||
| 4.1 | ページネーション | カーソルベースのページネーションで大規模結果処理 | [Guide](./04-PracticalImplementation/pagination/README.md) |
|
||
| 05 | MCPの高度な話題 | 多モーダルAI、スケーリング、企業利用 | [Read more](./05-AdvancedTopics/README.md) |
|
||
| 5.1 | Azure統合 | AzureとのMCP統合 | [Guide](./05-AdvancedTopics/mcp-integration/README.md) |
|
||
| 5.2 | マルチモダリティ | 複数モダリティの扱い | [Guide](./05-AdvancedTopics/mcp-multi-modality/README.md) |
|
||
| 5.3 | OAuth2デモ | OAuth2認証の実装 | [Guide](./05-AdvancedTopics/mcp-oauth2-demo/README.md) |
|
||
| 5.4 | ルートコンテキスト | ルートコンテキストの理解と実装 | [Guide](./05-AdvancedTopics/mcp-root-contexts/README.md) |
|
||
| 5.5 | ルーティング | MCPルーティング戦略 | [Guide](./05-AdvancedTopics/mcp-routing/README.md) |
|
||
| 5.6 | サンプリング | MCPのサンプリング技法 | [Guide](./05-AdvancedTopics/mcp-sampling/README.md) |
|
||
| 5.7 | スケーリング | MCP実装のスケーリング | [Guide](./05-AdvancedTopics/mcp-scaling/README.md) |
|
||
| 5.8 | セキュリティ | 高度なセキュリティ考慮事項 | [Guide](./05-AdvancedTopics/mcp-security/README.md) |
|
||
| 5.9 | Web検索 | Web検索機能の実装 | [Guide](./05-AdvancedTopics/web-search-mcp/README.md) |
|
||
| 5.10 | リアルタイムストリーミング | リアルタイムストリーミング機能の構築 | [Guide](./05-AdvancedTopics/mcp-realtimestreaming/README.md) |
|
||
| 5.11 | リアルタイム検索 | リアルタイム検索の実装 | [Guide](./05-AdvancedTopics/mcp-realtimesearch/README.md) |
|
||
| 5.12 | Entra ID認証 | Microsoft Entra IDを使った認証 | [Guide](./05-AdvancedTopics/mcp-security-entra/README.md) |
|
||
| 5.13 | Foundry統合 | Microsoft Foundryとの統合 | [Guide](./05-AdvancedTopics/mcp-foundry-agent-integration/README.md) |
|
||
| 5.14 | コンテキストエンジニアリング | 効果的なコンテキストエンジニアリング技術 | [Guide](./05-AdvancedTopics/mcp-contextengineering/README.md) |
|
||
| 5.15 | MCPカスタムトランスポート | カスタムトランスポート実装 | [Guide](./05-AdvancedTopics/mcp-transport/README.md) |
|
||
| 5.16 | プロトコル機能 | 進捗通知、キャンセル、リソーステンプレート | [Guide](./05-AdvancedTopics/mcp-protocol-features/README.md) |
|
||
| 5.17 | 対立型マルチエージェント推論 | 共有MCPツールを使い二者が対立し、ジャッジエージェントが評価 | [Guide](./05-AdvancedTopics/mcp-adversarial-agents/README.md) |
|
||
| **Module 6-10: コミュニティ&ベストプラクティス** | | | |
|
||
| 06 | コミュニティ貢献 | MCPエコシステムへの貢献方法 | [Guide](./06-CommunityContributions/README.md) |
|
||
| 07 | 早期採用からの洞察 | 実世界の実装ストーリー | [Guide](./07-LessonsfromEarlyAdoption/README.md) |
|
||
| 08 | MCPのベストプラクティス | パフォーマンス、フォールトトレランス、回復力 | [Guide](./08-BestPractices/README.md) |
|
||
| 09 | MCPケーススタディ | 実践的な実装例 | [Guide](./09-CaseStudy/README.md) |
|
||
| 10 | ハンズオンワークショップ | Microsoft Foundry ToolkitでのMCPサーバー構築 | [Lab](./10-StreamliningAIWorkflowsBuildingAnMCPServerWithAIToolkit/README.md) |
|
||
| **Module 11: MCPサーバーハンズオンラボ** | | | |
|
||
| 11 | MCPサーバーデータベース統合 | PostgreSQL統合を含む13ラボの総合ハンズオン学習パス | [Labs](./11-MCPServerHandsOnLabs/README.md) |
|
||
| 11.1 | はじめに | データベース統合と小売分析ユースケースのMCP概要 | [Lab 00](./11-MCPServerHandsOnLabs/00-Introduction/README.md) |
|
||
| 11.2 | コアアーキテクチャ | MCPサーバーアーキテクチャ、データベース層、セキュリティパターンの理解 | [Lab 01](./11-MCPServerHandsOnLabs/01-Architecture/README.md) |
|
||
| 11.3 | セキュリティ&マルチテナンシー | 行レベルセキュリティ、認証、マルチテナントデータアクセス | [Lab 02](./11-MCPServerHandsOnLabs/02-Security/README.md) |
|
||
| 11.4 | 環境セットアップ | 開発環境セットアップ、Docker、Azureリソース | [Lab 03](./11-MCPServerHandsOnLabs/03-Setup/README.md) |
|
||
| 11.5 | データベース設計 | PostgreSQLセットアップ、小売スキーマ設計、サンプルデータ | [Lab 04](./11-MCPServerHandsOnLabs/04-Database/README.md) |
|
||
| 11.6 | MCPサーバー実装 | データベース統合を伴うFastMCPサーバー構築 | [Lab 05](./11-MCPServerHandsOnLabs/05-MCP-Server/README.md) |
|
||
| 11.7 | ツール開発 | データベースクエリツール作成とスキーマインスペクション | [Lab 06](./11-MCPServerHandsOnLabs/06-Tools/README.md) |
|
||
| 11.8 | セマンティックサーチ | Azure OpenAIとpgvectorを使ったベクトル埋め込み実装 | [Lab 07](./11-MCPServerHandsOnLabs/07-Semantic-Search/README.md) |
|
||
| 11.9 | テスト&デバッグ | テスト戦略、デバッグツール、バリデーション手法 | [Lab 08](./11-MCPServerHandsOnLabs/08-Testing/README.md) |
|
||
| 11.10 | VS Code統合 | VS CodeのMCP統合とAIチャット使用法設定 | [Lab 09](./11-MCPServerHandsOnLabs/09-VS-Code/README.md) |
|
||
| 11.11 | デプロイ戦略 | Dockerデプロイ、Azure Container Apps、スケーリング配慮 | [Lab 10](./11-MCPServerHandsOnLabs/10-Deployment/README.md) |
|
||
| 11.12 | モニタリング | Application Insights、ログ記録、パフォーマンス監視 | [Lab 11](./11-MCPServerHandsOnLabs/11-Monitoring/README.md) |
|
||
| 11.13 | ベストプラクティス | パフォーマンス最適化、セキュリティ強化、本番運用のヒント | [Lab 12](./11-MCPServerHandsOnLabs/12-Best-Practices/README.md) |
|
||
| **Module 12: MCPツーリング** | | | |
|
||
| 12.1 | ツーリング | CopilotアプリでのMCP利用 | [ Guide ](./12-tooling/README.md) |
|
||
|
||
### 💻 サンプルコードプロジェクト
|
||
|
||
MCP学習の最もエキサイティングな部分の一つは、コードスキルが段階的に成長していくのを見ることです。コード例はシンプルに始まり、理解が深まるにつれて高度になります。以下のように概念を紹介しています—わかりやすいコードですが、本物のMCP原理を示しており、コードの動作だけでなく、構造の理由や大規模MCPアプリケーションへの組み込み方も理解できるように設計されています。
|
||
|
||
#### 基本的なMCP計算機サンプル
|
||
|
||
| Language | Description | Link |
|
||
|----------|-------------|------|
|
||
| C# | MCPサーバー例 | [View Code](./03-GettingStarted/samples/csharp/README.md) |
|
||
| Java | MCP計算機 | [View Code](./03-GettingStarted/samples/java/calculator/README.md) |
|
||
| JavaScript | MCPデモ | [View Code](./03-GettingStarted/samples/javascript/README.md) |
|
||
| Python | MCPサーバー | [View Code](../../03-GettingStarted/samples/python/mcp_calculator_server.py) |
|
||
| TypeScript | MCP例 | [View Code](./03-GettingStarted/samples/typescript/README.md) |
|
||
| Rust | MCP例 | [View Code](./03-GettingStarted/samples/rust/README.md) |
|
||
|
||
#### 高度なMCP実装
|
||
|
||
| Language | Description | Link |
|
||
|----------|-------------|------|
|
||
| C# | 高度なサンプル | [View Code](./04-PracticalImplementation/samples/csharp/README.md) |
|
||
| Java with Spring | コンテナーアプリの例 | [View Code](./04-PracticalImplementation/samples/java/containerapp/README.md) |
|
||
| JavaScript | 上級サンプル | [View Code](./04-PracticalImplementation/samples/javascript/README.md) |
|
||
| Python | 複雑な実装 | [View Code](./04-PracticalImplementation/samples/python/README.md) |
|
||
| TypeScript | コンテナーサンプル | [View Code](./04-PracticalImplementation/samples/typescript/README.md) |
|
||
|
||
|
||
## 🎯 MCP学習のための前提条件
|
||
|
||
このカリキュラムを最大限に活用するために、以下の知識が必要です:
|
||
|
||
- C#、Java、JavaScript、Python、またはTypeScriptのいずれかの言語での基本的なプログラミング知識
|
||
- クライアント-サーバーモデルとAPIの理解
|
||
- RESTおよびHTTPの概念に慣れていること
|
||
- (任意)AI/MLの概念の背景知識
|
||
|
||
- サポートのためにコミュニティの議論に参加すること
|
||
|
||
## 📚 学習ガイドとリソース
|
||
|
||
このリポジトリには、効果的に学習しナビゲートするためのいくつかのリソースが含まれています:
|
||
|
||
### 学習ガイド
|
||
|
||
包括的な[学習ガイド](./study_guide.md)が用意されており、このリポジトリを効果的に活用するのに役立ちます。このビジュアルカリキュラムマップはすべてのトピックの関連性を示し、サンプルプロジェクトの効果的な使用方法を案内します。大局を把握したいビジュアル学習者に特に役立ちます。
|
||
|
||
ガイドには以下が含まれます:
|
||
- すべてのトピックを示すビジュアルカリキュラムマップ
|
||
- 各リポジトリセクションの詳細な内訳
|
||
- サンプルプロジェクトの利用方法の案内
|
||
- スキルレベル別の推奨学習ルート
|
||
- 学習の旅を補完する追加リソース
|
||
|
||
### 変更履歴
|
||
|
||
カリキュラム資料の重要な更新を追跡する詳細な[変更履歴](./changelog.md)を維持していますので、最新の改善や追加情報を常に把握できます。
|
||
- 新しいコンテンツの追加
|
||
- 構造の変更
|
||
- 機能改善
|
||
- ドキュメントの更新
|
||
|
||
## 🛠️ このカリキュラムを効果的に使うには
|
||
|
||
各レッスンには以下が含まれています:
|
||
|
||
1. MCPの概念の明確な説明
|
||
2. 複数言語によるライブコード例
|
||
3. 実際のMCPアプリ構築のための演習
|
||
4. 上級学習者向けの追加リソース
|
||
|
||
### C#で学ぶMCP - チュートリアルシリーズ
|
||
最先端のフレームワークであるモデルコンテキストプロトコル(MCP)について学びましょう。これはAIモデルとクライアントアプリケーション間のやり取りを標準化するために設計されています。この初心者向けセッションではMCPの紹介と、最初のMCPサーバーの作成方法をガイドします。
|
||
#### C#: [https://aka.ms/letslearnmcp-csharp](https://aka.ms/letslearnmcp-csharp)
|
||
#### Java: [https://aka.ms/letslearnmcp-java](https://aka.ms/letslearnmcp-java)
|
||
#### JavaScript: [https://aka.ms/letslearnmcp-javascript](https://aka.ms/letslearnmcp-javascript)
|
||
#### Python: [https://aka.ms/letslearnmcp-python](https://aka.ms/letslearnmcp-python)
|
||
|
||
## 🎓 あなたのMCPの旅が始まる
|
||
|
||
おめでとうございます!プログラミング能力を拡張し、AI開発の最先端と繋がる刺激的な旅の最初の一歩を踏み出しました。
|
||
|
||
### あなたが既に成し遂げたこと
|
||
|
||
このイントロダクションを読んだことで、MCPの基礎知識構築を始めています。MCPとは何か、その重要性、そしてこのカリキュラムがあなたの学習をどのように支援するか理解できています。これは重要な成果であり、この重要技術の専門知識への第一歩です。
|
||
|
||
### 今後の冒険
|
||
|
||
モジュールを進めるにつれて、すべての専門家もかつては初心者だったことを忘れないでください。現在は難しく感じるかもしれない概念も、練習と応用を通じて自然に身につきます。小さな一歩一歩が強力な能力を築き、あなたの開発キャリアの助けとなるでしょう。
|
||
|
||
### あなたの支援ネットワーク
|
||
|
||
あなたはMCPに情熱を持つ学習者や専門家コミュニティに加わります。コーディングの課題に詰まったときや、ブレイクスルーを共有したいとき、コミュニティはあなたの旅を支援します。
|
||
|
||
AIアプリ構築で困ったことがあれば質問や議論にご参加ください。質問が歓迎され、知識が自由に共有される支援的なコミュニティです。
|
||
|
||
[](https://discord.gg/nTYy5BXMWG)
|
||
|
||
製品のフィードバックやエラー発生時には以下を参照してください:
|
||
|
||
[](https://aka.ms/foundry/forum)
|
||
|
||
### 始める準備はできましたか?
|
||
|
||
MCPの冒険は今始まります!Module 0から始めて最初の実践的なMCP体験に飛び込み、またはサンプルプロジェクトを探索してどんなものを作るか見てみましょう。すべての専門家は今のあなたと同じところから始めています。忍耐と練習で、驚くべき成果を手にするでしょう。
|
||
|
||
モデルコンテキストプロトコル開発の世界へようこそ。一緒に素晴らしいものを作りましょう!
|
||
|
||
## 🤝 学習コミュニティへの貢献
|
||
|
||
このカリキュラムは、あなたのような学習者の貢献によってより強力になります。誤字訂正、わかりやすい説明の提案、新しい例の追加など、あなたの貢献が他の初心者の成功を助けます。
|
||
|
||
Microsoft Valued Professionalの[Shivam Goyal](https://www.linkedin.com/in/shivam2003/)によるコードサンプルの貢献に感謝します。
|
||
|
||
貢献プロセスは歓迎的かつ支援的になるよう設計されています。ほとんどの貢献にはContributor License Agreement(CLA)が必要ですが、自動化されたツールがスムーズに案内します。
|
||
|
||
## 📜 オープンソース学習
|
||
|
||
このカリキュラム全体はMITの[LICENSE](../../LICENSE)の下で提供されており、自由に利用、修正、共有できます。これはMCPの知識を全ての開発者にアクセス可能にするという我々の使命を支持します。
|
||
## 🤝 貢献ガイドライン
|
||
|
||
このプロジェクトは貢献と提案を歓迎します。多くの場合、Contributor License Agreement (CLA)に同意し、あなたの貢献を使用する権利を当方に与えていることを宣言する必要があります。詳細は<https://cla.opensource.microsoft.com>を参照してください。
|
||
|
||
プルリクエストを送ると、CLAボットが自動的にCLAが必要かどうかを判断し、PRに適切な処理(ステータスチェックやコメント)を行います。ボットの指示に従ってください。複数のリポジトリで一度だけ行えば済みます。
|
||
|
||
このプロジェクトは[Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)を採用しています。
|
||
詳細は[Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/)をご覧いただくか、
|
||
ご質問やご意見は[opencode@microsoft.com](mailto:opencode@microsoft.com)までお問い合わせください。
|
||
|
||
---
|
||
|
||
*MCPの旅を始める準備はできましたか?[Module 00 - MCP入門](./00-Introduction/README.md)から始めて、モデルコンテキストプロトコル開発の世界への最初の一歩を踏み出しましょう!*
|
||
|
||
|
||
|
||
## 🎒 その他のコース
|
||
私たちのチームは他にもコースを提供しています!ぜひご覧ください:
|
||
|
||
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
|
||
### LangChain
|
||
[](https://aka.ms/langchain4j-for-beginners)
|
||
[](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
|
||
[](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin)
|
||
---
|
||
|
||
### Azure / Edge / MCP / Agents
|
||
[](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
|
||
[](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
|
||
[](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
|
||
[](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
|
||
|
||
---
|
||
|
||
### 生成AIシリーズ
|
||
[](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
|
||
[-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
|
||
[-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
|
||
[-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
|
||
|
||
---
|
||
|
||
### コアラーニング
|
||
[](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
|
||
[](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
|
||
[](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
|
||
[](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung)
|
||
[](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
|
||
[](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst)
|
||
[](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
|
||
|
||
---
|
||
|
||
### コパイロットシリーズ
|
||
[](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
|
||
[](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
|
||
[](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
|
||
<!-- CO-OP TRANSLATOR OTHER COURSES END -->
|
||
|
||
---
|
||
|
||
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
|
||
**免責事項**:
|
||
本書類は AI 翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を期していますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知おきください。原文の原語版が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。本翻訳の利用により生じたいかなる誤解や解釈違いについても、当方は責任を負いかねます。
|
||
<!-- CO-OP TRANSLATOR DISCLAIMER END --> |