File tree Expand file tree Collapse file tree 1 file changed +18
-1
lines changed Expand file tree Collapse file tree 1 file changed +18
-1
lines changed Original file line number Diff line number Diff line change 2424 ListPromptsResult ,
2525 ListResourcesRequest ,
2626 ListResourcesResult ,
27+ ListToolsRequest ,
28+ ListToolsResult ,
2729 LoggingLevel ,
2830 ProgressNotification ,
2931 Prompt ,
3638 ServerResult ,
3739 SetLevelRequest ,
3840 SubscribeRequest ,
41+ Tool ,
3942 UnsubscribeRequest ,
4043)
4144
@@ -79,7 +82,7 @@ def get_capability(req_type: type) -> dict[str, Any] | None:
7982 return ServerCapabilities (
8083 prompts = get_capability (ListPromptsRequest ),
8184 resources = get_capability (ListResourcesRequest ),
82- tools = get_capability (ListPromptsRequest ),
85+ tools = get_capability (ListToolsRequest ),
8386 logging = get_capability (SetLevelRequest ),
8487 )
8588
@@ -205,6 +208,7 @@ async def handler(req: ReadResourceRequest):
205208
206209 return decorator
207210
211+
208212 def set_logging_level (self ):
209213 from mcp_python .types import EmptyResult
210214
@@ -250,6 +254,19 @@ async def handler(req: UnsubscribeRequest):
250254
251255 return decorator
252256
257+ def list_tools (self ):
258+ def decorator (func : Callable [[], Awaitable [list [Tool ]]]):
259+ logger .debug ("Registering handler for ListToolsRequest" )
260+
261+ async def handler (_ : Any ):
262+ tools = await func ()
263+ return ServerResult (ListToolsResult (tools = tools ))
264+
265+ self .request_handlers [ListToolsRequest ] = handler
266+ return func
267+
268+ return decorator
269+
253270 def call_tool (self ):
254271 from mcp_python .types import CallToolResult
255272
You can’t perform that action at this time.
0 commit comments