fastmcp.server.transforms
Transform system for component transformations.
Transforms modify components (tools, resources, prompts). List operations use a pure
function pattern where transforms receive sequences and return transformed sequences.
Get operations use a middleware pattern with call_next to chain lookups.
Unlike middleware (which operates on requests), transforms are observable by the
system for task registration, tag filtering, and component introspection.
Example:
Classes
GetToolNext
Protocol for get_tool call_next functions.
GetResourceNext
Protocol for get_resource call_next functions.
GetResourceTemplateNext
Protocol for get_resource_template call_next functions.
GetPromptNext
Protocol for get_prompt call_next functions.
Transform
Base class for component transformations.
List operations use a pure function pattern: transforms receive sequences
and return transformed sequences. Get operations use a middleware pattern
with call_next to chain lookups.
Methods:
list_tools
tools: Sequence of tools to transform.
- Transformed sequence of tools.
get_tool
name: The requested tool name (may be transformed).call_next: Callable to get tool from downstream.version: Optional version filter to apply.
- The tool if found, None otherwise.
list_resources
resources: Sequence of resources to transform.
- Transformed sequence of resources.
get_resource
uri: The requested resource URI (may be transformed).call_next: Callable to get resource from downstream.version: Optional version filter to apply.
- The resource if found, None otherwise.
list_resource_templates
templates: Sequence of resource templates to transform.
- Transformed sequence of resource templates.
get_resource_template
uri: The requested template URI (may be transformed).call_next: Callable to get template from downstream.version: Optional version filter to apply.
- The resource template if found, None otherwise.
list_prompts
prompts: Sequence of prompts to transform.
- Transformed sequence of prompts.
get_prompt
name: The requested prompt name (may be transformed).call_next: Callable to get prompt from downstream.version: Optional version filter to apply.
- The prompt if found, None otherwise.

