MCP HubMCP Hub
POST·BUILDY

Comment Créer Votre Premier Plugin d'Agent : Guide Pas à Pas

AIMCP Teamon 24 days ago · 2 min read

Comment Créer Votre Premier Plugin d'Agent : Guide Pas à Pas

Les Agent Plugins (v1.0.0) constituent le standard d'empaquetage portable pour les composants d'agent — compétences et serveurs MCP — qui fonctionne sur tous les clients compatibles. Dans ce guide, vous allez construire un plugin réel et conforme à la spécification depuis zéro : un plugin qui embarque une compétence et un serveur MCP, puis le valider avec le schéma officiel.

Étape 1 : Créer la structure du package

Un plugin est simplement un répertoire. Créez-le avec les deux éléments requis dès le départ :

my-plugin/
├── plugin.json
├── skills/
│   └── summarize/
│       └── SKILL.md
└── mcp.json

Étape 2 : Rédiger le manifeste

plugin.json est le seul fichier obligatoire. Le schéma du manifeste est fermé — les champs de premier niveau portables sont limités à un ensemble fixe :

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "summarize.tools",
  "version": "1.0.0",
  "description": "Compétences et serveurs pour résumer des documents.",
  "author": {
    "name": "Votre Nom",
    "url": "https://example.com"
  },
  "homepage": "https://example.com/summarize-tools",
  "repository": "https://github.com/you/summarize-tools",
  "license": "MIT",
  "keywords": ["summarization", "documents", "llm"]
}

Seuls $schema et name sont obligatoires. Tout le reste est optionnel mais recommandé : version (SemVer), description, author, homepage, repository, license (SPDX), et keywords pour la découverte.

Note : le schéma est fermé par conception. Les paramètres spécifiques à un client appartiennent à des espaces de noms d'extension, pas aux champs de premier niveau.

Étape 3 : Ajouter une compétence

Les compétences se trouvent dans skills/, en suivant la spécification Agent Skills. Chaque sous-répertoire direct contenant un fichier SKILL.md constitue une compétence :

skills/
└── summarize/
    ├── SKILL.md
    ├── scripts/
    │   └── summarize.py
    └── references/
        └── guidelines.md

Un SKILL.md minimal :

---
name: summarize
description: Résumez un document en points clés. À utiliser lorsque l'utilisateur demande de condenser un texte long.
---

# Summarize

1. Lisez le document à partir de l'entrée de l'utilisateur.
2. Extrayez l'argument principal, les points de soutien et les actions à entreprendre.
3. Rédigez le résumé en markdown, maximum 10 points à puces.

## Scripts

- `scripts/summarize.py` — CLI qui prend un chemin de fichier et affiche un résumé.

Les clients découvrent les compétences en parcourant skills/*/SKILL.md ; ils ne descendent pas plus profondément, donc conservez une compétence par sous-répertoire direct.

Étape 4 : Ajouter un serveur MCP

Si votre plugin embarque un serveur MCP, décrivez-le dans mcp.json. Le format prend en charge les transports stdio, Streamable HTTP et HTTP+SSE hérité :

{
  "servers": {
    "summarize": {
      "command": "python",
      "args": ["scripts/mcp_server.py"],
      "env": {}
    }
  }
}

Les clients transposent ce format portable dans leur configuration native — les noms de champs n'ont pas besoin de correspondre au format interne d'un client.

Étape 5 : (Optionnel) Ajouter des extensions client

Vous souhaitez ajouter un comportement pour un client spécifique sans dupliquer le cœur du plugin ? Utilisez un répertoire d'espace de noms en domaine inverse nommé d'après votre client, par exemple com.example.client/hooks/hooks.json. Les clients recherchent leur répertoire d'espace de noms à la racine du plugin ; les espaces de noms inconnus sont ignorés.

Étape 6 : Valider

Avant de distribuer, validez votre manifeste :

  1. $schema doit référencer l'URL officielle du schéma : https://agent-plugins.org/schemas/1.0.0/plugin.schema.json.
  2. name doit être présent et non vide — un champ obligatoire manquant rend l'ensemble du plugin invalide et les clients doivent le rejeter.
  3. Vérifiez que le frontmatter de votre SKILL.md contient au moins name et description.
  4. Validez mcp.json avec le schéma JSON de la spécification (publié sur agent-plugins.org/schemas).

Vous pouvez également utiliser le plugin exemple du dépôt de spécification (agentplugins/agent-plugins-example) comme référence canonique, ou soumettre votre plugin via le répertoire d'AIMCP — il valide avec le schéma officiel et rapporte le nombre de composants.

Étape 7 : Distribuer

Un Agent Plugin est un répertoire, donc la distribution est flexible : poussez-le vers un dépôt GitHub, publiez-le sur une marketplace, ou partagez-le directement. Les clients compatibles découvrent et chargent les plugins de manière cohérente, quel que soit le mode de transport.

Prochaines étapes