Dynamic MCP resources not discovered in claude code

Resolved 💬 13 comments Opened Jul 22, 2025 by shouhengyi Closed Jan 11, 2026

Description

Claude Code can list static MCP resources and MCP tools, but not dynamic MCP resources.

To be more specific:

from mcp.server.fastmcp import FastMCP

# Create an MCP server
mcp = FastMCP("Demo")

# Add an addition tool
@mcp.tool() <<<<<<<<<<<<<< This works. Can be discovered in Claude Code.
def add(a: int, b: int) -> int:
    """Add two numbers"""
    return a + b


# Add a dynamic greeting resource
@mcp.resource("greeting://{name}")  <<<<<<<<<<<<<<< This doesn't.
def get_greeting(name: str) -> str:
    """Get a personalized greeting"""
    return f"Hello, {name}!"

Same issue was surfaced in the Claude Deskop as well: https://github.com/modelcontextprotocol/python-sdk/issues/263

See this comment https://github.com/modelcontextprotocol/python-sdk/issues/263#issuecomment-2729617662 which seems to be the reason.

I was using https://www.npmjs.com/package/@anthropic-ai/claude-code v1.0.56.

This makes Claude Code less useful since dynamic MCP resources are very important to build production MCP servers.

View original on GitHub ↗

This issue has 13 comments on GitHub. Read the full discussion on GitHub ↗