/ Verzeichnis / Playground / mcp-for-beginners
● Offiziell microsoft ⚡ Sofort

mcp-for-beginners

von microsoft · microsoft/mcp-for-beginners

Microsoft's official MCP curriculum — 11 modules, 6 languages, from first server to production deployment. The best free way to learn MCP.

MCP-for-Beginners is Microsoft's open-source curriculum that teaches the Model Context Protocol through 11 progressive modules covering fundamentals, hands-on server building, cloud integration (Azure), security, and a 13-lab capstone. Code examples in .NET, Java, TypeScript, JavaScript, Python, and Rust. Not an MCP server itself — treat as an educational resource.

Warum nutzen

Hauptfunktionen

Live-Demo

In der Praxis

for-beginners.replay ▶ bereit
0/0

Installieren

Wählen Sie Ihren Client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "for-beginners": {
      "command": "uvx",
      "args": [
        "mcp-for-beginners"
      ],
      "_inferred": true
    }
  }
}

Öffne Claude Desktop → Settings → Developer → Edit Config. Nach dem Speichern neu starten.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "for-beginners": {
      "command": "uvx",
      "args": [
        "mcp-for-beginners"
      ],
      "_inferred": true
    }
  }
}

Cursor nutzt das gleiche mcpServers-Schema wie Claude Desktop. Projektkonfiguration schlägt die globale.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "for-beginners": {
      "command": "uvx",
      "args": [
        "mcp-for-beginners"
      ],
      "_inferred": true
    }
  }
}

Klicken Sie auf das MCP-Servers-Symbol in der Cline-Seitenleiste, dann "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "for-beginners": {
      "command": "uvx",
      "args": [
        "mcp-for-beginners"
      ],
      "_inferred": true
    }
  }
}

Gleiche Struktur wie Claude Desktop. Windsurf neu starten zum Übernehmen.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "for-beginners",
      "command": "uvx",
      "args": [
        "mcp-for-beginners"
      ]
    }
  ]
}

Continue nutzt ein Array von Serverobjekten statt einer Map.

~/.config/zed/settings.json
{
  "context_servers": {
    "for-beginners": {
      "command": {
        "path": "uvx",
        "args": [
          "mcp-for-beginners"
        ]
      }
    }
  }
}

In context_servers hinzufügen. Zed lädt beim Speichern neu.

claude mcp add for-beginners -- uvx mcp-for-beginners

Einzeiler. Prüfen mit claude mcp list. Entfernen mit claude mcp remove.

Anwendungsfälle

Praxisnahe Nutzung: mcp-for-beginners

How to learn MCP from scratch with Microsoft's curriculum

👤 Developers new to MCP who want structured learning, not scattered blog posts ⏱ ~180 min beginner

Wann einsetzen: You keep hearing about MCP but don't know where to start. You want a guided path, not a README.

Voraussetzungen
  • Basic programming in at least one supported language — Any of: C#, Java, TypeScript, JavaScript, Python, Rust
  • Understanding of client-server models and REST — If you've built an API before, you're ready
Ablauf
  1. Start with Module 0-1: Foundations
    Walk me through Module 0 (Introduction) and Module 1 (Core Concepts) of mcp-for-beginners. Summarize the key mental models before I start coding.✓ Kopiert
    → Clear explanation of MCP's role as a 'universal translator for AI apps'
  2. Build your first server in Module 3
    I'm using TypeScript. Guide me through Lesson 1 of Module 3 (Building Your First MCP Server). Explain each step as I code along.✓ Kopiert
    → Working MCP server that responds to tool calls
  3. Connect an LLM to your server
    Now walk me through Lesson 3 (Integrating LLMs). I want to connect Claude to the server I just built.✓ Kopiert
    → End-to-end flow: user prompt -> Claude -> MCP tool call -> response

Ergebnis: A working MCP server connected to an LLM, with understanding of the protocol, not just copy-pasted code.

Fallstricke
  • Skipping the foundations and jumping to code — Module 0-1 builds the mental model. Without it, the code examples won't make sense.
  • Trying all 6 languages at once — Pick one language and go deep. The concepts transfer; the syntax doesn't matter.

Build a production-ready MCP system with the capstone labs

👤 Developers who finished the basics and want to build something real ⏱ ~480 min advanced

