Skip to main content

fastmcp.server.transforms.version_filter

Version filter transform for filtering components by version range.

Classes

VersionFilter

Filters components by version range. When applied to a provider or server, only components within the version range are visible. Within that filtered set, the highest version of each component is exposed to clients (standard deduplication behavior). Parameters mirror comparison operators for clarity:

Versions < 3.0 (v1 and v2)

server.add_transform(VersionFilter(version_lt=“3.0”))

Versions >= 2.0 and < 3.0 (only v2.x)

server.add_transform(VersionFilter(version_gte=“2.0”, version_lt=“3.0”)) Works with any version string - PEP 440 (1.0, 2.0) or dates (2025-01-01). Args:
  • version_gte: Versions >= this value pass through.
  • version_lt: Versions < this value pass through.
Methods:

list_tools

list_tools(self, call_next: ListToolsNext) -> Sequence[Tool]

get_tool

get_tool(self, name: str, call_next: GetToolNext) -> Tool | None

list_resources

list_resources(self, call_next: ListResourcesNext) -> Sequence[Resource]

get_resource

get_resource(self, uri: str, call_next: GetResourceNext) -> Resource | None

list_resource_templates

list_resource_templates(self, call_next: ListResourceTemplatesNext) -> Sequence[ResourceTemplate]

get_resource_template

get_resource_template(self, uri: str, call_next: GetResourceTemplateNext) -> ResourceTemplate | None

list_prompts

list_prompts(self, call_next: ListPromptsNext) -> Sequence[Prompt]

get_prompt

get_prompt(self, name: str, call_next: GetPromptNext) -> Prompt | None