diff --git a/examples/servers/simple-resource/README.md b/examples/servers/simple-resource/README.md index df674e91e..e7a4ee304 100644 --- a/examples/servers/simple-resource/README.md +++ b/examples/servers/simple-resource/README.md @@ -38,6 +38,10 @@ async def main(): resources = await session.list_resources() print(resources) + # List available resource templates + resource_templates = await session.list_resource_templates() + print(resource_templates) + # Get a specific resource resource = await session.read_resource(AnyUrl("file:///greeting.txt")) print(resource) diff --git a/examples/servers/simple-resource/mcp_simple_resource/server.py b/examples/servers/simple-resource/mcp_simple_resource/server.py index cef29b851..9f6368d9e 100644 --- a/examples/servers/simple-resource/mcp_simple_resource/server.py +++ b/examples/servers/simple-resource/mcp_simple_resource/server.py @@ -44,6 +44,18 @@ async def list_resources() -> list[types.Resource]: for name in SAMPLE_RESOURCES.keys() ] + @app.list_resource_templates() + async def list_resource_templates() -> list[types.ResourceTemplate]: + return [ + types.ResourceTemplate( + uriTemplate="file:///{name}.txt", + name="resource template example", + title="resource template example", + description="Get txt file content by name", + mimeType="text/plain", + ), + ] + @app.read_resource() async def read_resource(uri: AnyUrl) -> str | bytes: if uri.path is None: