From fdb8251065202cff465b942fb86a63d4f7c353e4 Mon Sep 17 00:00:00 2001 From: vincent-pli Date: Wed, 25 Jun 2025 10:28:51 +0800 Subject: [PATCH] add resource templates to make example complete Signed-off-by: vincent-pli --- examples/servers/simple-resource/README.md | 4 ++++ .../simple-resource/mcp_simple_resource/server.py | 12 ++++++++++++ 2 files changed, 16 insertions(+) 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: