Skip to main content

fastmcp.server.providers.local_provider.local_provider

LocalProvider for locally-defined MCP components. This module provides the LocalProvider class that manages tools, resources, templates, and prompts registered via decorators or direct methods. LocalProvider can be used standalone and attached to multiple servers:

Classes

LocalProvider

Provider for locally-defined components. Supports decorator-based registration (@provider.tool, @provider.resource, @provider.prompt) and direct object registration methods. When used standalone, LocalProvider uses default settings. When attached to a FastMCP server via the server’s decorators, server-level settings like _tool_serializer and _support_tasks_by_default are injected. Methods:

remove_tool

Remove tool(s) from this provider’s storage. Args:
  • name: The tool name.
  • version: If None, removes ALL versions. If specified, removes only that version.
Raises:
  • KeyError: If no matching tool is found.

remove_resource

Remove resource(s) from this provider’s storage. Args:
  • uri: The resource URI.
  • version: If None, removes ALL versions. If specified, removes only that version.
Raises:
  • KeyError: If no matching resource is found.

remove_template

Remove resource template(s) from this provider’s storage. Args:
  • uri_template: The template URI pattern.
  • version: If None, removes ALL versions. If specified, removes only that version.
Raises:
  • KeyError: If no matching template is found.

remove_prompt

Remove prompt(s) from this provider’s storage. Args:
  • name: The prompt name.
  • version: If None, removes ALL versions. If specified, removes only that version.
Raises:
  • KeyError: If no matching prompt is found.

get_tasks

Return components eligible for background task execution. Returns components that have task_config.mode != ‘forbidden’. This includes both FunctionTool/Resource/Prompt instances created via decorators and custom Tool/Resource/Prompt subclasses.