File tree Expand file tree Collapse file tree 4 files changed +6
-6
lines changed
src/mcp/server/mcpserver/resources Expand file tree Collapse file tree 4 files changed +6
-6
lines changed Original file line number Diff line number Diff line change @@ -579,7 +579,7 @@ mcp = MCPServer()
579579
580580@mcp.resource (
581581 " git://diff/{+range}" ,
582- security = ResourceSecurity(exempt_params = frozenset ( {" range" }) ),
582+ security = ResourceSecurity(exempt_params = {" range" }),
583583)
584584def git_diff (range : str ) -> str :
585585 ...
Original file line number Diff line number Diff line change 33from __future__ import annotations
44
55import inspect
6- from collections .abc import Callable , Mapping
6+ from collections .abc import Callable , Mapping , Set
77from dataclasses import dataclass , field
88from typing import TYPE_CHECKING , Any
99
@@ -36,7 +36,7 @@ class ResourceSecurity:
3636 # Opt out for a parameter that legitimately contains ..
3737 @mcp.resource(
3838 "git://diff/{+range}",
39- security=ResourceSecurity(exempt_params=frozenset( {"range"}) ),
39+ security=ResourceSecurity(exempt_params={"range"}),
4040 )
4141 def git_diff(range: str) -> str: ...
4242 """
@@ -47,7 +47,7 @@ def git_diff(range: str) -> str: ...
4747 reject_absolute_paths : bool = True
4848 """Reject values that look like absolute filesystem paths."""
4949
50- exempt_params : frozenset [str ] = field (default_factory = frozenset [str ])
50+ exempt_params : Set [str ] = field (default_factory = frozenset [str ])
5151 """Parameter names to skip all checks for."""
5252
5353 def validate (self , params : Mapping [str , str | list [str ]]) -> bool :
Original file line number Diff line number Diff line change @@ -55,7 +55,7 @@ def test_matches_allows_dotdot_as_substring():
5555
5656
5757def test_matches_exempt_params_skip_security ():
58- policy = ResourceSecurity (exempt_params = frozenset ( {"range" }) )
58+ policy = ResourceSecurity (exempt_params = {"range" })
5959 t = _make ("git://diff/{+range}" , security = policy )
6060 assert t .matches ("git://diff/../foo" ) == {"range" : "../foo" }
6161
Original file line number Diff line number Diff line change @@ -176,7 +176,7 @@ async def test_resource_security_per_resource_override(self):
176176
177177 @mcp .resource (
178178 "git://diff/{+range}" ,
179- security = ResourceSecurity (exempt_params = frozenset ( {"range" }) ),
179+ security = ResourceSecurity (exempt_params = {"range" }),
180180 )
181181 def git_diff (range : str ) -> str :
182182 return f"diff:{ range } "
You can’t perform that action at this time.
0 commit comments