# ¿Cómo crear mis propias herramientas MCP?

Los desarrolladores de módulos pueden crear sus propias herramientas para exponer la funcionalidad de su módulo a las aplicaciones de IA, o para exponer funcionalidades nativas de PrestaShop más allá de lo que ofrecen las herramientas por defecto.

Para crear tus propias herramientas para PrestaShop MCP Server, declara tu módulo como compatible con MCP y define tus herramientas personalizadas usando atributos PHP.

Tablas de contenidos

# 1. Declarar tu módulo como compatible con MCP

Para hacer saber a PrestaShop MCP Server que tu módulo incluye herramientas MCP, decláralo como compatible con MCP agregando el método isMcpCompliant() a tu clase de módulo principal:

<?php

class Ps_MySuperModule extends Module
{
    // Este método permite a ps_mcp_server descubrir tus herramientas
    public function isMcpCompliant()
    {
        return true;
    }
}

?>

# 2. Implementar tus herramientas MCP

Usa los atributos PHP-MCP McpTool y Schema para declarar tu función como una herramienta MCP. Tus herramientas serán descubiertas y disponibles automáticamente.

Para más información sobre los atributos PHP-MCP, visita la documentación PHP-MCP (opens new window).

Ejemplo:

<?php

class MySuperTool
{
    // ejemplo de una herramienta para recuperar productos desde la base de datos
    #[PhpMcp\\Server\\Attributes\\McpTool(
        name: 'update_prestashop_product_by_id',
        description: 'Actualizar una descripción de producto por su ID en la tienda PrestaShop'
    )]
    #[PhpMcp\\Server\\Attributes\\Schema(
        properties: [
            'productId' => ['type' => 'integer', 'description' => 'ID del producto'],
        ],
        required: ['productId']
    )]
    public function getProducts(int $langId): array {
        return Product::getProducts($langId, 0, 100, 'id_product', 'ASC');
    }
}

?>

# Pautas para herramientas efectivas

Estas pautas te ayudarán a diseñar herramientas que los agentes puedan entender y usar para realizar tareas complejas.

# 1. Describe tus herramientas de forma clara y concisa

Define claramente y de forma concisa el propósito y el comportamiento de cada herramienta. Esto ayuda a los modelos de IA a entender la funcionalidad de la herramienta y usarla correctamente.

Ejemplo:

#[PhpMcp\\Server\\Attributes\\McpTool(
    name: 'search_product_by_name',
    description: 'Buscar un producto en la tienda solo por nombre. Esta búsqueda usa coincidencia difusa. Los resultados se ordenan por relevancia. '
)]
#[PhpMcp\\Server\\Attributes\\Schema(
    properties: [
        'searchTerms' => ['type' => 'string', 'description' => 'Términos de búsqueda para buscar en los nombres de productos. Varios términos pueden proporcionarse como una lista separada por punto y coma.'],
        'language' => ['type' => 'integer', 'description' => 'Idioma para ejecutar la búsqueda. Por defecto, el idioma preferido.']
    ],
    required: ['productId']
)]

En este ejemplo, el nombre y la descripción de la herramienta no dejan lugar a dudas sobre el uso de la herramienta. El campo searchTerms también muestra cómo un agente puede ser guiado para usar plenamente tus herramientas.

# 2. Usa vocabulario consistente

Usa vocabulario consistente en todo tu servidor MCP para ayudar a los agentes a conectar tus herramientas y planificar flujos de trabajo complejos usando múltiples herramientas juntas. Esto incluye parámetros, mensajes de error y otros términos técnicos.

# 3. Valida tus entradas

Valida las entradas de tus herramientas usando la anotación #[Schema()] proporcionada por PHP-MCP (opens new window) para asegurarte de que sean correctas y consistentes.

# 4. Realiza comprobaciones de coherencia

Después de validar los parámetros, asegúrate de que los agentes hagan solicitudes razonables a tu herramienta. Esto incluye:

  • Limitar el tamaño de los resultados y la complejidad de las solicitudes
  • Aplicar permisos
  • Verificar contenido inapropiado cuando la IA genera texto o imágenes
  • Detectar comportamientos erráticos, como un agente atascado en un bucle

Para más pautas sobre cómo escribir herramientas MCP efectivas, visita la Guía de desarrollo MCP (opens new window).

# Depuración

PrestaShop MCP Server almacena los registros, caché y archivos de configuración en la carpeta .mcp. Los archivos .logs se crean cuando el parámetro del módulo MCP Activar registros se establece en true.

Para forzar un nuevo escaneo de ubicaciones, elimina .cache.json.

Usa el inspector MCP (opens new window) para verificar que tu servidor funciona y validar que tus herramientas MCP funcionan correctamente.

# Dependencias

# Documentación