Follow these steps to start using these resources:
- Fork the Repository: Click
- Clone the Repository:
git clone https://github.com/microsoft/mcp-for-beginners.git
- Join The Azure AI Foundry Discord and connect with experts and fellow developers
π Multi-Language Support
Supported via GitHub Action (Automated & Always Up-to-Date)
Arabic | Bengali | Bulgarian | Burmese (Myanmar) | Chinese (Simplified) | Chinese (Traditional, Hong Kong) | Chinese (Traditional, Macau) | Chinese (Traditional, Taiwan) | Croatian | Czech | Danish | Dutch | Finnish | French | German | Greek | Hebrew | Hindi | Hungarian | Indonesian | Italian | Japanese | Korean | Malay | Marathi | Nepali | Norwegian | Persian (Farsi) | Polish | Portuguese (Brazil) | Portuguese (Portugal) | Punjabi (Gurmukhi) | Romanian | Russian | Serbian (Cyrillic) | Slovak | Slovenian | Spanish | Swahili | Swedish | Tagalog (Filipino) | Thai | Turkish | Ukrainian | Urdu | Vietnamese
π Model Context Protocol (MCP) Curriculum for Beginners
Learn MCP with Hands-on Code Examples in C#, Java, JavaScript, Rust, Python, and TypeScript
π§ Overview of the Model Context Protocol Curriculum
The Model Context Protocol (MCP) is an advanced framework designed to standardize the interaction between AI models and client applications. This open-source curriculum provides a structured learning path, complete with practical coding examples and real-world applications, across popular programming languages such as C#, Java, JavaScript, TypeScript, and Python.
Whether you’re an AI developer, system architect, or software engineer, this guide serves as a comprehensive resource to help you master the fundamentals and implementation strategies of MCP.
π Official MCP Resources
- π MCP Documentation β Detailed tutorials and user guides
- π MCP Specification β Protocol architecture and technical references
- π Original MCP Specification β Legacy technical references (may contain additional details)
- π§βπ» MCP GitHub Repository β Open-source SDKs, tools, and code samples
- π MCP Community β Join discussions and contribute to the community
π§ MCP Curriculum Overview
π Complete Curriculum Structure
Module | Topic | Description | Link |
---|---|---|---|
Module 1-3: Fundamentals | |||
00 | Introduction to MCP | Overview of the Model Context Protocol and its significance in AI pipelines | Read more |
01 | Core Concepts Explained | In-depth exploration of core MCP concepts | Read more |
02 | Security in MCP | Security threats and best practices | Read more |
03 | Getting Started with MCP | Environment setup, basic servers/clients, integration | Read more |
Module 3: Building Your First Server & Client | |||
3.1 | First Server | Create your first MCP server | Guide |
3.2 | First Client | Develop a basic MCP client | Guide |
3.3 | Client with LLM | Integrate large language models | Guide |
3.4 | VS Code Integration | Consume MCP servers in VS Code | Guide |
3.5 | stdio Server | Create servers using stdio transport | Guide |
3.6 | HTTP Streaming | Implement HTTP streaming in MCP | Guide |
3.7 | AI Toolkit | Use AI Toolkit with MCP | Guide |
3.8 | Testing | Test your MCP server implementation | Guide |
3.9 | Deployment | Deploy MCP servers to production | Guide |
3.10 | Advanced server usage | Use advanced servers for advanced feature usage and improved architecture | Guide |
3.11 | Simple auth | A chapter showing you auth from the beginning and RBAC | Guide |
Module 4-5: Practical & Advanced | |||
04 | Practical Implementation | SDKs, debugging, testing, reusable prompt templates | Read more |
05 | Advanced Topics in MCP | Multi-modal AI, scaling, enterprise use | Read more |
5.1 | Azure Integration | MCP Integration with Azure | Guide |
5.2 | Multi-modality | Working with multiple modalities | Guide |
5.3 | OAuth2 Demo | Implement OAuth2 authentication | Guide |
5.4 | Root Contexts | Understand and implement root contexts | Guide |
5.5 | Routing | MCP routing strategies | Guide |
5.6 | Sampling | Sampling techniques in MCP | Guide |
5.7 | Scaling | Scale MCP implementations | Guide |
5.8 | Security | Advanced security considerations | Guide |
5.9 | Web Search | Implement web search capabilities | Guide |
5.10 | Realtime Streaming | Build realtime streaming functionality | Guide |
5.11 | Realtime Search | Implement realtime search | Guide |
5.12 | Entra ID Auth | Authentication with Microsoft Entra ID | Guide |
5.13 | Foundry Integration | Integrate with Azure AI Foundry | Guide |
5.14 | Context Engineering | Techniques for effective context engineering | Guide |
5.15 | MCP Custom Transport | Custom Transport implementations | Guide |
Module 6-10: Community & Best Practices | |||
06 | Community Contributions | How to contribute to the MCP ecosystem | Guide |
07 | Insights from Early Adoption | Real-world implementation stories | Guide |
08 | Best Practices for MCP | Performance, fault-tolerance, resilience | Guide |
09 | MCP Case Studies | Practical implementation examples | Guide |
10 | Hands-on Workshop | Building an MCP Server with AI Toolkit | Lab |
Module 11: MCP Server Hands On Lab | |||
11 | MCP Server Database Integration | Comprehensive 13-lab hands-on learning path for PostgreSQL integration | Labs |
11.1 | Introduction | Overview of MCP with database integration and retail analytics use case | Lab 00 |
11.2 | Core Architecture | Understanding MCP server architecture, database layers, and security patterns | Lab 01 |
11.3 | Security & Multi-Tenancy | Row Level Security, authentication, and multi-tenant data access | Lab 02 |
11.4 | Environment Setup | Setting up development environment, Docker, Azure resources | Lab 03 |
11.5 | Database Design | PostgreSQL setup, retail schema design, and sample data | Lab 04 |
11.6 | MCP Server Implementation | Building the FastMCP server with database integration | Lab 05 |
11.7 | Tool Development | Creating database query tools and schema introspection | Lab 06 |
11.8 | Semantic Search | Implementing vector embeddings with Azure OpenAI and pgvector | Lab 07 |
11.9 | Testing & Debugging | Testing strategies, debugging tools, and validation approaches | Lab 08 |
11.10 | VS Code Integration | Configuring VS Code MCP integration and AI Chat usage | Lab 09 |
11.11 | Deployment Strategies | Docker deployment, Azure Container Apps, and scaling considerations | Lab 10 |
11.12 | Monitoring | Application Insights, logging, performance monitoring | Lab 11 |
11.13 | Best Practices | Performance optimization, security hardening, and production tips | Lab 12 |
π» Sample Code Projects
Basic MCP Calculator Samples
Language | Description | Link |
---|---|---|
C# | MCP Server Example | View Code |
Java | MCP Calculator | View Code |
JavaScript | MCP Demo | View Code |
Python | MCP Server | View Code |
TypeScript | MCP Example | View Code |
Rust | MCP Example | View Code |
Advanced MCP Implementations
Language | Description | Link |
---|---|---|
C# | Advanced Sample | View Code |
Java with Spring | Container App Example | View Code |
JavaScript | Advanced Sample | View Code |
Python | Complex Implementation | View Code |
TypeScript | Container Sample | View Code |
π― Prerequisites for Learning MCP
To make the most of this curriculum, you should have:
Basic programming knowledge in at least one of the following languages: C#, Java, JavaScript, Python, or TypeScript
Understanding of the client-server model and APIs
Familiarity with REST and HTTP concepts
(Optional) Background in AI/ML concepts
Join our community discussions for support
π Study Guide & Resources
This repository includes several resources to help you learn effectively:
Study Guide
A detailed Study Guide is available to help you navigate this repository. It includes:
- A visual curriculum map covering all topics
- Detailed breakdown of each repository section
- Guidance on using sample projects
- Recommended learning paths for different skill levels
- Additional resources to enhance your learning experience
Changelog
We maintain a detailed Changelog that tracks all major updates to the curriculum materials, including:
- New content additions
- Structural changes
- Feature improvements
- Documentation updates
π οΈ How to Use This Curriculum Effectively
Each lesson in this guide includes:
- Clear explanations of MCP concepts
- Live code examples in multiple languages
- Exercises to build real MCP applications
- Extra resources for advanced learners
Events
MCP Dev Days July 2025
β‘οΈWatch on Demand - MCP Dev Days
Prepare for two days of in-depth technical insights, community engagement, and hands-on learning at MCP Dev Days, a virtual event dedicated to the Model Context Protocol (MCP)βthe emerging standard connecting AI models and the tools they depend on. You can watch MCP Dev Days by registering on our event page: https://aka.ms/mcpdevdays.
Day 1: MCP Productivity, DevTools, & Community:
Focuses on empowering developers to integrate MCP into their workflows and celebrating the vibrant MCP community. Join community members and partners like Arcade, Block, Okta, and Neon to see how they collaborate with Microsoft to shape an open, extensible MCP ecosystem.
Real-world demos across VS Code, Visual Studio, GitHub Copilot, and popular community tools
Practical, context-driven development workflows
Community-led sessions and insights
Whether you’re new to MCP or already building with it, Day 1 will inspire and provide actionable takeaways.
Day 2: Build MCP Servers with Confidence
Designed for MCP builders, Day 2 dives deep into implementation strategies and best practices for creating MCP servers and integrating MCP into AI workflows.
Topics include:
- Building MCP Servers and integrating them into agent experiences
- Prompt-driven development
- Security best practices
- Using building blocks like Functions, ACA, and API Management
- Registry alignment and tooling (1P + 3P)
If you’re a developer, tool builder, or AI product strategist, this day is packed with insights to help you build scalable, secure, and future-ready MCP solutions.
MCP Boot Camp August 2025
Learn through intensive video sessions how to create MCP servers, integrate with VS Code, and deploy professionally on Azure based on content from the MCP for Beginners curriculum. Gain practical skills in a technology already adopted by major companies.
β‘οΈWatch on Demand MCP Bootcamp | English
β‘οΈWatch on Demand MCP Bootcamp | Brasil
β‘οΈWatch on Demand MCP Bootcamp | Spanish
Let’s Learn MCP with C# - Tutorial Series
Learn about the Model Context Protocol (MCP), a cutting-edge framework designed to standardize interactions between AI models and client applications. This beginner-friendly session introduces MCP and guides you through creating your first MCP server.
C#: https://aka.ms/letslearnmcp-csharp
Java: https://aka.ms/letslearnmcp-java
JavaScript: https://aka.ms/letslearnmcp-javascript
Python: https://aka.ms/letslearnmcp-python
π Community Thanks
Special thanks to Microsoft Valued Professional Shivam Goyal for contributing key code samples.
π License Information
This content is licensed under the MIT License. For terms and conditions, see the LICENSE.
π€ Contribution Guidelines
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.
When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct.
For more information, see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
π Repository Structure
The repository is organized as follows:
- Core Curriculum (00-11): The main content organized in eleven sequential modules, including comprehensive database integration labs
- 11-MCPServerHandsOnLabs/: Complete 13-lab learning path for building production-ready MCP servers with PostgreSQL integration
- images/: Diagrams and illustrations used throughout the curriculum
- translations/: Multi-language support with automated translations
- translated_images/: Localized versions of diagrams and illustrations
- study_guide.md: Comprehensive guide to navigating the repository
- changelog.md: Record of all significant changes to the curriculum materials
- mcp.json: Configuration file for MCP specification
- CODE_OF_CONDUCT.md, LICENSE, SECURITY.md, SUPPORT.md: Project governance documents
π Other Courses
Our team produces other courses! Check out:
- NEW Edge AI For Beginners
- AI Agents For Beginners
- Generative AI for Beginners using .NET
- Generative AI for Beginners using JavaScript
- Generative AI for Beginners
- Generative AI for Beginners using Java
- ML for Beginners
- Data Science for Beginners
- AI for Beginners
- Cybersecurity for Beginners
- Web Dev for Beginners
- IoT for Beginners
- XR Development for Beginners
- Mastering GitHub Copilot for AI Paired Programming
- Mastering GitHub Copilot for C#/.NET Developers
- Choose Your Own Copilot Adventure
β’οΈ Trademark Notice
This project may include trademarks or logos related to projects, products, or services. The use of Microsoft trademarks or logos must comply with and adhere to Microsoft’s Trademark & Brand Guidelines. Using Microsoft trademarks or logos in modified versions of this project must not create confusion or suggest Microsoft sponsorship. Any use of third-party trademarks or logos must follow the policies of the respective third parties.
Getting Help
If you’re stuck or have questions about building AI applications, join:
If you have product feedback or encounter issues while building, visit:
Disclaimer:
This document has been translated using the AI translation service Co-op Translator. While we aim for accuracy, please note that automated translations may contain errors or inaccuracies. The original document in its native language should be regarded as the authoritative source. For critical information, professional human translation is recommended. We are not responsible for any misunderstandings or misinterpretations resulting from the use of this translation.