Sitequest Hosting
Un servidor remoto del Protocolo de Contexto de Modelo (MCP) para gestionar servidores VPS y dominios en Sitequest. Permite que los asistentes de IA aprovisionen, monitoreen y configuren infraestructura mediante lenguaje natural.
Documentación
Sitequest MCP Server
Un servidor remoto de Model Context Protocol (MCP) para gestionar servidores VPS, webspaces y dominios en Sitequest. Permite a los asistentes de IA aprovisionar, supervisar y configurar infraestructura mediante lenguaje natural.
Características
- Gestión de VPS -- Listar, crear, supervisar, control de encendido, reinstalación del SO, redimensionar
- Alojamiento Webspace -- Aprovisionar hosting compartido, instalar CMS (WordPress, Joomla, TYPO3), vincular dominios, gestionar versiones de PHP y bases de datos
- Operaciones SSH y de archivos -- Ejecutar comandos, leer/escribir archivos, gestionar la seguridad SSH tanto en VPS como en webspaces (con jail)
- Firewall y copias de seguridad -- Configurar reglas de firewall, crear/restaurar/eliminar copias de seguridad
- Gestión de dominios -- Registrar, transferir, configurar registros DNS, privacidad WHOIS, DNSSEC
- Integración de facturación -- Aprovisionar recursos con pago automático mediante mandato guardado
- Acceso basado en ámbitos -- Permisos detallados de clave API por categoría de herramienta
Inicio rápido
1. Obtén una clave API
Crea una clave API en el Panel de Sitequest con los ámbitos que necesites.
2. Conecta tu cliente
VS Code / GitHub Copilot -- Crea .vscode/mcp.json en tu espacio de trabajo:
{
"servers": {
"sitequest": {
"type": "http",
"url": "https://hosting.site.quest/mcp",
"headers": {
"Authorization": "Bearer ${input:sitequest-api-key}"
}
}
},
"inputs": [
{
"id": "sitequest-api-key",
"type": "promptString",
"description": "Sitequest API key",
"password": true
}
]
}
Claude Desktop -- Añade a claude_desktop_config.json:
{
"mcpServers": {
"sitequest": {
"type": "streamableHttp",
"url": "https://hosting.site.quest/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
Cursor -- Añade a la configuración de MCP:
{
"mcpServers": {
"sitequest": {
"url": "https://hosting.site.quest/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
Consulta examples/ para más configuraciones de cliente.
Endpoint
| URL | POST https://hosting.site.quest/mcp |
| Transporte | Streamable HTTP (sin estado) |
| Protocolo | JSON-RPC 2.0 / MCP 2025-03-26 |
| Autenticación | Authorization: Bearer <api-key> |
Herramientas disponibles
Precios (sin ámbito requerido)
| Herramienta | Descripción |
|---|---|
get_domain_pricing | Listar precios de TLD o comprobar el precio de un dominio específico |
check_domain | Comprobar disponibilidad de dominio (individual o por lotes, hasta 20 TLD) |
get_vps_pricing | Obtener precios de componentes VPS por sistema host |
VPS
| Herramienta | Ámbito | Descripción |
|---|---|---|
list_vms | vps:read | Listar todos los VPS con estado, especificaciones y métricas de uso |
get_vm | vps:read | Información detallada del VPS con configuración y estado en vivo |
get_vm_monitoring | vps:read | Historial de CPU/memoria/ping y estadísticas de inactividad |
get_vm_traffic | vps:read | Ancho de banda del mes actual y registro de tráfico diario |
vm_power | vps:manage | Iniciar, detener o reiniciar un VPS |
vm_reinstall_os | vps:manage | Reinstalar SO (destructivo, requiere confirm) |
vm_mount_iso | vps:manage | Montar o desmontar una imagen ISO |
vm_reset_password | vps:manage | Generar nueva contraseña de root (requiere confirm) |
rename_vm | vps:manage | Actualizar nombre para mostrar |
exec_command | vps:manage | Ejecutar un comando SSH de una sola vez |
list_files | vps:manage | Listar contenido de directorio vía SFTP |
read_file | vps:manage | Leer contenido de archivo vía SFTP (máx. 10 MB) |
write_file | vps:manage | Escribir contenido de archivo vía SFTP (máx. 10 MB) |
ssh_security | vps:manage | Obtener/establecer ajustes de seguridad SSH con respaldo de rescate |
list_backups | vps:manage | Listar todas las copias de seguridad de un VPS |
create_backup | vps:manage | Crear una nueva copia de seguridad (requiere confirm) |
restore_backup | vps:manage | Restaurar desde copia de seguridad (destructivo, requiere confirm) |
delete_backup | vps:manage | Eliminar una copia de seguridad (requiere confirm) |
get_firewall | vps:manage | Obtener estado y reglas del firewall |
manage_firewall | vps:manage | Añadir/eliminar reglas, habilitar/deshabilitar firewall |
create_vm | vps:provision | Crear nuevo VPS (cobra el mandato guardado, requiere confirm) |
cancel_vm | vps:provision | Cancelar suscripción VPS al final del período de facturación |
uncancel_vm | vps:provision | Reactivar un VPS cancelado antes de su vencimiento |
upgrade_vm | vps:provision | Mejorar recursos con cargo prorrateado (requiere confirm) |
Webspaces
Alojamiento web compartido con sitios PHP/MariaDB aislados. Las herramientas SFTP y exec operan como el usuario Linux no privilegiado del sitio, con jail en el directorio home del sitio -- no pueden afectar a otros sitios en el mismo nodo.
| Herramienta | Ámbito | Descripción |
|---|---|---|
webspace_list | webspace:read | Listar todos los webspaces con estado, plan, CMS y uso de cuota |
webspace_get | webspace:read | Información detallada del webspace incluyendo dominios vinculados y uso de disco en vivo |
webspace_get_ssh_info | webspace:read | Detalles de conexión SSH (host, puerto, usuario, huella de clave de host) |
webspace_list_ssh_keys | webspace:read | Listar claves públicas SSH en authorized_keys |
webspace_create | webspace:provision | Aprovisionar un webspace de pago (cobra el mandato guardado) |
webspace_claim_free | webspace:provision | Reclamar el webspace gratuito de una sola vez para la cuenta |
webspace_upgrade | webspace:provision | Aumentar disco y/o número de bases de datos (sin reducciones) |
webspace_delete | webspace:provision | Eliminar un webspace permanentemente (requiere confirm) |
webspace_set_label | webspace:manage | Actualizar el nombre para mostrar |
webspace_set_php | webspace:manage | Cambiar versión de PHP (8.1 -- 8.5, requiere confirm) |
webspace_install_cms | webspace:manage | Instalar/reinstalar WordPress, Joomla, TYPO3 o estático (borra docroot, requiere confirm) |
webspace_link_domain | webspace:manage | Vincular un dominio propiedad del usuario y emitir un certificado Let's Encrypt |
webspace_unlink_domain | webspace:manage | Desvincular un dominio vinculado y eliminar su vhost (requiere confirm) |
webspace_reset_db_password | webspace:manage | Restablecer contraseña de MariaDB (se devuelve una vez, requiere confirm) |
webspace_exec | webspace:manage | Ejecutar un comando SSH de una sola vez en el shell con jail |
webspace_list_files | webspace:manage | Listar contenido de directorio vía SFTP con jail |
webspace_read_file | webspace:manage | Leer un archivo vía SFTP con jail (máx. 10 MB) |
webspace_write_file | webspace:manage | Escribir un archivo vía SFTP con jail (máx. 10 MB) |
webspace_mkdir | webspace:manage | Crear un directorio en el jail |
webspace_rename | webspace:manage | Renombrar / mover dentro del jail |
webspace_delete_path | webspace:manage | Eliminar un archivo o directorio en el jail (requiere confirm) |
webspace_chmod | webspace:manage | Cambiar permisos en un archivo/directorio |
webspace_add_ssh_key | webspace:manage | Añadir una clave pública SSH autorizada |
webspace_delete_ssh_key | webspace:manage | Eliminar una clave SSH autorizada por huella (requiere confirm) |
Dominios
| Herramienta | Ámbito | Descripción |
|---|---|---|
list_domains | domains:read | Listar todos los dominios con estado, número de DNS, vencimiento |
get_domain | domains:read | Información detallada del dominio con registros DNS y datos del registrador |
list_dns_records | domains:read | Listar registros DNS de un dominio |
add_dns_record | domains:manage | Crear un registro DNS (A, AAAA, CNAME, MX, TXT, SRV, etc.) |
edit_dns_record | domains:manage | Actualizar un registro DNS existente |
delete_dns_record | domains:manage | Eliminar un registro DNS (requiere confirm) |
set_nameservers | domains:manage | Actualizar servidores de nombres del dominio |
set_transfer_lock | domains:manage | Habilitar o deshabilitar bloqueo de transferencia |
set_whois_privacy | domains:manage | Habilitar o deshabilitar privacidad WHOIS |
set_dnssec | domains:manage | Habilitar o deshabilitar DNSSEC |
get_authcode | domains:manage | Obtener código de autorización del dominio para transferencia |
register_domain | domains:provision | Registrar nuevo dominio (cobra el mandato, requiere confirm) |
transfer_domain | domains:provision | Transferir dominio a Sitequest (requiere código de autorización + confirm) |
cancel_domain | domains:provision | Cancelar dominio al final del período de facturación |
uncancel_domain | domains:provision | Reactivar un dominio cancelado antes de su vencimiento |
Pedidos
| Herramienta | Ámbito | Descripción |
|---|---|---|
get_order_status | vps:provision o domains:provision | Seguir pedido por ID o token |
Ámbitos
Las claves API utilizan ámbitos granulares para controlar el acceso:
| Ámbito | Acceso |
|---|---|
vps:read | Ver instancias VPS y métricas |
vps:manage | Control de encendido, SSH, archivos, copias de seguridad, firewall |
vps:provision | Crear, mejorar, cancelar VPS |
domains:read | Ver dominios y registros DNS |
domains:manage | Editar DNS, servidores de nombres, WHOIS, DNSSEC |
domains:provision | Registrar, transferir, cancelar dominios |
webspace:read | Ver webspaces, cuotas, información de conexión SSH |
webspace:manage | Gestionar PHP, CMS, dominios, archivos (SFTP/exec), claves SSH |
webspace:provision | Crear, mejorar, eliminar webspaces |
Las claves también pueden restringirse a IDs específicos de VPS, webspace o dominio para un acceso más limitado.
Límites de tasa
60 solicitudes por minuto por clave API. Los encabezados de límite de tasa se incluyen en cada respuesta:
X-RateLimit-LimitX-RateLimit-RemainingX-RateLimit-Reset
Seguridad
Todas las operaciones destructivas (reinstalar SO, eliminar copias de seguridad, registrar/cancelar dominios, etc.) requieren un parámetro confirm: true explícito. El servidor no las ejecutará sin confirmación.
Documentación
Documentación completa: site.quest/docs/api/mcp
Licencia
MIT