Use this file to discover all available pages before exploring further.
New in version 3.0.0LocalProvider stores components that you define directly on your server. When you use @mcp.tool, @mcp.resource, or @mcp.prompt, you’re adding components to your server’s LocalProvider.
Every FastMCP server has a LocalProvider as its first provider. Components registered via decorators or direct methods are stored here:
from fastmcp import FastMCPmcp = FastMCP("MyServer")# These are stored in the server's `LocalProvider`@mcp.tooldef greet(name: str) -> str: """Greet someone by name.""" return f"Hello, {name}!"@mcp.resource("data://config")def get_config() -> str: """Return configuration data.""" return '{"version": "1.0"}'@mcp.promptdef analyze(topic: str) -> str: """Create an analysis prompt.""" return f"Please analyze: {topic}"
The LocalProvider is always queried first when clients request components, ensuring that your directly-defined components take precedence over those from mounted or proxied servers.
from fastmcp.tools import Tool# Create a tool objectmy_tool = Tool.from_function(some_function, name="custom_tool")# Add it to the servermcp.add_tool(my_tool)mcp.add_resource(my_resource)mcp.add_prompt(my_prompt)