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)
Returns None if the template produces an invalid regex (e.g. parameter
names with hyphens, 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}
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.
FunctionResourceTemplate registers the underlying function, which has the
user’s Depends parameters for docket to resolve.
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.