Entrées du modèle avec Pydantic
Définissez une structure typée pour les arguments d’un outil.
Entrées du modèle avec Pydantic est une leçon MCP Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage MCP Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours MCP Academy comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
A Model Per Input
To shape a tool's arguments, you write a Pydantic model: a small class where each attribute is one typed field of the input.
from pydantic import BaseModel
class SearchInput(BaseModel):
query: str
limit: intSubclass BaseModel
Every input model inherits from BaseModel, which gives it parsing, validation, and JSON schema generation for free.
Fields Are Typed Attributes
Each line names a field and its type. Pydantic reads those annotations to know what valid input looks like.
Pass the Model as One Argument
In a FastMCP tool, accept the model as a single typed parameter, and the framework builds the schema from it.
@mcp.tool()
def search(args: SearchInput) -> str:
return run(args.query, args.limit)Access Fields by Name
Inside the tool you read values as attributes: args.query and args.limit. No dict lookups, and your editor autocompletes them.
Coercion Where Sensible
Pydantic will gently coerce compatible values, like turning the string 5 into the integer 5, so minor mismatches just work.
Rejecting Bad Types
If a value cannot become the declared type, Pydantic raises a clear validation error instead of letting it slip through.
Nested Models
A field can itself be another model, letting you describe nested objects cleanly instead of deeply nested raw dicts.
class Address(BaseModel):
city: str
class User(BaseModel):
name: str
home: AddressSchema Is Generated
Pydantic turns your model into a JSON schema automatically, which MCP forwards to the client so the model knows the input shape.
Reuse Models Across Tools
Define a model once and share it across several tools. That keeps your input shapes consistent and your code dry.
Type Safety End to End
From the model's call to your function body, the data keeps one verified type, so you never juggle untyped dicts again.
Quick Check
How do you define a typed input shape for a tool with Pydantic?
Recap
Subclass BaseModel, list typed fields, and pass the model as one argument. Pydantic validates input and generates the schema. ✅
Questions Fréquemment Posées
La leçon « Entrées du modèle avec Pydantic » est-elle gratuite ?
Oui — le texte complet de « Entrées du modèle avec Pydantic » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours MCP Academy, passe à CoddyKit PRO. Le cours MCP Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Entrées du modèle avec Pydantic » ?
Définissez une structure typée pour les arguments d’un outil. Tu pratiques MCP Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer MCP Academy ?
Aucune expérience préalable n'est requise. MCP Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « Entrées du modèle avec Pydantic » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon MCP Academy ?
Oui. Chaque leçon MCP Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Pourquoi les schémas valent mieux que des arguments libres
- Entrées du modèle avec Pydantic
- Contraintes, valeurs par défaut et énumérations
- Descriptions de champs qui guident le modèle