Documentation Index Fetch the complete documentation index at: https://gofastmcp.com/llms.txt
Use this file to discover all available pages before exploring further.
fastmcp.resources.template
Resource template functionality.
Functions
extract_query_params ( uri_template : str ) -> set [ str ]
Extract query parameter names from RFC 6570 {?param1,param2} syntax.
build_regex
build_regex ( template : str ) -> re . Pattern [ str ] | None
Build regex pattern for URI template, handling RFC 6570 syntax.
Supports:
{var} - simple path parameter
{var*} - wildcard path parameter (captures multiple segments)
{?var1,var2} - query parameters (ignored in path matching)
Hyphens in parameter names are normalized to underscores in regex group
names so that matched groups are valid Python identifiers.
Returns None if the template produces an invalid regex (e.g. parameter
names with leading digits or duplicates from a remote server).
match_uri_template
match_uri_template ( uri : str , uri_template : str ) -> dict [ str , str ] | None
Match URI against template and extract both path and query parameters.
Supports RFC 6570 URI templates:
Path params: {var}, {var*}
Query params: {?var1,var2}
expand_uri_template
expand_uri_template ( uri_template : str , params : dict [ str , Any ]) -> str
Expand a URI template with parameters — inverse of match_uri_template.
Supports the same RFC 6570 subset:
Path params: {var}, {var*}
Query params: {?var1,var2}
Classes
ResourceTemplate
A template for dynamically creating resources.
Methods:
from_function
from_function ( fn : Callable [ ... , Any ], uri_template : str , name : str | None = None , version : str | int | None = None , title : str | None = None , description : str | None = None , icons : list [ Icon ] | None = None , mime_type : str | None = None , tags : set [ str ] | None = None , annotations : Annotations | None = None , meta : dict [ str , Any ] | None = None , task : bool | TaskConfig | None = None , auth : AuthCheck | list [ AuthCheck ] | None = None ) -> FunctionResourceTemplate
set_default_mime_type
set_default_mime_type ( cls , mime_type : str | None ) -> str
Set default MIME type if not provided.
matches
matches ( self , uri : str ) -> dict [ str , Any ] | None
Check if URI matches template and extract parameters.
read
read ( self , arguments : dict [ str , Any ]) -> str | bytes | ResourceResult
Read the resource content.
convert_result
convert_result ( self , raw_value : Any ) -> ResourceResult
Convert a raw result to ResourceResult.
This is used in two contexts:
In _read() to convert user function return values to ResourceResult
In tasks_result_handler() to convert Docket task results to ResourceResult
Handles ResourceResult passthrough and converts raw values using
ResourceResult’s normalization.
create_resource
create_resource ( self , uri : str , params : dict [ str , Any ]) -> Resource
Create a resource from the template with the given parameters.
The base implementation does not support background tasks.
Use FunctionResourceTemplate for task support.
to_mcp_template
to_mcp_template ( self , ** overrides : Any ) -> SDKResourceTemplate
Convert the resource template to an SDKResourceTemplate.
from_mcp_template
from_mcp_template ( cls , mcp_template : SDKResourceTemplate ) -> ResourceTemplate
Creates a FastMCP ResourceTemplate from a raw MCP ResourceTemplate object.
key
The globally unique lookup key for this template.
register_with_docket
register_with_docket ( self , docket : Docket ) -> None
Register this template with docket for background execution.
add_to_docket
add_to_docket ( self , docket : Docket , params : dict [ str , Any ], ** kwargs : Any ) -> Execution
Schedule this template for background execution via docket.
Args:
docket: The Docket instance
params: Template parameters
fn_key: Function lookup key in Docket registry (defaults to self.key)
task_key: Redis storage key for the result
**kwargs: Additional kwargs passed to docket.add()
get_span_attributes
get_span_attributes ( self ) -> dict [ str , Any ]
FunctionResourceTemplate
A template for dynamically creating resources.
Methods:
create_resource
create_resource ( self , uri : str , params : dict [ str , Any ]) -> Resource
Create a resource from the template with the given parameters.
read
read ( self , arguments : dict [ str , Any ]) -> str | bytes | ResourceResult
Read the resource content.
register_with_docket
register_with_docket ( self , docket : Docket ) -> None
Register this template with docket for background execution.
add_to_docket
add_to_docket ( self , docket : Docket , params : dict [ str , Any ], ** kwargs : Any ) -> Execution
Schedule this template for background execution via docket.
FunctionResourceTemplate splats the params dict since .fn expects **kwargs.
Args:
docket: The Docket instance
params: Template parameters
fn_key: Function lookup key in Docket registry (defaults to self.key)
task_key: Redis storage key for the result
**kwargs: Additional kwargs passed to docket.add()
from_function
from_function ( cls , fn : Callable [ ... , Any ], uri_template : str , name : str | None = None , version : str | int | None = None , title : str | None = None , description : str | None = None , icons : list [ Icon ] | None = None , mime_type : str | None = None , tags : set [ str ] | None = None , annotations : Annotations | None = None , meta : dict [ str , Any ] | None = None , task : bool | TaskConfig | None = None , auth : AuthCheck | list [ AuthCheck ] | None = None ) -> FunctionResourceTemplate
Create a template from a function.