Resources

Loading "Resources"
πŸ‘¨β€πŸ’Ό Our users really want to include their tags in the context as they write their journal entries. They could just ask the LLM to run the list_tags tool, but that's not as efficient. In fact, the host application they're using could proactively request the resources we expose without any input from the user as well. Making it both efficient and convenient for the user.
In this step, you'll take your first step toward exposing structured data from your serverβ€”not just as tool responses, but as first-class resources that clients can discover and read.

Your challenge

  • Declare the resources capability on your server.
  • Register a simple resource called "tags" that provides information about all the tags in the database. This resource should be available at the URI epicme://tags and return a JSON array of tags.
This is your first taste of the MCP resources system. No need for dynamic templates or database integration yetβ€”just get a static resource registered and returning a simple value.

An example

Use this example as a reference to complete this challenge.
agent.server.registerResource(
	'hello',
	'hello://world',
	{
		title: 'Hello',
		description: 'A simple hello world resource',
	},
	async (uri) => {
		return {
			contents: [
				{
					mimeType: 'text/plain',
					text: 'Hello, world!',
					uri: uri.toString(),
				},
			],
		}
	},
)

Please set the playground first

Loading "Resources"
Loading "Resources"
Login to get access to the exclusive discord channel.
  • ⚑General
    Epic MCP Server
    Fede:
    Given the amount of questions around deployment and getting started, it would be cool to have an Epi...
    • βœ…1
    2 Β· a day ago
  • ⚑General
    Cloudflare deployment
    Aaron Schwartz:
    Do you have any resources on deploying to a live cloudflare instance? I haven't dug through the work...
    • πŸ‘1
    • βœ…1
    4 Β· a day ago
  • 🐣MCP Fundamentals
    Resources in Tools
    Alexandre πŸš€:
    For example, we have a tool with an embedded resource. Can the logic in the resource also be done di...
    • βœ…1
    1 Β· 3 days ago
  • πŸ’ͺAdv. MCP Features
    ⚑General
    Understanding Session and State Management for Remote MCP Server
    Kusten ⚑:
    I just completed the Advanced Features workshop, and the notifications/tools/list_changed section le...
    • βœ…1
    1 Β· a day ago
  • 🐣MCP Fundamentals
    API is deprecated
    thor ⚑:
    I get this error a lot in my terminal (OSX Tahoe 26) . Have to stop / restart the server (npm start)...
    • βœ…1
    2 Β· 4 days ago
  • 🐣MCP Fundamentals
    How is the the first ( and maybe the others too? ) exercise running automatically?
    Kamil ⚑:
    So I just started the course and got to the ping exercise and I am kinda curious how the course app ...
    • βœ…1
    1 Β· 5 days ago
  • ⚑General
    Epic MCP server not initializing
    steve ⚑:
    I am attempting to configure the Epic MCP Server per Kent's instructions here: https://www.epicai.pr...
    • βœ…2
    3 Β· 4 days ago
  • 🐣MCP Fundamentals
    Help getting back to adding my learning notes?
    silvanet πŸš€ 🌌 ⚑:
    When I began, I didn't pay much attention to doing that, but I want to continue by contributing my l...
    • βœ…1
    8 Β· 4 days ago
  • ⚑General
    What will tomorrows MCP hosts look like?
    Paul πŸš€:
    Hi Kent,

