feat: add structured capability types

Replace generic capability dictionaries with structured types for prompts,
resources, tools, and roots. This improves type safety and makes capability
features like listChanged and subscribe more explicit in the protocol.
This commit is contained in:
David Soria Parra
2024-11-06 22:50:37 +00:00
parent 14addfb872
commit 5497da0afd
6 changed files with 150 additions and 29 deletions

View File

@@ -26,6 +26,7 @@ from mcp_python.types import (
PromptReference,
ReadResourceResult,
ResourceReference,
RootsCapability,
ServerNotification,
ServerRequest,
)
@@ -69,12 +70,12 @@ class ClientSession(
capabilities=ClientCapabilities(
sampling=None,
experimental=None,
roots={
roots=RootsCapability(
# TODO: Should this be based on whether we
# _will_ send notifications, or only whether
# they're supported?
"listChanged": True
},
listChanged=True
),
),
clientInfo=Implementation(name="mcp_python", version="0.1.0"),
),