# coding=utf-8 """ @Time :2026/6/30 @Author :tao.chen Pydantic body models for the FastAPI route layer. fastapi-mcp passes tool args as a JSON body, so every tool needs a model (even single-arg ones) — dict-typed query params would 422. """ from pydantic import BaseModel, Field class CreateFileRequest(BaseModel): path: str content: str overwrite: bool = False class ReadFileRequest(BaseModel): path: str class UpdateFileRequest(BaseModel): path: str content: str class DeleteFileRequest(BaseModel): path: str recursive: bool = False class ListDirRequest(BaseModel): path: str recursive: bool = False max_depth: int = Field(default=1, ge=0) class StatRequest(BaseModel): path: str class SearchRequest(BaseModel): path: str pattern: str recursive: bool = True class MoveRequest(BaseModel): src: str dst: str overwrite: bool = False class CopyRequest(BaseModel): src: str dst: str overwrite: bool = False