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 824cee73c..e1f8ea52f 100644 --- a/src/mcp/types.py +++ b/src/mcp/types.py @@ -3,6 +3,7 @@ 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 @@ -961,7 +962,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"] @@ -970,6 +971,11 @@ class ResourceReference(BaseModel): model_config = ConfigDict(extra="allow") +@deprecated("`ResourceReference` is deprecated, you should use `ResourceTemplateReference`.") +class ResourceReference(ResourceTemplateReference): + pass + + class PromptReference(BaseModel): """Identifies a prompt.""" @@ -992,7 +998,7 @@ class CompletionArgument(BaseModel): class CompleteRequestParams(RequestParams): """Parameters for completion requests.""" - ref: ResourceReference | PromptReference + ref: ResourceTemplateReference | PromptReference argument: CompletionArgument model_config = ConfigDict(extra="allow")