Back to course

Dynamic Resource Templates

Model Context Protocol (MCP) Server Engineering

Resource Templates

You can't always list every possible resource (like every user in a DB). Use Templates.

Example URI Template

users://{userId}/profile

Implementation

typescript server.setRequestHandler(ListResourceTemplatesRequestSchema, async () => ({ resourceTemplates: [{ uriTemplate: "users://{userId}/profile", name: "User Profile", description: "A user's profile information" }] }));

Assignment: Create a template for a weather service where the user can provide a city name in the URI.