File size: 933 Bytes
8791d59 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
from pydantic import BaseModel
from typing import Any, Dict, List, Optional
class ToolCallRequest(BaseModel):
"""Request for calling an MCP tool"""
tool_name: str
arguments: Dict[str, Any] = {}
class ToolCallResponse(BaseModel):
"""Response from MCP tool call"""
success: bool
result: Optional[Dict[str, Any]] = None
error: Optional[str] = None
tool_name: str
class ResourceInfo(BaseModel):
"""Information about an MCP resource"""
uri: str
name: str
description: Optional[str] = None
mime_type: str
class ToolInfo(BaseModel):
"""Information about an MCP tool"""
name: str
description: str
input_schema: Dict[str, Any]
class ResourceListResponse(BaseModel):
"""Response for listing resources"""
resources: List[ResourceInfo]
count: int
class ToolListResponse(BaseModel):
"""Response for listing tools"""
tools: List[ToolInfo]
count: int |