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]