Feature request: MCP resources
Status Fixed / completed
Maintainer reply ✓ Yes — ashwin-ant
Activity 14 comments · opened Mar 18, 2025 · closed Jul 2, 2025
💡 Likely answer: A maintainer (ashwin-ant, collaborator)
responded on this thread — see the highlighted reply below.
Our MCP server mostly exposes resources for the client to consume, but Claude only looks at tools. Making our MCP server useless in the context of Claude.
So, could support for MCP resources be added? 🙂
14 Comments
Could you share more about how you'd expect this to be used in Claude Code? This is something we want to add!
Great! In our case we are using resources to expose business requirements which should be reflected in code.
We’re using DDD in code and in how we describe business requirements.
So having these resources available I would expect Claude to pick up on that it needs to read the business requirements prior to working on a specific part of the codebase. But I guess the latter is something we can try to enforce by adding an explanation to the CLAUDE.md file, as long as the connection is there. 🙂
Could the team maybe put which part of the spec Claude Code supports? I've been trying to write a MCP server that uses resources and spent time trying to figure out why resources were not being picked up. [MCP Clients Docs]( https://modelcontextprotocol.io/clients) Claude Code is missing from the docs.
Well hell 😂 No wonder my MCP server isn't working. The MCP docs state that resources are similiar to GET requests. Most of my MCP is just providing data to the LLM so I implemented them all as resources and have been tearing my hair out trying to figure out why Claude cannot use any of them 🤦
+1, Resources support would be really helpful for the puppeteer mcp server as that's how it serves console output.
It seems like its fuzzy search similarly to searching for files and directories so just start type part of the resource and tab so select include in prompt.
These new tools look like they are
listMcpResourcesandreadMcpResourcesbased on the naming of the 2 previous tools i tried to just write
/subscribeMcpResource(uri="mcp://peek/help")https://modelcontextprotocol.io/docs/concepts/resources#resource-updates
Maybe it's automatically subscribed on a read?
On a second thought i'm unsure if i declare this resources as subscribable..
https://modelcontextprotocol.io/specification/2025-03-26/server/resources#capabilities
from running
claude --debugit looks like resources are requested at init of a new chat.Unsure how new resources during are exposed "live" or we have to request a list resources...
I've used https://modelcontextprotocol.io/clients to check MCP client capabilities.
I'm not affiliated with Anthropic in any way, but to me your understanding of resources as GET requests is incorrect. The main difference between resources and tools as I understand it is that resources are client-controlled while tools are model-controlled.
It means that resources are like "dynamic documents" you attach to the Projects in claude.ai. Resources then form a part of the LLM context, and the model is unaware of the non-attached resources the same way it's unaware of non-attached files.
So resource support by Claude Code would look like a UI element displaying the resources you (as a human user) want to add to the context.
If you want the model to query the documents as needed, you'll need to implement the documents catalog and individual documents as tools with
{ readOnlyHint: true }. These tools are like GET requests. The resources are entirely passive, "not requests at all".The way @nponeccop explained it is dead-on. Resources aren't simply a
GETthey're application controlled. Users need a way to _directly_ control context, especially with large resources.@anthropics should make Claude-Code the gold standard MCP client - full support of the basic protocol is a must have.
We added support for MCP resources in 1.0.27. You can @-mention them to pull them into context, the same way you @-mention files. Would love to hear get feedback on whether that functionality is useful to people.
@ashwin-ant that's outstanding! Not sure who maintains this list, but it still shows resources not implemented. https://modelcontextprotocol.io/clients.
Good catch, updating it here: https://github.com/modelcontextprotocol/modelcontextprotocol/pull/894
@ashwin-ant is this
@-mentionfeature documented anywhere? Is it part of an MCP standard? Defacto widely-implemented standard? Is it just@<uri>?It is documented here: https://docs.anthropic.com/en/docs/claude-code/mcp#use-mcp-resources. It's essentially
@server:uribut the typeahead implementation in Claude Code takes into account server, uri, name, and description.It's not part of the MCP standard because the MCP standard doesn't prescribe how clients integrate MCP resources into their interfaces. The spec mentions:
Definitely let us know if the current implementation is useful, or how we can make it better.
This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.