Back to course

Implementing Resources: Reading Data

Model Context Protocol (MCP) Server Engineering

Implementing Resources

Resources allow you to expose data to the LLM. Every resource has a URI.

Registering a Resource

typescript server.setRequestHandler(ListResourcesRequestSchema, async () => ({ resources: [{ uri: "file:///logs/today.txt", name: "Today's Logs", mimeType: "text/plain" }] }));

Handling Resource Reads

typescript server.setRequestHandler(ReadResourceRequestSchema, async (request) => { if (request.params.uri === "file:///logs/today.txt") { return { contents: [{ uri: request.params.uri, text: "Everything is fine!" }] }; } throw new Error("Resource not found"); });

Assignment: Create a static resource that returns a list of your favorite books.