Chapter 2: Core Abstractions: Components, Providers, Transforms

April 13, 2026 ยท View on GitHub

Welcome to Chapter 2: Core Abstractions: Components, Providers, Transforms. In this part of FastMCP Tutorial: Building and Operating MCP Servers with Pythonic Control, you will build an intuitive mental model first, then move into concrete implementation details and practical production tradeoffs.

This chapter explains FastMCP's core abstraction model and how to use it to keep systems composable.

Learning Goals

  • map business capabilities to MCP components clearly
  • choose provider sources that support maintainability
  • apply transforms to shape client-visible surfaces safely
  • avoid coupling protocol mechanics to business logic

Abstraction Model

FastMCP's core model can be used as a design checkpoint:

  • components define what you expose (tools, resources, prompts)
  • providers define where capabilities come from (functions, files, remote sources)
  • transforms define how capabilities are presented and constrained

Practical Design Rule

Treat each component set as a product surface with explicit ownership, versioning expectations, and test coverage. This prevents accidental growth into ungovernable tool catalogs.

Source References

Summary

You now have a design vocabulary for building maintainable FastMCP surfaces.

Next: Chapter 3: Server Runtime and Transports

How These Components Connect

flowchart TD
    A[FastMCP Server] --> B[Tools]
    A --> C[Resources]
    A --> D[Prompts]
    B --> E[Python function decorated with @mcp.tool]
    C --> F[URI-addressable data via @mcp.resource]
    D --> G[Prompt templates via @mcp.prompt]
    E --> H[MCP ToolResult]
    F --> I[MCP ResourceContents]
    G --> J[MCP GetPromptResult]