@@ -58,6 +58,7 @@ def __init__(
5858 self ,
5959 server : Server [Any ] | FastMCP ,
6060 * ,
61+ # TODO(Marcelo): When do `raise_exceptions=True` actually raises?
6162 raise_exceptions : bool = False ,
6263 read_timeout_seconds : float | None = None ,
6364 sampling_callback : SamplingFnT | None = None ,
@@ -125,12 +126,7 @@ async def __aenter__(self) -> Client:
125126 self ._exit_stack = exit_stack .pop_all ()
126127 return self
127128
128- async def __aexit__ (
129- self ,
130- exc_type : type [BaseException ] | None ,
131- exc_val : BaseException | None ,
132- exc_tb : Any ,
133- ) -> None :
129+ async def __aexit__ (self , exc_type : type [BaseException ] | None , exc_val : BaseException | None , exc_tb : Any ) -> None :
134130 """Exit the async context manager."""
135131 if self ._exit_stack :
136132 await self ._exit_stack .__aexit__ (exc_type , exc_val , exc_tb )
@@ -177,28 +173,22 @@ async def set_logging_level(self, level: types.LoggingLevel) -> types.EmptyResul
177173 """Set the logging level on the server."""
178174 return await self .session .set_logging_level (level )
179175
180- async def list_resources (
181- self ,
182- params : types .PaginatedRequestParams | None = None ,
183- ) -> types .ListResourcesResult :
176+ async def list_resources (self , * , cursor : str | None = None ) -> types .ListResourcesResult :
184177 """List available resources from the server."""
185- return await self .session .list_resources (params = params )
178+ return await self .session .list_resources (params = types . PaginatedRequestParams ( cursor = cursor ) )
186179
187- async def list_resource_templates (
188- self ,
189- params : types .PaginatedRequestParams | None = None ,
190- ) -> types .ListResourceTemplatesResult :
180+ async def list_resource_templates (self , * , cursor : str | None = None ) -> types .ListResourceTemplatesResult :
191181 """List available resource templates from the server."""
192- return await self .session .list_resource_templates (params = params )
182+ return await self .session .list_resource_templates (params = types . PaginatedRequestParams ( cursor = cursor ) )
193183
194184 async def read_resource (self , uri : str | AnyUrl ) -> types .ReadResourceResult :
195185 """Read a resource from the server.
196186
197187 Args:
198- uri: The URI of the resource to read
188+ uri: The URI of the resource to read.
199189
200190 Returns:
201- The resource content
191+ The resource content.
202192 """
203193 return await self .session .read_resource (uri )
204194
@@ -239,26 +229,19 @@ async def call_tool(
239229 meta = meta ,
240230 )
241231
242- async def list_prompts (
243- self ,
244- params : types .PaginatedRequestParams | None = None ,
245- ) -> types .ListPromptsResult :
232+ async def list_prompts (self , * , cursor : str | None = None ) -> types .ListPromptsResult :
246233 """List available prompts from the server."""
247- return await self .session .list_prompts (params = params )
234+ return await self .session .list_prompts (params = types . PaginatedRequestParams ( cursor = cursor ) )
248235
249- async def get_prompt (
250- self ,
251- name : str ,
252- arguments : dict [str , str ] | None = None ,
253- ) -> types .GetPromptResult :
236+ async def get_prompt (self , name : str , arguments : dict [str , str ] | None = None ) -> types .GetPromptResult :
254237 """Get a prompt from the server.
255238
256239 Args:
257240 name: The name of the prompt
258241 arguments: Arguments to pass to the prompt
259242
260243 Returns:
261- The prompt content
244+ The prompt content.
262245 """
263246 return await self .session .get_prompt (name = name , arguments = arguments )
264247
@@ -276,21 +259,15 @@ async def complete(
276259 context_arguments: Additional context arguments
277260
278261 Returns:
279- Completion suggestions
262+ Completion suggestions.
280263 """
281- return await self .session .complete (
282- ref = ref ,
283- argument = argument ,
284- context_arguments = context_arguments ,
285- )
264+ return await self .session .complete (ref = ref , argument = argument , context_arguments = context_arguments )
286265
287- async def list_tools (
288- self ,
289- params : types .PaginatedRequestParams | None = None ,
290- ) -> types .ListToolsResult :
266+ async def list_tools (self , * , cursor : str | None = None ) -> types .ListToolsResult :
291267 """List available tools from the server."""
292- return await self .session .list_tools (params = params )
268+ return await self .session .list_tools (params = types . PaginatedRequestParams ( cursor = cursor ) )
293269
294270 async def send_roots_list_changed (self ) -> None :
295271 """Send a notification that the roots list has changed."""
296- await self .session .send_roots_list_changed ()
272+ # TODO(Marcelo): Currently, there is no way for the server to handle this. We should add support.
273+ await self .session .send_roots_list_changed () # pragma: no cover
0 commit comments