MCP-for-beginners

GitHub contributors GitHub issues GitHub pull-requests PRs Welcome

GitHub watchers GitHub forks GitHub stars

Microsoft Azure AI Foundry Discord

Follow these steps to start using these resources:

  1. Fork the Repository: Click GitHub forks
  2. Clone the Repository: git clone https://github.com/microsoft/mcp-for-beginners.git
  3. 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 Curriculum Overview

πŸ“š Complete Curriculum Structure

ModuleTopicDescriptionLink
Module 1-3: Fundamentals
00Introduction to MCPOverview of the Model Context Protocol and its significance in AI pipelinesRead more
01Core Concepts ExplainedIn-depth exploration of core MCP conceptsRead more
02Security in MCPSecurity threats and best practicesRead more
03Getting Started with MCPEnvironment setup, basic servers/clients, integrationRead more
Module 3: Building Your First Server & Client
3.1First ServerCreate your first MCP serverGuide
3.2First ClientDevelop a basic MCP clientGuide
3.3Client with LLMIntegrate large language modelsGuide
3.4VS Code IntegrationConsume MCP servers in VS CodeGuide
3.5stdio ServerCreate servers using stdio transportGuide
3.6HTTP StreamingImplement HTTP streaming in MCPGuide
3.7AI ToolkitUse AI Toolkit with MCPGuide
3.8TestingTest your MCP server implementationGuide
3.9DeploymentDeploy MCP servers to productionGuide
3.10Advanced server usageUse advanced servers for advanced feature usage and improved architectureGuide
3.11Simple authA chapter showing you auth from the beginning and RBACGuide
Module 4-5: Practical & Advanced
04Practical ImplementationSDKs, debugging, testing, reusable prompt templatesRead more
05Advanced Topics in MCPMulti-modal AI, scaling, enterprise useRead more
5.1Azure IntegrationMCP Integration with AzureGuide
5.2Multi-modalityWorking with multiple modalitiesGuide
5.3OAuth2 DemoImplement OAuth2 authenticationGuide
5.4Root ContextsUnderstand and implement root contextsGuide
5.5RoutingMCP routing strategiesGuide
5.6SamplingSampling techniques in MCPGuide
5.7ScalingScale MCP implementationsGuide
5.8SecurityAdvanced security considerationsGuide
5.9Web SearchImplement web search capabilitiesGuide
5.10Realtime StreamingBuild realtime streaming functionalityGuide
5.11Realtime SearchImplement realtime searchGuide
5.12Entra ID AuthAuthentication with Microsoft Entra IDGuide
5.13Foundry IntegrationIntegrate with Azure AI FoundryGuide
5.14Context EngineeringTechniques for effective context engineeringGuide
5.15MCP Custom TransportCustom Transport implementationsGuide
Module 6-10: Community & Best Practices
06Community ContributionsHow to contribute to the MCP ecosystemGuide
07Insights from Early AdoptionReal-world implementation storiesGuide
08Best Practices for MCPPerformance, fault-tolerance, resilienceGuide
09MCP Case StudiesPractical implementation examplesGuide
10Hands-on WorkshopBuilding an MCP Server with AI ToolkitLab
Module 11: MCP Server Hands On Lab
11MCP Server Database IntegrationComprehensive 13-lab hands-on learning path for PostgreSQL integrationLabs
11.1IntroductionOverview of MCP with database integration and retail analytics use caseLab 00
11.2Core ArchitectureUnderstanding MCP server architecture, database layers, and security patternsLab 01
11.3Security & Multi-TenancyRow Level Security, authentication, and multi-tenant data accessLab 02
11.4Environment SetupSetting up development environment, Docker, Azure resourcesLab 03
11.5Database DesignPostgreSQL setup, retail schema design, and sample dataLab 04
11.6MCP Server ImplementationBuilding the FastMCP server with database integrationLab 05
11.7Tool DevelopmentCreating database query tools and schema introspectionLab 06
11.8Semantic SearchImplementing vector embeddings with Azure OpenAI and pgvectorLab 07
11.9Testing & DebuggingTesting strategies, debugging tools, and validation approachesLab 08
11.10VS Code IntegrationConfiguring VS Code MCP integration and AI Chat usageLab 09
11.11Deployment StrategiesDocker deployment, Azure Container Apps, and scaling considerationsLab 10
11.12MonitoringApplication Insights, logging, performance monitoringLab 11
11.13Best PracticesPerformance optimization, security hardening, and production tipsLab 12

πŸ’» Sample Code Projects

Basic MCP Calculator Samples

LanguageDescriptionLink
C#MCP Server ExampleView Code
JavaMCP CalculatorView Code
JavaScriptMCP DemoView Code
PythonMCP ServerView Code
TypeScriptMCP ExampleView Code
RustMCP ExampleView Code

Advanced MCP Implementations

LanguageDescriptionLink
C#Advanced SampleView Code
Java with SpringContainer App ExampleView Code
JavaScriptAdvanced SampleView Code
PythonComplex ImplementationView Code
TypeScriptContainer SampleView 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:

  1. Clear explanations of MCP concepts
  2. Live code examples in multiple languages
  3. Exercises to build real MCP applications
  4. 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:

ℒ️ 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:

Azure AI Foundry Discord

If you have product feedback or encounter issues while building, visit:

Azure AI Foundry Developer Forum


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.