feat: RFC 6570 URI templates with operator-aware security (#2356)
This commit is contained in:
parent
067f90578c
commit
24717cc8eb
1 changed files with 3800 additions and 37 deletions
25
docs_src/uri_templates/tutorial003.py
Normal file
25
docs_src/uri_templates/tutorial003.py
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
from mcp.server import MCPServer
|
||||
from mcp.server.mcpserver import ResourceSecurity
|
||||
|
||||
mcp = MCPServer("Bookshop")
|
||||
|
||||
|
||||
@mcp.resource(
|
||||
"imports://preview/{+source}",
|
||||
security=ResourceSecurity(exempt_params={"source"}),
|
||||
)
|
||||
def preview_import(source: str) -> str:
|
||||
"""Preview a catalog import. `source` may be an absolute path."""
|
||||
return f"Would import from {source}"
|
||||
|
||||
|
||||
relaxed = MCPServer(
|
||||
"Bookshop",
|
||||
resource_security=ResourceSecurity(reject_path_traversal=False),
|
||||
)
|
||||
|
||||
|
||||
@relaxed.resource("imports://preview/{+source}")
|
||||
def preview_import_relaxed(source: str) -> str:
|
||||
"""The server-wide flag exempts every resource on `relaxed`."""
|
||||
return f"Would import from {source}"
|
||||
Loading…
Reference in a new issue