{
    "ok": true,
    "server": "mesi-hosting-commerce-mcp",
    "version": "2.0.0",
    "protocol": "Model Context Protocol (MCP) — Streamable HTTP JSON-RPC 2.0",
    "mcp_endpoint": "https://www.mesi.com.ar/api/mcp.php",
    "rest_api_endpoint": "https://www.mesi.com.ar/api/shop.php",
    "openapi_spec": "https://www.mesi.com.ar/api/openapi.json",
    "authentication": "none (public commerce & auto-provisioning endpoint)",
    "support_channels": {
        "ai_whatsapp_24_7": {
            "phone": "+54 9 11 7200-0740",
            "whatsapp_url": "https://wa.me/5491172000740",
            "availability": "24/7/365 (Guardia inteligente fuera de horario comercial)"
        },
        "human_sales_whatsapp": "+54 9 11 5466-8560",
        "email": "info@mesi.com.ar"
    },
    "quick_connect": {
        "claude_code": "claude mcp add --transport http mesi-hosting https://www.mesi.com.ar/api/mcp.php",
        "mcp_json": {
            "mcpServers": {
                "mesi-hosting": {
                    "type": "http",
                    "url": "https://www.mesi.com.ar/api/mcp.php"
                }
            }
        }
    },
    "tools": [
        {
            "name": "list_services",
            "description": "Lista el catálogo actualizado de planes y servicios de MESI Hosting SRL en Argentina (Web Hosting NVMe con PHP 8.4 + MySQL y cuotas técnicas exactas, Servidores Cloud VPS 2 a 16 con root SSH, Correo Corporativo MesiMail, Cloud SMTP Dedicado, Email Marketing, Backup Cloud, Registro de Dominios y Desarrollo con IA MIA) con sus precios reales en Pesos Argentinos (ARS), desglose de IVA (21%), explicación técnica de por qué el Web Hosting NVMe de MESI reemplaza una VPS costosa para el 95% de los proyectos, y canales de soporte (incluyendo el Chatbot IA 24/7 por WhatsApp +54 9 11 7200-0740).",
            "inputSchema": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "description": "Filtro opcional por categoría: \"all\", \"hosting\", \"vps\", \"vps_correo\", \"email\", \"domain\", \"smtp\", \"email_marketing\", \"backup\", \"support\", \"ai_development\". Por defecto devuelve todos.",
                        "enum": [
                            "all",
                            "hosting",
                            "vps",
                            "vps_correo",
                            "email",
                            "domain",
                            "smtp",
                            "email_marketing",
                            "backup",
                            "support",
                            "ai_development"
                        ]
                    }
                }
            }
        },
        {
            "name": "recommend_plan",
            "description": "Calculadora inteligente de dimensionamiento: evalúa los requerimientos del proyecto del usuario (espacio en GB, cantidad de casillas de correo, bases de datos MySQL, subdominios, consultas MySQL/hora o si requiere acceso root/Docker) y recomienda el plan exacto de Web Hosting NVMe (\"emprendedor\", \"comercial\", \"profesional\" o \"empresarial\") con sus precios vigentes en tiempo real, explicando por qué en la infraestructura NVMe Enterprise de MESI con PHP 8.4-FPM aislado y MySQL NO hace falta gastar en una VPS para sistemas web, APIs, e-commerce, WordPress o Laravel.",
            "inputSchema": {
                "type": "object",
                "properties": {
                    "storage_gb": {
                        "type": "number",
                        "description": "Espacio en disco estimado necesario en GB (ej: 2, 10, 20, 60)."
                    },
                    "mailboxes": {
                        "type": "integer",
                        "description": "Cantidad de cuentas de correo corporativo @tudominio necesarias (ej: 2, 10, 50, 150)."
                    },
                    "databases": {
                        "type": "integer",
                        "description": "Cantidad de bases de datos MySQL necesarias (ej: 1, 2, 3)."
                    },
                    "subdomains": {
                        "type": "integer",
                        "description": "Cantidad de subdominios necesarios (ej: 5, 30, 100)."
                    },
                    "domains_pointers": {
                        "type": "integer",
                        "description": "Cantidad de dominios apuntados/alias adicionales (ej: 1, 4, 6)."
                    },
                    "mysql_queries_per_hour": {
                        "type": "integer",
                        "description": "Consultas MySQL por hora estimadas (ej: 30000 o 120000)."
                    },
                    "monthly_transfer_gb": {
                        "type": "number",
                        "description": "Transferencia mensual estimada en GB (ej: 30, 50, 100)."
                    },
                    "project_type": {
                        "type": "string",
                        "description": "Tipo de aplicación o proyecto (ej: \"php_mysql\", \"wordpress\", \"woocommerce\", \"laravel\", \"api_rest\", \"landing\", \"docker\")."
                    },
                    "needs_root_or_docker": {
                        "type": "boolean",
                        "description": "Indicar true ÚNICAMENTE si el proyecto exige instalar demonios de sistema propios con SSH root o contenedores Docker personalizados (en caso contrario dejar false para recomendar Web Hosting NVMe administrado)."
                    },
                    "period": {
                        "type": "string",
                        "description": "Período de facturación deseado para calcular el presupuesto del plan recomendado: \"monthly\", \"quarterly\" o \"yearly\".",
                        "enum": [
                            "monthly",
                            "quarterly",
                            "yearly"
                        ]
                    }
                }
            }
        },
        {
            "name": "check_domain",
            "description": "Verifica en tiempo real (~40 ms vía raíz autoritativa dns.ar y WHOIS) si un dominio argentino (.com.ar, .ar, .org.ar, .net.ar) o internacional (.com, .net, .org, .biz, .info) está disponible para registrar o si ya se encuentra registrado.",
            "inputSchema": {
                "type": "object",
                "properties": {
                    "domain": {
                        "type": "string",
                        "description": "Nombre de dominio a verificar (ej: \"miempresa.com.ar\" o \"miempresa.com\")."
                    }
                },
                "required": [
                    "domain"
                ]
            }
        },
        {
            "name": "calculate_quote",
            "description": "Calcula el presupuesto exacto en Pesos Argentinos (ARS) incluyendo subtotal neto, IVA (21%) y total final a abonar para uno o varios planes de MESI según la periodicidad elegida (monthly, quarterly, yearly, one-time).",
            "inputSchema": {
                "type": "object",
                "properties": {
                    "service_id": {
                        "type": "string",
                        "description": "ID del plan o servicio (ej: \"profesional\", \"comercial\", \"emprendedor\", \"empresarial\", \"VPS2\", \"VPS4\", \"VPS8\", \"VPS16\", \"correo_profesional\", \"DOMREG\", \"smtp-50k\", \"backup-100gb\")."
                    },
                    "period": {
                        "type": "string",
                        "description": "Período de facturación: \"monthly\" (Mensual), \"quarterly\" (Trimestral), \"yearly\" (Anual) o \"one-time\" (Pago único). Si se omite, usa el período por defecto del plan.",
                        "enum": [
                            "monthly",
                            "quarterly",
                            "yearly",
                            "one-time"
                        ]
                    },
                    "domain": {
                        "type": "string",
                        "description": "Dominio asociado (opcional en la cotización, ej: \"miempresa.com.ar\")."
                    },
                    "items": {
                        "type": "array",
                        "description": "Lista opcional de múltiples servicios si desea cotizar varios ítems juntos.",
                        "items": {
                            "type": "object",
                            "properties": {
                                "id": {
                                    "type": "string"
                                },
                                "period": {
                                    "type": "string"
                                },
                                "quantity": {
                                    "type": "integer"
                                }
                            },
                            "required": [
                                "id"
                            ]
                        }
                    }
                }
            }
        },
        {
            "name": "create_order",
            "description": "Genera una orden de contratación real en el sistema ABM de MESI Hosting SRL sin necesidad de que el humano llene formularios web. Registra al cliente, asigna el código de referencia (order_reference), envía el email de confirmación al titular y devuelve el link directo de pago de Mercado Pago (init_point), el Alias bancario (MESI-AR) y el provisioning_token criptográfico para que, en planes de Web Hosting NVMe, el agente pueda dar de alta la cuenta automáticamente tras el pago por Mercado Pago.",
            "inputSchema": {
                "type": "object",
                "properties": {
                    "service_id": {
                        "type": "string",
                        "description": "ID del servicio a contratar (ej: \"emprendedor\", \"comercial\", \"profesional\", \"empresarial\", \"VPS2\", \"VPS4\", \"VPS8\", \"VPS16\", \"correo_profesional\", \"DOMREG\")."
                    },
                    "period": {
                        "type": "string",
                        "description": "Período de contratación: \"monthly\", \"quarterly\", \"yearly\" o \"one-time\".",
                        "enum": [
                            "monthly",
                            "quarterly",
                            "yearly",
                            "one-time"
                        ]
                    },
                    "domain": {
                        "type": "string",
                        "description": "Dominio principal del servicio (obligatorio para planes de Web Hosting, Correo Profesional y Registro de Dominios; opcional para Cloud VPS). Ej: \"miempresa.com.ar\"."
                    },
                    "name": {
                        "type": "string",
                        "description": "Nombre y Apellido o Razón Social del titular."
                    },
                    "email": {
                        "type": "string",
                        "description": "Correo electrónico del titular (allí recibirá la confirmación y los datos de acceso al panel)."
                    },
                    "phone": {
                        "type": "string",
                        "description": "Teléfono o WhatsApp de contacto con código de área (ej: \"1155554444\")."
                    },
                    "dni_cuit": {
                        "type": "string",
                        "description": "Número de DNI o CUIT del titular (solo números, ej: \"20304050607\")."
                    },
                    "address": {
                        "type": "string",
                        "description": "Dirección / Domicilio, Localidad y Provincia de facturación (ej: \"Av. Corrientes 1234, CABA\")."
                    },
                    "payment_method": {
                        "type": "string",
                        "description": "Medio de pago preferido: \"mercadopago\" (permite alta automática inmediata en planes de Web Hosting) o \"transferencia\" (CBU/Alias MESI-AR).",
                        "enum": [
                            "mercadopago",
                            "transferencia"
                        ]
                    },
                    "dry_run": {
                        "type": "boolean",
                        "description": "Si es true, simula la creación de la orden sin grabarla en la base de datos ni enviar correos (útil para pruebas)."
                    }
                },
                "required": [
                    "service_id",
                    "name",
                    "email",
                    "phone",
                    "dni_cuit"
                ]
            }
        },
        {
            "name": "provision_paid_hosting",
            "description": "Verifica en tiempo real ante la API oficial de Mercado Pago si la orden de un plan de Web Hosting (\"emprendedor\", \"comercial\", \"profesional\" o \"empresarial\") ya fue abonada (status = approved). En caso afirmativo, aprovisiona automáticamente la cuenta de Web Hosting, configura el virtualhost Apache + PHP 8.4-FPM, el servicio de correo y las zonas DNS (~60 segundos), envía el email de bienvenida y devuelve por única vez las credenciales de administrador (admin@dominio y admin_password), además del host FTP inmediato y URL temporal (http://<dominio>.am110.mesi.com.ar) para subir y probar el sitio al instante sin esperar la delegación DNS. Notas importantes: 1) El nombre de usuario para Panel, FTP, correo y el HTTP Basic Auth de /wp-admin en WordPress es SIEMPRE \"admin@<dominio>\" completo (con @dominio, NUNCA \"admin\" a secas). 2) El dominio solo tendrá certificado SSL real (https://) cuando esté delegado a ns1.mesi.com.ar y ns2.mesi.com.ar (el servidor intenta emitirlo automáticamente una vez por hora).",
            "inputSchema": {
                "type": "object",
                "properties": {
                    "reference_code_pfs": {
                        "type": "string",
                        "description": "Código de referencia de la orden devuelto por create_order en order.reference_code_pfs (ej: \"995861...\")."
                    },
                    "provisioning_token": {
                        "type": "string",
                        "description": "Token criptográfico devuelto por create_order en order.provisioning_token."
                    },
                    "domain": {
                        "type": "string",
                        "description": "Dominio contratado en la orden (opcional para validación cruzada, ej: \"miempresa.com.ar\")."
                    },
                    "email": {
                        "type": "string",
                        "description": "Email del titular de la orden (opcional para validación cruzada)."
                    }
                },
                "required": [
                    "reference_code_pfs",
                    "provisioning_token"
                ]
            }
        },
        {
            "name": "create_hosting_user",
            "description": "Crea una casilla de correo (@dominio) y usuario FTP en un plan de Web Hosting recién aprovisionado en MESI, respetando las cuotas del plan contratado.",
            "inputSchema": {
                "type": "object",
                "properties": {
                    "domain": {
                        "type": "string",
                        "description": "Dominio del plan de Web Hosting aprovisionado (ej: \"miempresa.com.ar\")."
                    },
                    "admin_password": {
                        "type": "string",
                        "description": "Contraseña de administrador del dominio (hosting_account.admin_password devuelta por provision_paid_hosting)."
                    },
                    "provisioning_token": {
                        "type": "string",
                        "description": "Token criptográfico devuelto al crear la orden en order.provisioning_token."
                    },
                    "new_username": {
                        "type": "string",
                        "description": "Nombre de usuario de la casilla a crear (sin @dominio, solo letras minúsculas, números, punto o guion, ej: \"ventas\" o \"info\")."
                    },
                    "new_name": {
                        "type": "string",
                        "description": "Nombre visible de la cuenta de correo (opcional, ej: \"Ventas MiEmpresa\")."
                    },
                    "new_password": {
                        "type": "string",
                        "description": "Contraseña opcional para la casilla (mínimo 8 caracteres con mayúscula, minúscula, número y símbolo). Si se omite, se genera una contraseña segura automáticamente."
                    },
                    "ftp_root": {
                        "type": "string",
                        "description": "Ruta FTP opcional: \"\" (solo correo, sin FTP), \"/\" (acceso FTP raíz) o \"/subcarpeta\"."
                    }
                },
                "required": [
                    "domain",
                    "admin_password",
                    "provisioning_token",
                    "new_username"
                ]
            }
        },
        {
            "name": "create_hosting_database",
            "description": "Crea una base de datos MySQL y su usuario en un plan de Web Hosting recién aprovisionado en MESI, respetando el límite de bases de datos del plan y devolviendo mysql_database_full, mysql_username_full y mysql_password listos para conectar desde PHP. IMPORTANTE: Para conectarse a MySQL desde los scripts PHP alojados en el servidor debe utilizar SIEMPRE \"localhost\" como host.",
            "inputSchema": {
                "type": "object",
                "properties": {
                    "domain": {
                        "type": "string",
                        "description": "Dominio del plan de Web Hosting aprovisionado (ej: \"miempresa.com.ar\")."
                    },
                    "admin_password": {
                        "type": "string",
                        "description": "Contraseña de administrador del dominio (hosting_account.admin_password devuelta por provision_paid_hosting)."
                    },
                    "provisioning_token": {
                        "type": "string",
                        "description": "Token criptográfico devuelto al crear la orden en order.provisioning_token."
                    },
                    "db_name": {
                        "type": "string",
                        "description": "Sufijo del nombre de la base de datos (1 a 18 caracteres alfanuméricos, ej: \"appdb\" o \"wpdb\"). Use el valor mysql_database_full devuelto en la respuesta para conectarse."
                    },
                    "db_user": {
                        "type": "string",
                        "description": "Sufijo del usuario MySQL (1 a 9 letras sin números ni símbolos, ej: \"appusr\"). Use el valor mysql_username_full devuelto en la respuesta para conectarse."
                    },
                    "db_password": {
                        "type": "string",
                        "description": "Contraseña opcional para el usuario MySQL. Si se omite, se genera una contraseña segura automáticamente."
                    }
                },
                "required": [
                    "domain",
                    "admin_password",
                    "provisioning_token",
                    "db_name",
                    "db_user"
                ]
            }
        },
        {
            "name": "create_hosting_subdomain",
            "description": "Crea un subdominio (ej: api.tudominio.com.ar o app.tudominio.com.ar) en un plan de Web Hosting recién aprovisionado en MESI, configurando automáticamente el virtualhost Apache + PHP 8.4 y el registro DNS (~60s). Nota: el certificado SSL real (https://) se emite cuando el dominio está delegado a MESI y el sistema lo intenta automáticamente una vez por hora.",
            "inputSchema": {
                "type": "object",
                "properties": {
                    "domain": {
                        "type": "string",
                        "description": "Dominio del plan de Web Hosting aprovisionado (ej: \"miempresa.com.ar\")."
                    },
                    "admin_password": {
                        "type": "string",
                        "description": "Contraseña de administrador del dominio (hosting_account.admin_password devuelta por provision_paid_hosting)."
                    },
                    "provisioning_token": {
                        "type": "string",
                        "description": "Token criptográfico devuelto al crear la orden en order.provisioning_token."
                    },
                    "subdomain": {
                        "type": "string",
                        "description": "Prefijo del subdominio (solo letras, números o guion medio, sin el dominio principal, ej: \"api\", \"tienda\", \"sistema\")."
                    }
                },
                "required": [
                    "domain",
                    "admin_password",
                    "provisioning_token",
                    "subdomain"
                ]
            }
        },
        {
            "name": "resume_order",
            "description": "Si una conversación o sesión con un agente de IA se interrumpió después de crear la orden (por ejemplo, el usuario abonó más tarde o abrió un nuevo chat), permite recuperar el reference_code_pfs, el link de pago de Mercado Pago y el provisioning_token verificando email, phone (o dni_cuit) y domain del titular.",
            "inputSchema": {
                "type": "object",
                "properties": {
                    "email": {
                        "type": "string",
                        "description": "Correo electrónico del titular registrado en la orden."
                    },
                    "phone": {
                        "type": "string",
                        "description": "Teléfono del titular registrado en la orden."
                    },
                    "dni_cuit": {
                        "type": "string",
                        "description": "DNI o CUIT del titular registrado en la orden."
                    },
                    "domain": {
                        "type": "string",
                        "description": "Dominio asociado a la orden (ej: \"miempresa.com.ar\")."
                    },
                    "reference_code_pfs": {
                        "type": "string",
                        "description": "Código de referencia de la orden (opcional si se indica domain)."
                    }
                },
                "required": [
                    "email",
                    "domain"
                ]
            }
        },
        {
            "name": "send_feedback_or_contact",
            "description": "Permite al agente de IA o al usuario enviar un comentario, reportar una transacción interrumpida o solicitar que el equipo humano de MESI Hosting (ventas@mesi.com.ar) retome el contacto por WhatsApp o email.",
            "inputSchema": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "Nombre del usuario o titular."
                    },
                    "email": {
                        "type": "string",
                        "description": "Email de contacto del usuario."
                    },
                    "phone": {
                        "type": "string",
                        "description": "Teléfono o WhatsApp de contacto del usuario."
                    },
                    "domain": {
                        "type": "string",
                        "description": "Dominio involucrado (opcional)."
                    },
                    "reference_code_pfs": {
                        "type": "string",
                        "description": "Código de orden si existiera (opcional)."
                    },
                    "agent_name": {
                        "type": "string",
                        "description": "Nombre del agente de IA (ej: Claude, ChatGPT, Cursor, Gemini)."
                    },
                    "comment": {
                        "type": "string",
                        "description": "Detalle de la consulta, comentario o motivo por el que se interrumpió la operación."
                    }
                },
                "required": [
                    "comment"
                ]
            }
        }
    ]
}