WHMCS MCP Tools

conjunto de herramientas para la gestión de WHMCS

Documentación

Servidor MCP de WHMCS

CI Docker License: MIT TypeScript MCP Node.js

Un servidor de Protocolo de Contexto de Modelo (MCP) para gestionar instalaciones de WHMCS (Web Host Manager Complete Solution). Este servidor proporciona herramientas integrales para gestionar clientes, productos, facturación, tickets de soporte, dominios y más a través de la API de WHMCS.

📚 Documentación

✨ Características

🤖 Prompts Impulsados por IA

Plantillas de prompts predefinidas para flujos de trabajo comunes de WHMCS:

  • Incorporación de Clientes - Configuración guiada de nuevos clientes
  • Respuesta de Tickets - Genera respuestas de soporte profesionales
  • Informe de Ingresos - Análisis financiero integral
  • Verificación de Salud del Cliente - Evaluación del estado de la cuenta
  • Recordatorio de Facturación Masiva - Seguimiento automatizado de pagos
  • Auditoría de Caducidad de Dominios - Gestión proactiva de dominios
  • Configuración de Nuevos Productos - Orientación para la configuración de productos
  • Investigación de Fraude - Flujo de trabajo de análisis de seguridad

📊 Recursos en Vivo

Puntos de acceso a datos en tiempo real para acceso instantáneo:

  • Estadísticas del sistema (whmcs://stats)
  • Catálogo de productos (whmcs://products)
  • Departamentos de soporte (whmcs://support/departments)
  • Métodos de pago (whmcs://payment-methods)
  • Monedas (whmcs://currencies)
  • Servidores (whmcs://servers)
  • Precios de TLD (whmcs://tld-pricing)
  • Promociones (whmcs://promotions)
  • Estados de tickets (whmcs://support/statuses)
  • Tareas pendientes del administrador (whmcs://admin/todo)

Gestión de Clientes

  • Listar, buscar y filtrar clientes
  • Obtener información detallada del cliente
  • Crear, actualizar y eliminar clientes
  • Ver productos y servicios del cliente
  • Ver dominios del cliente

Gestión de Productos

  • Listar productos disponibles
  • Obtener grupos de productos
  • Ver precios de productos

Facturación y Recibos

  • Listar y filtrar recibos
  • Crear y actualizar recibos
  • Añadir pagos a recibos
  • Aplicar créditos
  • Ver transacciones

Tickets de Soporte

  • Listar y filtrar tickets
  • Ver detalles y respuestas de tickets
  • Crear nuevos tickets
  • Responder a tickets
  • Actualizar el estado del ticket
  • Obtener departamentos y estados de soporte

Gestión de Dominios

  • Registrar, transferir y renovar dominios
  • Gestionar servidores de nombres
  • Bloquear/desbloquear dominios
  • Obtener precios de TLD
  • Ver información WHOIS

Gestión de Pedidos

  • Listar y filtrar pedidos
  • Aceptar, cancelar o eliminar pedidos
  • Marcar pedidos como fraudulentos
  • Establecer pedidos como pendientes

Gestión de Servidores y Módulos

  • Listar servidores configurados
  • Crear/aprovisionar servicios
  • Suspender/activar servicios
  • Terminar servicios
  • Cambiar contraseñas de servicios

Herramientas del Sistema

  • Obtener estadísticas del sistema
  • Ver usuarios administradores
  • Obtener métodos de pago y monedas
  • Registro de actividad
  • Plantillas de correo electrónico
  • Tareas pendientes

Características Adicionales

  • Gestión de afiliados
  • Gestión de promociones/cupones
  • Gestión de cotizaciones

🔧 Instalación

Opción 1: Docker (Recomendado)

docker run -it --rm \
  -e WHMCS_API_URL="https://billing.example.com/" \
  -e WHMCS_API_IDENTIFIER="your-identifier" \
  -e WHMCS_API_SECRET="your-secret" \
  ghcr.io/scarecr0w12/whmcs-mcp-tool:latest

Consulta la Guía de Docker para instrucciones detalladas de despliegue con Docker.

Opción 2: Desde el Código Fuente

  1. Clona este repositorio:

    git clone https://github.com/scarecr0w12/whmcs-mcp-tool.git
    cd whmcs-mcp-tool
    
  2. Instala las dependencias:

    npm install
    
  3. Compila el proyecto:

    npm run build
    
  4. Configura tus credenciales de WHMCS:

    cp .env.example .env
    # Edit .env with your WHMCS API credentials
    

⚙️ Configuración

Para instrucciones detalladas de configuración, consulta la Guía de Configuración.

Inicio Rápido

  1. Crea credenciales de API en WHMCS: Configuración → Gestión de Personal → Credenciales de API
  2. Copia la plantilla de entorno: cp .env.example .env
  3. Edita .env con tus credenciales de WHMCS

Variables de Entorno

Establece las siguientes variables de entorno:

VariableRequeridaDescripción
WHMCS_API_URLSíLa URL de tu instalación de WHMCS (p. ej., https://billing.example.com/)
WHMCS_API_IDENTIFIERSíIdentificador de la credencial de API
WHMCS_API_SECRETSíSecreto de la credencial de API
WHMCS_ACCESS_KEYNoClave de acceso a API opcional para seguridad adicional

Clave de Acceso a API (Opcional)

Para seguridad adicional, puedes configurar una Clave de Acceso a API:

  1. En el administrador de WHMCS, ve a Configuración > Configuración General > Seguridad
  2. Establece el campo Clave de Acceso a API
  3. Añade esta clave a tu variable de entorno WHMCS_ACCESS_KEY

🚀 Uso

Con VS Code

El servidor se puede usar directamente con el soporte MCP de VS Code. La configuración ya está establecida en .vscode/mcp.json.

  1. Establece tus variables de entorno
  2. Compila el proyecto: npm run build
  3. El servidor MCP estará disponible en VS Code

Ejecución Manual

# Development mode with auto-reload
npm run dev

# Production mode
npm run build
npm start

🛠️ Herramientas Disponibles

Para documentación completa de parámetros, consulta la Referencia de API.

Herramientas de Clientes

  • whmcs_get_clients - Obtener lista de clientes
  • whmcs_get_client_details - Obtener información detallada del cliente
  • whmcs_add_client - Crear un nuevo cliente
  • whmcs_update_client - Actualizar un cliente existente
  • whmcs_delete_client - Eliminar un cliente
  • whmcs_get_client_products - Obtener productos/servicios del cliente
  • whmcs_get_client_domains - Obtener dominios del cliente

Herramientas de Productos

  • whmcs_get_products - Obtener productos disponibles
  • whmcs_get_product_groups - Obtener grupos de productos

Herramientas de Recibos

  • whmcs_get_invoices - Obtener recibos
  • whmcs_get_invoice - Obtener detalles del recibo
  • whmcs_create_invoice - Crear un recibo
  • whmcs_update_invoice - Actualizar un recibo
  • whmcs_add_payment - Añadir pago al recibo
  • whmcs_apply_credit - Aplicar crédito al recibo
  • whmcs_get_transactions - Obtener transacciones

Herramientas de Tickets

  • whmcs_get_tickets - Obtener tickets de soporte
  • whmcs_get_ticket - Obtener detalles del ticket
  • whmcs_open_ticket - Crear un nuevo ticket
  • whmcs_add_ticket_reply - Responder a un ticket
  • whmcs_update_ticket - Actualizar propiedades del ticket
  • whmcs_delete_ticket - Eliminar un ticket
  • whmcs_get_support_departments - Obtener departamentos de soporte
  • whmcs_get_support_statuses - Obtener estados de tickets

Herramientas de Dominios

  • whmcs_register_domain - Registrar un dominio
  • whmcs_transfer_domain - Transferir un dominio
  • whmcs_renew_domain - Renovar un dominio
  • whmcs_get_domain_whois - Obtener información WHOIS
  • whmcs_get_domain_nameservers - Obtener servidores de nombres
  • whmcs_update_domain_nameservers - Actualizar servidores de nombres
  • whmcs_get_domain_lock_status - Obtener estado de bloqueo
  • whmcs_update_domain_lock_status - Actualizar estado de bloqueo
  • whmcs_get_tld_pricing - Obtener precios de TLD

Herramientas de Pedidos

  • whmcs_get_orders - Obtener pedidos
  • whmcs_accept_order - Aceptar un pedido
  • whmcs_cancel_order - Cancelar un pedido
  • whmcs_delete_order - Eliminar un pedido
  • whmcs_fraud_order - Marcar como fraudulento
  • whmcs_pending_order - Establecer como pendiente

Herramientas de Servidores y Módulos

  • whmcs_get_servers - Obtener servidores configurados
  • whmcs_module_create - Crear/aprovisionar servicio
  • whmcs_module_suspend - Suspender servicio
  • whmcs_module_unsuspend - Activar servicio
  • whmcs_module_terminate - Terminar servicio
  • whmcs_module_change_password - Cambiar contraseña del servicio

Herramientas del Sistema

  • whmcs_get_stats - Obtener estadísticas del sistema
  • whmcs_get_admin_users - Obtener usuarios administradores
  • whmcs_get_payment_methods - Obtener métodos de pago
  • whmcs_get_currencies - Obtener monedas
  • whmcs_get_activity_log - Obtener registro de actividad
  • whmcs_log_activity - Registrar una actividad
  • whmcs_get_email_templates - Obtener plantillas de correo electrónico
  • whmcs_send_email - Enviar un correo electrónico
  • whmcs_get_todo_items - Obtener tareas pendientes

Herramientas de Afiliados

  • whmcs_get_affiliates - Obtener afiliados
  • whmcs_activate_affiliate - Activar un afiliado

Herramientas de Promociones

  • whmcs_get_promotions - Obtener promociones/cupones

Herramientas de Cotizaciones

  • whmcs_get_quotes - Obtener cotizaciones
  • whmcs_create_quote - Crear una cotización
  • whmcs_accept_quote - Aceptar una cotización
  • whmcs_delete_quote - Eliminar una cotización

🔒 Consideraciones de Seguridad

  1. Nunca subas tu archivo .env - Contiene credenciales de API sensibles
  2. Usa Claves de Acceso a API - Para una capa de seguridad adicional
  3. Restricciones de IP - Configura restricciones de IP en WHMCS para el acceso a la API
  4. Permisos Mínimos - Habilita solo las funciones de API que necesites
  5. Solo HTTPS - Usa siempre HTTPS para tu instalación de WHMCS

🧪 Pruebas

Ejecuta el script de prueba para verificar tu conexión con WHMCS:

npx tsx src/test.ts

💻 Desarrollo

Consulta CONTRIBUTING.md para las directrices de desarrollo.

# Install dependencies
npm install

# Run in development mode
npm run dev

# Build for production
npm run build

# Watch mode for development
npm run watch

📄 Licencia

Este proyecto está licenciado bajo la Licencia MIT - consulta el archivo LICENSE para más detalles.

🔗 Enlaces