diff --git a/litellm/types/mcp_server/tool_registry.py b/litellm/types/mcp_server/tool_registry.py index 7b306ea8be..266159343d 100644 --- a/litellm/types/mcp_server/tool_registry.py +++ b/litellm/types/mcp_server/tool_registry.py @@ -1,4 +1,4 @@ -from typing import Any, Callable, Dict +from typing import Any, Callable, Dict, List, Optional from pydantic import BaseModel @@ -8,3 +8,31 @@ class MCPTool(BaseModel): description: str input_schema: Dict[str, Any] handler: Callable + + +class ToolSchema(BaseModel): + name: str + description: str + inputSchema: Dict[str, Any] + + +class ListToolsResponse(BaseModel): + tools: List[ToolSchema] + nextCursor: Optional[str] = None + _meta: Optional[Dict[str, Any]] = None + + +class CallToolRequest(BaseModel): + method: str = "tools/call" + params: Dict[str, Any] + + +class ContentItem(BaseModel): + type: str + text: Optional[str] = None + + +class CallToolResponse(BaseModel): + content: List[ContentItem] + isError: Optional[bool] = None + _meta: Optional[Dict[str, Any]] = None