Skip to content

Commit f8acd96

Browse files
committed
fix: add type params to generic Context
1 parent f8c68af commit f8acd96

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

src/mcp/server/fastmcp/resources/resource_manager.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111

1212
if TYPE_CHECKING:
1313
from mcp.server.fastmcp.server import Context
14+
from mcp.server.session import ServerSessionT
15+
from mcp.shared.context import LifespanContextT
1416

1517
logger = get_logger(__name__)
1618

@@ -69,7 +71,9 @@ def add_template(
6971
return template
7072

7173
async def get_resource(
72-
self, uri: AnyUrl | str, context: "Context | None" = None
74+
self,
75+
uri: AnyUrl | str,
76+
context: Context[ServerSessionT, LifespanContextT] | None = None,
7377
) -> Resource | None:
7478
"""Get resource by URI, checking concrete resources first, then templates."""
7579
uri_str = str(uri)

src/mcp/server/fastmcp/resources/templates.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414

1515
if TYPE_CHECKING:
1616
from mcp.server.fastmcp.server import Context
17+
from mcp.server.session import ServerSessionT
18+
from mcp.shared.context import LifespanContextT
1719

1820

1921
class ResourceTemplate(BaseModel):
@@ -91,7 +93,10 @@ def matches(self, uri: str) -> dict[str, Any] | None:
9193
return None
9294

9395
async def create_resource(
94-
self, uri: str, params: dict[str, Any], context: Context | None = None
96+
self,
97+
uri: str,
98+
params: dict[str, Any],
99+
context: Context[ServerSessionT, LifespanContextT] | None = None,
95100
) -> Resource:
96101
"""Create a resource from the template with the given parameters."""
97102
try:

0 commit comments

Comments
 (0)