"""Filesystem-based MCP server using FileSystemProvider. This example demonstrates how to use FileSystemProvider to automatically discover and register tools, resources, and prompts from the filesystem. Run: fastmcp run examples/filesystem-provider/server.py Inspect: fastmcp inspect examples/filesystem-provider/server.py Dev mode (re-scan files on every request): Change reload=True below, then modify files while the server runs. """ from pathlib import Path from fastmcp import FastMCP from fastmcp.server.providers import FileSystemProvider # The provider scans all .py files in the directory recursively. # Functions decorated with @tool, @resource, or @prompt are registered. # Directory structure is purely organizational - decorators determine type. provider = FileSystemProvider( root=Path(__file__).parent / "components", reload=True, # Set True for dev mode (re-scan on every request) ) mcp = FastMCP("FilesystemDemo", providers=[provider])