mirror of
https://github.com/aljazceru/mcp-python-sdk.git
synced 2025-12-19 14:54:24 +01:00
Add support for list_tools
This commit is contained in:
@@ -24,6 +24,8 @@ from mcp_python.types import (
|
|||||||
ListPromptsResult,
|
ListPromptsResult,
|
||||||
ListResourcesRequest,
|
ListResourcesRequest,
|
||||||
ListResourcesResult,
|
ListResourcesResult,
|
||||||
|
ListToolsRequest,
|
||||||
|
ListToolsResult,
|
||||||
LoggingLevel,
|
LoggingLevel,
|
||||||
ProgressNotification,
|
ProgressNotification,
|
||||||
Prompt,
|
Prompt,
|
||||||
@@ -36,6 +38,7 @@ from mcp_python.types import (
|
|||||||
ServerResult,
|
ServerResult,
|
||||||
SetLevelRequest,
|
SetLevelRequest,
|
||||||
SubscribeRequest,
|
SubscribeRequest,
|
||||||
|
Tool,
|
||||||
UnsubscribeRequest,
|
UnsubscribeRequest,
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -79,7 +82,7 @@ class Server:
|
|||||||
return ServerCapabilities(
|
return ServerCapabilities(
|
||||||
prompts=get_capability(ListPromptsRequest),
|
prompts=get_capability(ListPromptsRequest),
|
||||||
resources=get_capability(ListResourcesRequest),
|
resources=get_capability(ListResourcesRequest),
|
||||||
tools=get_capability(ListPromptsRequest),
|
tools=get_capability(ListToolsRequest),
|
||||||
logging=get_capability(SetLevelRequest),
|
logging=get_capability(SetLevelRequest),
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -205,6 +208,7 @@ class Server:
|
|||||||
|
|
||||||
return decorator
|
return decorator
|
||||||
|
|
||||||
|
|
||||||
def set_logging_level(self):
|
def set_logging_level(self):
|
||||||
from mcp_python.types import EmptyResult
|
from mcp_python.types import EmptyResult
|
||||||
|
|
||||||
@@ -250,6 +254,19 @@ class Server:
|
|||||||
|
|
||||||
return decorator
|
return decorator
|
||||||
|
|
||||||
|
def list_tools(self):
|
||||||
|
def decorator(func: Callable[[], Awaitable[list[Tool]]]):
|
||||||
|
logger.debug("Registering handler for ListToolsRequest")
|
||||||
|
|
||||||
|
async def handler(_: Any):
|
||||||
|
tools = await func()
|
||||||
|
return ServerResult(ListToolsResult(tools=tools))
|
||||||
|
|
||||||
|
self.request_handlers[ListToolsRequest] = handler
|
||||||
|
return func
|
||||||
|
|
||||||
|
return decorator
|
||||||
|
|
||||||
def call_tool(self):
|
def call_tool(self):
|
||||||
from mcp_python.types import CallToolResult
|
from mcp_python.types import CallToolResult
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user