Skip to content

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?
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"