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.