Wann einsetzen: You've built toy MCP servers and want to learn production patterns: databases, auth, deployment.

Voraussetzungen
  • Completed Modules 0-5 or equivalent experience — You should be comfortable building a basic MCP server
  • PostgreSQL available — Local install or Docker: docker run -p 5432:5432 -e POSTGRES_PASSWORD=secret postgres
Ablauf
  1. Start the capstone
    Guide me through Lab 1 of Module 11 (Capstone). What are we building and how does it connect to everything I've learned?✓ Kopiert
    → Overview of the 13-lab progression toward a production system
  2. Implement database integration
    Walk me through the PostgreSQL integration lab. How do MCP tools safely query a database?✓ Kopiert
    → Working database-backed MCP tool with parameterized queries
  3. Add security
    Now add OAuth2 authentication to the server from Module 2's security patterns.✓ Kopiert
    → Authenticated MCP server that rejects unauthorized tool calls

Ergebnis: A production-grade MCP system with database, auth, and deployment — not a toy.

Fallstricke
  • Skipping the security module — Module 2 (Security) is not optional in production. SQL injection through MCP tools is a real risk.

Compare MCP implementations across languages to pick yours

👤 Tech leads choosing which language to build their MCP servers in ⏱ ~60 min intermediate

Wann einsetzen: Your team needs to decide on a language for MCP server development.

Ablauf
  1. Look at the calculator samples
    Compare the basic MCP calculator sample in TypeScript, Python, and C#. What are the key differences in boilerplate, SDK maturity, and ergonomics?✓ Kopiert
    → Side-by-side comparison with concrete tradeoffs
  2. Check advanced patterns
    Now compare the advanced MCP implementations. Which language has the best typing support for tool definitions?✓ Kopiert
    → Evaluation of type safety, error handling, and SDK features per language

Ergebnis: A data-driven language choice for your team's MCP servers.

Fallstricke
  • Choosing based on sample code alone — Also check MCP SDK release cadence and community size for each language

Kombinationen

Mit anderen MCPs für 10-fache Wirkung

for-beginners + github

Use GitHub MCP to browse the curriculum repo and its code samples without cloning

Use GitHub MCP to fetch the TypeScript calculator sample from microsoft/mcp-for-beginners and explain the code.✓ Kopiert
for-beginners + filesystem

Clone the curriculum locally and use filesystem MCP to navigate lessons while Claude teaches

Read the Module 3 Lesson 1 files from my local clone and walk me through building the server step by step.✓ Kopiert

Kosten & Limits

Was der Betrieb kostet

API-Kontingent
N/A — this is a learning resource, not a service.
Tokens pro Aufruf
N/A
Kosten in €
Free and open-source (MIT). You pay only for your own Claude/LLM usage while learning.
Tipp
The curriculum itself is free. Use it with Claude to get interactive explanations of each module.

Sicherheit

Rechte, Secrets, Reichweite

Credential-Speicherung: No credentials needed to learn. The curriculum teaches proper credential handling in Module 2.
Datenabfluss: N/A — educational content only.

Fehlerbehebung

Häufige Fehler und Lösungen

Code sample doesn't run in my language version

Check the prerequisites in each module's README. The .NET samples target specific SDK versions; Python samples may need 3.10+.

Prüfen: Check the runtime version specified in each lesson's README
MCP SDK import errors

The curriculum pins specific SDK versions. Run the install command from the lesson's README exactly — don't use latest unless you know the API hasn't changed.

Prüfen: Check package.json or requirements.txt in the lesson directory
Capstone PostgreSQL connection fails

Ensure PostgreSQL is running and the connection string matches. Default: postgresql://postgres:secret@localhost:5432/mcp_capstone

Prüfen: psql -h localhost -U postgres -c 'SELECT 1'

Alternativen

mcp-for-beginners vs. andere

AlternativeWann stattdessenKompromiss
Official MCP DocumentationYou prefer reference docs over curriculum-style learningLess structured; no progressive labs; but always up-to-date with the spec
Building MCP servers directlyYou learn by doing, not by following a curriculumFaster to start but you'll miss fundamentals like security and protocol details

Mehr

Ressourcen

📖 Offizielle README auf GitHub lesen

🐙 Offene Issues ansehen

🔍 Alle 400+ MCP-Server und Skills durchsuchen