# Comment créer mes propres outils MCP ?

Les développeurs de modules peuvent créer leurs propres outils pour exposer la fonctionnalité de leur module aux applications IA, ou pour exposer des fonctionnalités PrestaShop natives au-delà de ce que les outils par défaut offrent.

Pour créer vos propres outils pour PrestaShop MCP Server, déclarez votre module comme compatible MCP et définissez vos outils personnalisés en utilisant des attributs PHP.

Tables des matières

# 1. Déclarer votre module comme compatible MCP

Pour faire savoir à PrestaShop MCP Server que votre module inclut des outils MCP, déclarez-le comme compatible MCP en ajoutant la méthode isMcpCompliant() à votre classe de module principale :

<?php

class Ps_MySuperModule extends Module
{
    // Cette méthode permet à ps_mcp_server de découvrir vos outils
    public function isMcpCompliant()
    {
        return true;
    }
}

?>

# 2. Implémenter vos outils MCP

Utilisez les attributs PHP-MCP McpTool et Schema pour déclarer votre fonction comme un outil MCP. Vos outils seront automatiquement découverts et rendus disponibles.

Pour plus d'informations sur les attributs PHP-MCP, visitez la documentation PHP-MCP (opens new window).

Exemple :

<?php

class MySuperTool
{
    // exemple d'un outil pour récupérer des produits depuis la base de données
    #[PhpMcp\\Server\\Attributes\\McpTool(
        name: 'update_prestashop_product_by_id',
        description: 'Mettre à jour une description de produit par son ID dans la boutique PrestaShop'
    )]
    #[PhpMcp\\Server\\Attributes\\Schema(
        properties: [
            'productId' => ['type' => 'integer', 'description' => 'ID du produit'],
        ],
        required: ['productId']
    )]
    public function getProducts(int $langId): array {
        return Product::getProducts($langId, 0, 100, 'id_product', 'ASC');
    }
}

?>

# Lignes directrices pour des outils efficaces

Ces lignes directrices vous aideront à concevoir des outils que les agents peuvent comprendre et utiliser pour accomplir des tâches complexes.

# 1. Décrivez vos outils clairement et de manière concise

Définissez clairement et de manière concise le but et le comportement de chaque outil. Cela aide les modèles IA à comprendre la fonctionnalité de l'outil et à l'utiliser correctement.

Exemple :

#[PhpMcp\\Server\\Attributes\\McpTool(
    name: 'search_product_by_name',
    description: 'Rechercher un produit dans la boutique par nom uniquement. Cette recherche utilise la correspondance floue. Les résultats sont triés par pertinence. '
)]
#[PhpMcp\\Server\\Attributes\\Schema(
    properties: [
        'searchTerms' => ['type' => 'string', 'description' => 'Termes de recherche à rechercher dans les noms de produits. Plusieurs termes peuvent être fournis sous forme de liste séparée par des points-virgules.'],
        'language' => ['type' => 'integer', 'description' => 'Langue pour exécuter la recherche. Par défaut, la langue préférée.']
    ],
    required: ['productId']
)]

Dans cet exemple, le nom et la description de l'outil ne laissent aucun doute sur l'utilisation de l'outil. Le champ searchTerms montre également comment un agent peut être guidé pour utiliser pleinement vos outils.

# 2. Utilisez un vocabulaire cohérent

Utilisez un vocabulaire cohérent dans tout votre serveur MCP pour aider les agents à connecter vos outils et planifier des flux de travail complexes utilisant plusieurs outils ensemble. Cela inclut les paramètres, les messages d'erreur et autres termes techniques.

# 3. Validez vos entrées

Validez les entrées de vos outils en utilisant l'annotation #[Schema()] fournie par PHP-MCP (opens new window) pour vous assurer qu'elles sont correctes et cohérentes.

# 4. Effectuez des vérifications de cohérence

Après avoir validé les paramètres, assurez-vous que les agents font des demandes raisonnables à votre outil. Cela inclut :

  • Limiter la taille des résultats et la complexité des demandes
  • Appliquer les permissions
  • Vérifier le contenu inapproprié lorsque l'IA génère du texte ou des images
  • Détecter les comportements erratiques, comme un agent bloqué dans une boucle

Pour plus de lignes directrices sur l'écriture d'outils MCP efficaces, visitez le Guide de développement MCP (opens new window).

# Débogage

PrestaShop MCP Server stocke les journaux, le cache et les fichiers de configuration dans le dossier .mcp. Les fichiers .logs sont créés lorsque le paramètre du module MCP Activer les journaux est défini sur true.

Pour forcer une nouvelle analyse des emplacements, supprimez .cache.json.

Utilisez l'inspecteur MCP (opens new window) pour vérifier que votre serveur fonctionne et valider que vos outils MCP fonctionnent correctement.

# Dépendances

# Documentation