Ir al contenido

Buscar en la documentación

Busca en la documentación de Skiffly

Servidor MCP

Dale a Claude Code, Cursor, Claude Desktop, Codex o cualquier cliente MCP la capacidad de desplegar, configurar y depurar apps en Skiffly, ya sea alojado con OAuth o localmente a través de la CLI.

El servidor MCP de Skiffly expone más de 37 herramientas mediante el Model Context Protocol: proyectos, servicios, variables, despliegues, logs, dominios, volúmenes, facturación, un importador de Railway y búsqueda en la documentación. Los nombres de las herramientas replican los del servidor MCP de Railway cuando los conceptos coinciden, así que un agente que conoce Railway se orienta sin problemas.

Hay dos formas de ejecutarlo:

Alojado (mcp.skiffly.dev)Local (skiffly mcp)
TransporteStreamable HTTPstdio
Inicio de sesiónOAuth 2.1 en el navegador (o un token bearer)el skiffly login de la CLI
Instalaciónnada que instalarNode.js 20+ y la CLI skiffly
Ideal paraClaude Code, Cursor, Claude Desktop, clientes webdocs sin conexión, CI, clientes sin soporte de MCP remoto

Servidor alojado (recomendado)#

El endpoint es https://mcp.skiffly.dev/mcp. Implementa la especificación de autorización de MCP (OAuth 2.1 con PKCE, registro dinámico de clientes y descubrimiento en /.well-known/oauth-authorization-server), así que un cliente compatible con servidores MCP remotos inicia tu sesión a través del navegador. No hay tokens que copiar.

claude mcp add --transport http skiffly https://mcp.skiffly.dev/mcp

Luego ejecuta /mcp dentro de Claude Code y elige skiffly → Authenticate. El navegador abre el panel de Skiffly; inicia sesión con GitHub si hace falta, revisa los permisos y haz clic en Permitir. Claude Code guarda los tokens y los renueva por sí solo.

Qué concede la pantalla de consentimiento#

El cliente pide read (ver proyectos, servicios, despliegues, logs, variables) y normalmente write (desplegar, cambiar variables y configuración, agregar dominios y volúmenes). Al permitirlo se emite un token de acceso de 1 hora más un refresh token que el cliente rota por su cuenta; ambos actúan como tú en todos tus espacios de trabajo. Las solicitudes tienen límite de tasa por token según el plan del espacio de trabajo, exactamente igual que la API GraphQL.

Revocar el acceso#

Configuración → Desarrollador → Sesiones de CLI y apps conectadas lista cada cliente MCP conectado (por su nombre registrado, p. ej. Claude Code) y cada sesión de la CLI. Revocar corta el acceso de inmediato, incluido el refresh token; el cliente te pedirá conectarte de nuevo la próxima vez. Quitar el servidor de la configuración del cliente no revoca nada del lado de Skiffly.

Servidor local (skiffly mcp)#

La CLI incorpora el mismo servidor y lo ejecuta por stdio con la sesión de skiffly login, así que el agente nunca ve un token:

npm i -g skiffly && skiffly login
claude mcp add skiffly -s user -- skiffly mcp        # o: skiffly mcp install claude

skiffly mcp install claude también deja un skill skiffly en ~/.claude/skills/ que le enseña al agente el flujo de despliegue.

Qué pedir#

Despliega este repositorio en Skiffly y dame la URL.

Agrega Postgres con un volumen de 20 GB y conecta DATABASE_URL al servicio api.

El último despliegue de web falló, averigua por qué y arréglalo.

Importa mi proyecto de Railway "acme-shop" a Skiffly y dime qué me queda por hacer a mano.

Normalmente el agente llama a whoamilist-projectscreate-deploymentget-statusget-logsgenerate-domain. Las herramientas destructivas (delete-*, escalar a cero) están anotadas para que el modelo pregunte primero.

Herramientas por área#

ÁreaHerramientas
Cuentawhoami, list-workspaces, billing-account, topup-create, github-installations, list-nodes
Proyectoslist-projects, create-project, delete-project, list-environments, create-environment, describe-environment, get-status
Servicioslist-services, create-service, create-deployment, describe-service, get-service-config, update-service, delete-service
Variableslist-variables, set-variables, delete-variables
Desplieguesdeploy, redeploy, restart-service, list-deployments, cancel-deployment, get-logs
Redesgenerate-domain, list-domains, domain-status, delete-domain
Volúmenescreate-volume, list-volumes, delete-volume
Migraciónimport_from_railway: copia un proyecto de Railway (servicios, variables, volúmenes, dominios, proxies TCP) a Skiffly; primero con dryRun; ver Migrar desde Railway
Docssearch-docs

Los argumentos y valores de retorno de cada herramienta están en la referencia de herramientas MCP. skiffly mcp tools imprime la misma lista localmente.

Entorno (servidor local)#

VariableSignificado
SKIFFLY_TOKENToken de API (obligatorio para npx @skiffly/mcp; el skiffly mcp de la CLI usa la sesión guardada)
SKIFFLY_API_URLEndpoint GraphQL, por defecto https://api.skiffly.dev/graphql

Buenas prácticas#

  • Prefiere el servidor alojado con OAuth: los tokens nunca pasan por prompts, archivos de configuración ni el contexto del agente.
  • Empieza cada sesión con whoami: confirma el token y devuelve los ids de los espacios de trabajo.
  • Los valores de las variables son secretos: list-variables devuelve los nombres a menos que el agente pida los valores.
  • Los límites del plan se devuelven como errores PLAN_LIMIT en lugar de reintentos; los límites de tasa, como RATE_LIMITED.
  • Revoca los clientes que ya no uses desde Configuración → Desarrollador.