@@ -53,6 +53,14 @@ class Meta(BaseModel):
5353 meta : Meta | None = Field (alias = "_meta" , default = None )
5454
5555
56+ class PaginatedRequestParams (RequestParams ):
57+ cursor : Cursor | None = None
58+ """
59+ An opaque token representing the current pagination position.
60+ If provided, the server should return results starting after this cursor.
61+ """
62+
63+
5664class NotificationParams (BaseModel ):
5765 class Meta (BaseModel ):
5866 model_config = ConfigDict (extra = "allow" )
@@ -79,12 +87,13 @@ class Request(BaseModel, Generic[RequestParamsT, MethodT]):
7987 model_config = ConfigDict (extra = "allow" )
8088
8189
82- class PaginatedRequest (Request [RequestParamsT , MethodT ]):
83- cursor : Cursor | None = None
84- """
85- An opaque token representing the current pagination position.
86- If provided, the server should return results starting after this cursor.
87- """
90+ class PaginatedRequest (
91+ Request [PaginatedRequestParams | None , MethodT ], Generic [MethodT ]
92+ ):
93+ """Base class for paginated requests,
94+ matching the schema's PaginatedRequest interface."""
95+
96+ params : PaginatedRequestParams | None = None
8897
8998
9099class Notification (BaseModel , Generic [NotificationParamsT , MethodT ]):
@@ -358,13 +367,10 @@ class ProgressNotification(
358367 params : ProgressNotificationParams
359368
360369
361- class ListResourcesRequest (
362- PaginatedRequest [RequestParams | None , Literal ["resources/list" ]]
363- ):
370+ class ListResourcesRequest (PaginatedRequest [Literal ["resources/list" ]]):
364371 """Sent from the client to request a list of resources the server has."""
365372
366373 method : Literal ["resources/list" ]
367- params : RequestParams | None = None
368374
369375
370376class Annotations (BaseModel ):
@@ -423,12 +429,11 @@ class ListResourcesResult(PaginatedResult):
423429
424430
425431class ListResourceTemplatesRequest (
426- PaginatedRequest [RequestParams | None , Literal ["resources/templates/list" ]]
432+ PaginatedRequest [Literal ["resources/templates/list" ]]
427433):
428434 """Sent from the client to request a list of resource templates the server has."""
429435
430436 method : Literal ["resources/templates/list" ]
431- params : RequestParams | None = None
432437
433438
434439class ListResourceTemplatesResult (PaginatedResult ):
@@ -570,13 +575,10 @@ class ResourceUpdatedNotification(
570575 params : ResourceUpdatedNotificationParams
571576
572577
573- class ListPromptsRequest (
574- PaginatedRequest [RequestParams | None , Literal ["prompts/list" ]]
575- ):
578+ class ListPromptsRequest (PaginatedRequest [Literal ["prompts/list" ]]):
576579 """Sent from the client to request a list of prompts and prompt templates."""
577580
578581 method : Literal ["prompts/list" ]
579- params : RequestParams | None = None
580582
581583
582584class PromptArgument (BaseModel ):
@@ -703,11 +705,10 @@ class PromptListChangedNotification(
703705 params : NotificationParams | None = None
704706
705707
706- class ListToolsRequest (PaginatedRequest [RequestParams | None , Literal ["tools/list" ]]):
708+ class ListToolsRequest (PaginatedRequest [Literal ["tools/list" ]]):
707709 """Sent from the client to request a list of tools the server has."""
708710
709711 method : Literal ["tools/list" ]
710- params : RequestParams | None = None
711712
712713
713714class ToolAnnotations (BaseModel ):
@@ -741,7 +742,7 @@ class ToolAnnotations(BaseModel):
741742
742743 idempotentHint : bool | None = None
743744 """
744- If true, calling the tool repeatedly with the same arguments
745+ If true, calling the tool repeatedly with the same arguments
745746 will have no additional effect on the its environment.
746747 (This property is meaningful only when `readOnlyHint == false`)
747748 Default: false
0 commit comments