Getting Started
If you are new to MCP systems, begin with the architecture and flow instead of implementation details.
This guide is designed so each section answers one practical question before moving to the next engineering layer.
Prerequisites
| Area | Expected familiarity | Why it matters |
|---|---|---|
| Python | Functions, classes, virtual environments | The server and examples are Python-first |
| APIs | Basic HTTP and JSON | MCP request and response flow is API-driven |
| LLM basics | Prompting and tool-calling concept | Routing behavior depends on model decisions |
| CLI usage | Running pip and mkdocs commands |
Needed to run and preview the learning site |
Key questions this guide answers
- How does prompt input move through API, engine, router, tool, and memory?
- When should you use deterministic routing versus model-selected tool calls?
- How do you design memory so outputs stay useful without growing noise?
- What telemetry signals are required before deploying to production?
- How do you enforce security boundaries for tools and data?
Recommended Reading Path
flowchart TB
GS[Getting Started] --> LP[Learning Path]
LP --> F1[Core Concepts]
F1 --> F2[Key Principles]
F2 --> I1[Building Blocks]
I1 --> I2[Practical Applications]
I2 --> A1[Advanced Patterns]
A1 --> A2[Production Considerations]
A2 --> REF[Reference Pack]
style GS fill:#1976d2,color:#fff
style F1 fill:#1976d2,color:#fff
style F2 fill:#1976d2,color:#fff
style A2 fill:#ff9800,color:#fff
style REF fill:#ff9800,color:#fff
Tips for using this site effectively
| Tip | Action |
|---|---|
| Search quickly | Use the top search bar with concrete symbols like handle_prompt or route |
| Compare sections | Keep one browser tab in fundamentals and one in reference |
| Use dark and light mode | The theme toggle is persisted in your browser |
| Share exact anchors | Copy section links to discuss specific patterns in reviews |
What should I read first if I need to ship quickly?
Read 01-core-concepts, then 02-key-principles, then jump to 02-intermediate/02-practical-applications.md.
This gives the minimum architecture and implementation depth to ship a first version.
Do I need vector databases before using memory?
No. Start with in-memory or relational storage and add vector retrieval when semantic lookup becomes a real requirement.
--8<-- "_abbreviations.md"