From 0071b0f94e59d4e22e3eca6ef369ff06d85bad2b Mon Sep 17 00:00:00 2001 From: ihrpr Date: Thu, 12 Jun 2025 15:21:22 +0100 Subject: [PATCH 1/3] Rename ResourceReference to ResourceTemplateReference --- src/mcp/client/session.py | 2 +- src/mcp/server/lowlevel/server.py | 2 +- src/mcp/types.py | 8 ++++++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/mcp/client/session.py b/src/mcp/client/session.py index 02a4e8e01..0ba46fe5b 100644 --- a/src/mcp/client/session.py +++ b/src/mcp/client/session.py @@ -302,7 +302,7 @@ async def get_prompt(self, name: str, arguments: dict[str, str] | None = None) - async def complete( self, - ref: types.ResourceReference | types.PromptReference, + ref: types.ResourceTemplateReference | types.PromptReference, argument: dict[str, str], ) -> types.CompleteResult: """Send a completion/complete request.""" diff --git a/src/mcp/server/lowlevel/server.py b/src/mcp/server/lowlevel/server.py index 7a24781ab..b077339fb 100644 --- a/src/mcp/server/lowlevel/server.py +++ b/src/mcp/server/lowlevel/server.py @@ -431,7 +431,7 @@ def completion(self): def decorator( func: Callable[ [ - types.PromptReference | types.ResourceReference, + types.PromptReference | types.ResourceTemplateReference, types.CompletionArgument, ], Awaitable[types.Completion | None], diff --git a/src/mcp/types.py b/src/mcp/types.py index 2949ed8e7..d3152d5f9 100644 --- a/src/mcp/types.py +++ b/src/mcp/types.py @@ -953,7 +953,7 @@ class CreateMessageResult(Result): """The reason why sampling stopped, if known.""" -class ResourceReference(BaseModel): +class ResourceTemplateReference(BaseModel): """A reference to a resource or resource template definition.""" type: Literal["ref/resource"] @@ -962,6 +962,10 @@ class ResourceReference(BaseModel): model_config = ConfigDict(extra="allow") +# Deprecated: Use ResourceTemplateReference instead +ResourceReference = ResourceTemplateReference + + class PromptReference(BaseModel): """Identifies a prompt.""" @@ -984,7 +988,7 @@ class CompletionArgument(BaseModel): class CompleteRequestParams(RequestParams): """Parameters for completion requests.""" - ref: ResourceReference | PromptReference + ref: ResourceTemplateReference | PromptReference argument: CompletionArgument model_config = ConfigDict(extra="allow") From b3ece15f2f3c13c446e1696f6f447dabc84a2686 Mon Sep 17 00:00:00 2001 From: ihrpr Date: Fri, 13 Jun 2025 16:31:13 +0100 Subject: [PATCH 2/3] use @deprecated --- src/mcp/types.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/mcp/types.py b/src/mcp/types.py index d3152d5f9..14f8d27a7 100644 --- a/src/mcp/types.py +++ b/src/mcp/types.py @@ -1,6 +1,8 @@ from collections.abc import Callable from typing import Annotated, Any, Generic, Literal, TypeAlias, TypeVar +from typing_extensions import deprecated + from pydantic import BaseModel, ConfigDict, Field, FileUrl, RootModel from pydantic.networks import AnyUrl, UrlConstraints @@ -962,8 +964,9 @@ class ResourceTemplateReference(BaseModel): model_config = ConfigDict(extra="allow") -# Deprecated: Use ResourceTemplateReference instead -ResourceReference = ResourceTemplateReference +@deprecated("`ResourceReference` is deprecated, you should use `ResourceTemplateReference`.") +class ResourceReference(ResourceTemplateReference): + pass class PromptReference(BaseModel): From 8872ef90546e41b62951f2a900da7a1ec288e5cb Mon Sep 17 00:00:00 2001 From: ihrpr Date: Fri, 13 Jun 2025 16:32:41 +0100 Subject: [PATCH 3/3] ruff --- src/mcp/types.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/mcp/types.py b/src/mcp/types.py index 14f8d27a7..672bcce51 100644 --- a/src/mcp/types.py +++ b/src/mcp/types.py @@ -1,10 +1,9 @@ from collections.abc import Callable from typing import Annotated, Any, Generic, Literal, TypeAlias, TypeVar -from typing_extensions import deprecated - from pydantic import BaseModel, ConfigDict, Field, FileUrl, RootModel from pydantic.networks import AnyUrl, UrlConstraints +from typing_extensions import deprecated """ Model Context Protocol bindings for Python