mirror of
https://github.com/hoshikawa2/compass_backoffice.git
synced 2026-07-09 22:04:20 +00:00
first commit
This commit is contained in:
35
mcp_servers/backoffice_mcp_server/models.py
Normal file
35
mcp_servers/backoffice_mcp_server/models.py
Normal file
@@ -0,0 +1,35 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import Any, Dict, List, Optional
|
||||
from pydantic import BaseModel, Field, AliasChoices, ConfigDict
|
||||
|
||||
|
||||
class ToolCallRequest(BaseModel):
|
||||
model_config = ConfigDict(populate_by_name=True)
|
||||
|
||||
# O client do seu framework envia {"tool_name": "..."}.
|
||||
# Mantemos também "name" para chamadas manuais/curl.
|
||||
name: str = Field(
|
||||
...,
|
||||
validation_alias=AliasChoices("name", "tool_name"),
|
||||
description="Nome da ferramenta a executar",
|
||||
)
|
||||
arguments: Dict[str, Any] = Field(default_factory=dict)
|
||||
context: Dict[str, Any] = Field(default_factory=dict)
|
||||
|
||||
|
||||
class ToolCallResponse(BaseModel):
|
||||
ok: bool
|
||||
tool: str
|
||||
result: Dict[str, Any] = Field(default_factory=dict)
|
||||
error: Optional[str] = None
|
||||
|
||||
|
||||
class ToolDefinition(BaseModel):
|
||||
name: str
|
||||
description: str
|
||||
input_schema: Dict[str, Any]
|
||||
|
||||
|
||||
class ToolListResponse(BaseModel):
|
||||
tools: List[ToolDefinition]
|
||||
Reference in New Issue
Block a user