Skip to main content

fastmcp.server.providers.aggregate

AggregateProvider for combining multiple providers into one. This module provides AggregateProvider, a utility class that presents multiple providers as a single unified provider. Useful when you want to combine custom providers without creating a full FastMCP server. Example:

Classes

AggregateProvider

Utility provider that combines multiple providers into one. Components are aggregated from all providers. For get_* operations, providers are queried in parallel and the highest version is returned. When adding providers with a namespace, wrap_transform() is used to apply the Namespace transform. This means namespace transformation is handled by the wrapped provider, not by AggregateProvider. Errors from individual providers are logged and skipped by default. Set provider_error_strategy="raise" to fail the aggregate operation when any provider fails. Methods:

required_extensions

Collect bundled extensions from children in provider order.

add_provider

Add a provider with optional namespace. If the provider is a FastMCP server, it’s automatically wrapped in FastMCPProvider to ensure middleware is invoked correctly. Args:
  • provider: The provider to add.
  • namespace: Optional namespace prefix. When set:
  • Tools become “namespace_toolname”
  • Resources become “protocol://namespace/path”
  • Prompts become “namespace_promptname”

get_app_tool

Query all child providers for an app tool.

get_tasks

Get all task-eligible components from all providers.

lifespan

Combine lifespans of all providers.