How microsoft/mcp-for-beginners works
This repository is a hands-on MCP learning curriculum, not one integrated runtime application. Its principal workflow teaches a client to discover and invoke server tools, optionally using an LLM to choose a tool, then return the result. Separate lessons extend that pattern with transports, authentication, UI resources, sampling, and external services. The graph focuses on representative examples; unsampled lesson wiring is omitted rather than inferred.
Main entry points: Program.cs LLM MCP client · python/server.py Basic tool server · web-search-mcp/server.py Web-search server · python/server.py stdio server
Components 17
Clients and models
- LLM MCP client
03-GettingStarted/03-llm-client/solution/dotnet/Program.cs
MCP servers
- Basic tool server
03-GettingStarted/01-first-server/solution/python/server.py - stdio server
03-GettingStarted/05-stdio-server/solution/python/server.py - Advanced tool server
03-GettingStarted/10-advanced/code/python/server.py - Tool definitions
03-GettingStarted/10-advanced/code/python/tools/__init__.py - HTTP streaming server
03-GettingStarted/06-http-streaming/solution/python/server.py - Authenticated server
03-GettingStarted/11-simple-auth/solution/python/server.py - Token validation
03-GettingStarted/11-simple-auth/solution/python/util.py
Protocol capabilities
- MCP app server
03-GettingStarted/15-mcp-apps/code/typescript/my-app/server.ts - Interactive app UI
03-GettingStarted/15-mcp-apps/code/typescript/my-app/src/mcp-app.ts - Sampling example
03-GettingStarted/14-sampling/solution/python/server.py
External integrations
- Web-search server
05-AdvancedTopics/web-search-mcp/server.py - GitHub tools server
10-StreamliningAIWorkflowsBuildingAnMCPServerWithAIToolkit/lab4/code/github_mcp_server/src/server.py - Local system tools
10-StreamliningAIWorkflowsBuildingAnMCPServerWithAIToolkit/lab4/code/github_mcp_server/src/server.py
Other components
- Learner or user
- Azure OpenAI
- SerpAPI
Connections 15
- Learner or user → LLM MCP client: asks
- LLM MCP client → Basic tool server: discovers and calls tools
- LLM MCP client → Azure OpenAI: sends prompt and tool definitions
- Azure OpenAI → LLM MCP client: returns tool call
- LLM MCP client → Basic tool server: dispatches tool call
- Basic tool server → LLM MCP client: returns result
- stdio server → Learner or user: serves over stdio
- Advanced tool server → Tool definitions: dispatches tool handlers
- Authenticated server → Token validation: validates tokens
- HTTP streaming server → Learner or user: streams progress
- Web-search server → SerpAPI: requests search data
- SerpAPI → Web-search server: returns results
- MCP app server → Interactive app UI: serves UI resource
- Sampling example → Azure OpenAI: requests generated content
- GitHub tools server → Local system tools: runs system operations