Thanks for putting together the course, I’m really enjoying it. Im interested if you have...
    • βœ…1
    2 Β· 5 days ago
  • 🐣MCP Fundamentals
    I'm having a problem error in Prompts 01 lesson?
    silvanet πŸš€ 🌌 ⚑:
    I've checked the code in both the prompt.ts and the index.ts files against the exercise solutions, b...
    • βœ…1
    3 Β· 5 days ago
  • ⚑General
    VS Code Copilot and Epic Workshop MCP Server
    Alexandre πŸš€:
    I might have missed something, but how do we install the Epic Workshop MCP Server so we can ask Copi...
    • βœ…1
    3 Β· 6 days ago
  • 🐣MCP Fundamentals
    Diagram not readable using dark mode
    Alexandre πŸš€:
    The diagram on the Home page is not readable in dark mode
    • βœ…1
    4 Β· 6 days ago
  • 🐣MCP Fundamentals
    What is the difference between tool and registerTool methods?
    lorena πŸš€:
    I have seen tools written in both ways but if tool was declared by server.tool when local mcp server...
    • βœ…1
    4 Β· 11 days ago
  • 🐣MCP Fundamentals
    πŸ’ͺAdv. MCP Features
    πŸ”MCP Auth
    πŸ’»MCP UI
    What about the usage of MCP Servers for some kind of chat interacting with a local LLM?
    frankfullstack ⚑:
    I would like to raise a general question about the usage of MCP Servers and how we could interact fr...
    • βœ…1
    5 Β· 11 days ago
  • 🐣MCP Fundamentals
    Exercise 01/02 (Tools Annotations): OutputSchema
    sachinepicmcp ⚑:
    I see that in exercise 01/02 Tools Annotations, structuredContent is being prepare differently. For ...
    • βœ…1
    3 Β· 7 days ago
  • 🐣MCP Fundamentals
    Workshop login question?
    silvanet πŸš€ 🌌 ⚑:
    I opened my local cloned repo and ran npm start from its local folder /mcp-fundamentals. It responde...
    • βœ…1
    2 Β· 7 days ago
  • 🐣MCP Fundamentals
    Are we going to set up Claude as well as MCP Inspector?
    silvanet πŸš€ 🌌 ⚑:
    Kent referred to Claude in the Resources first solution. I had been checking on my own and saw it re...
    • βœ…1
    1 Β· 7 days ago
  • 🐣MCP Fundamentals
    ⚑General
    It'd be really cool to have a basic deployment guide.
    BeyondLimits99 ⚑:
    The course has been amazing so far! I'd love to have a basic deployment guide just so I can practice...
    • βœ…2
    3 Β· 9 days ago
  • 🐣MCP Fundamentals
    Resource Links in Prompt Messages?
    sachinepicmcp ⚑:
    I am currently working on Exercise 05/02 (Optimized Prompts). It talks about how we can actually als...
    • βœ…1
    1 Β· 11 days ago
  • 🐣MCP Fundamentals
    Deploying MCPs?
    BrianHHough:
    Can you walk through more about the MCP deployment pipeline you mentioned with CloudFlare? Curious w...
    • βœ…1
    3 Β· 12 days ago
  • 🐣MCP Fundamentals
    How does the server run?
    bauti πŸš€ 🌌 ⚑:
    Say for example a web app in local development, we normally have a continuously running server that ...
    • βœ…1
    1 Β· 11 days ago
  • ⚑General
    non-related question: how do you rollout updates?
    mark:
    I'm very curious to hear: How do you roll-out new updates? do you use some kind of libary?
    • βœ…1
    5 Β· 13 days ago
  • 🐣MCP Fundamentals
    Problems running solutions in WSL
    aeldar πŸš€ ⚑:
    Hello! Does anyone managed to run the project app in WSL? I tried to work with the very first exerc...
    • βœ…1
    5 Β· 12 days ago
  • 🐣MCP Fundamentals
    Excercise 3.3 test is failing for me
    Shadab πŸš€ ⚑:
    The test is trying to list resources where URI includes `entries` and since it doesn't find any it i...
    • βœ…1
    6 Β· 11 days ago
  • 🐣MCP Fundamentals
    Errors running setup for MCP Fundamentals:
    silvanet πŸš€ 🌌 ⚑:
    git version 2.47.1.windows.2 node version 22.13.0 npm version 10.9.2 I think I may have located the...
    • βœ…1
    22 Β· 12 days ago
  • 🐣MCP Fundamentals
    Why do we get the zero index entry for resource_link with the count of found results?
    frankfullstack ⚑:
    Hi everyone, I just detected that we get near to the array of results the zero index with some conte...
    • βœ…1
    1 Β· 10 days ago
  • 🐣MCP Fundamentals
    Resource Templates List related question
    frankfullstack ⚑:
    Reading and working with Resource Templates List, I found them a bit similar to HATEOAs in REST APIs...
    • βœ…1
    1 Β· 10 days ago
  • 🐣MCP Fundamentals
    3.2
    nicolai-marina ⚑:
    I am not able to pull data from the db while typing in the UI. Did any of you had this issue?
    • βœ…1
    1 Β· 8 days ago
  • 🐣MCP Fundamentals
    Embedded Resources: CallToolResult
    sachinepicmcp ⚑:
    I am working on 04/01 Embedded Resources (Solution). I am trying to embed resources in all 'tools' m...
    • βœ…1
    1 Β· 11 days ago
  • 🐣MCP Fundamentals
    Test failed: 3.1 Resources: EBUSY: resource busy or locked
    sachinepicmcp ⚑:
    I am getting this error when I run tests for 3.1 Resources exercise. Note, that I am able to play my...
    • βœ…1
    4 Β· 12 days ago
  • 🐣MCP Fundamentals
    ⚑General
    How do you teach the LLMs to use ResourceTemplates and ResourceTemplatesList?
    frontendwizard:
    I'm playing around with building an mcp with claude and he has a tendency to go for json for everyth...
    • βœ…1
    8 Β· 11 days ago
  • 🐣MCP Fundamentals
    Not able to initialize the server
    nicolai-marina ⚑:
    Hello, I am at the first exercise. i am not able to initialize the server.First notification is runn...
    • βœ…1
    2 Β· 11 days ago
  • 🐣MCP Fundamentals
    Vercel AI SDK for MCPs vs the Typescript MCP?
    Fede:
    What's your take on Vercel AI SDK for MCPs vs the Typescript MCP?
    • βœ…1
    4 Β· 12 days ago