Railway MCP Server

Gestiona la infraestructura de Railway mediante lenguaje natural usando la API de Railway.

Documentación

Railway MCP Server

Railway    MCP

Permite que Claude y otros clientes MCP gestionen tu infraestructura de Railway.app. Despliega servicios, gestiona variables y monitorea despliegues, todo mediante lenguaje natural.

Nota: Esto está en desarrollo y no todas las funciones están disponibles aún. 🚧

railway-mcp MCP server

Un servidor de Model Context Protocol (MCP) para integrarse con la plataforma Railway.app.

smithery badge

MseeP.ai Security Assessment Badge

Verified on MseeP

Tabla de Contenidos

Características • Instalación • Herramientas Disponibles • Ejemplos de Flujos de Trabajo • Seguridad • Solución de Problemas • Contribuciones

Características

EstadoSignificado
✅Completo
🚧🔨⏳En construcción o necesita pruebas
❌No construido por el momento
  • ✅ Autenticación con tokens de API de Railway
  • ✅ Gestión de proyectos (listar, información, eliminar)
  • ✅ Gestión de despliegues (listar, reiniciar)
  • ✅ Gestión de servicios (crear desde repositorio de GitHub o imagen Docker, listar)
  • ✅ Gestión de variables (listar, crear/actualizar, eliminar)
  • ✅ Gestión de red de servicios
  • ✅ Gestión de volúmenes
  • ❌ Soporte completo para todas las plantillas
    • 🚧🔨⏳ Soporte de plantillas de bases de datos
    • Flujos de trabajo automáticos de bases de datos y redes
  • 🚧🔨⏳ Los flujos de trabajo más utilizados
  • ❌ Vinculación automática de repositorios de GitHub para servicios

Instalación

Requisitos previos

Inicio rápido

Este servidor MCP está diseñado para funcionar con clientes MCP como:

  • Claude for Desktop | ✅ Probado en batalla
  • Cursor | ✅ Necesita pruebas
  • Cline | 🚧🔨⏳ Necesita pruebas
  • Windsurf | 🚧🔨⏳ Necesita pruebas
  • Otros clientes MCP | 🚧🔨⏳ Necesita pruebas

Instalación mediante Smithery

Para instalar railway-mcp automáticamente, recomendamos usar Smithery

Claude Desktop

npx -y @smithery/cli install @jason-tan-swe/railway-mcp --client claude

Cursor

npx -y @smithery/cli@latest run @jason-tan-swe/railway-mcp --config "{\"railwayApiToken\":\"token\"}"

Instalación manual para Cursor

  1. Ve a la configuración de Cursor y encuentra la sección MCP

  2. Haz clic en 'Agregar nuevo servidor MCP'

  3. Nómbralo como quieras, recomendamos railway-mcp para mayor claridad

  4. Pega este comando en la sección 'Comando', donde <RAILWAY_API_TOKEN> es el token de Railway de tu cuenta:

npx -y @jasontanswe/railway-mcp <RAILWAY_API_TOKEN>

Instalación manual para Claude

  1. Crea o edita tu archivo de configuración de Claude for Desktop:

    • macOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. Agrega el servidor railway-mcp a tu configuración con tu token de API:

   "railway": {
      "command": "npx",
      "args": ["-y", "@jasontanswe/railway-mcp"],
      "env": {
         "RAILWAY_API_TOKEN": "your-railway-api-token-here"
      }
   }

Cuando tengas varios servidores MCP, tu archivo de configuración podría verse así:

{
  "mcpServers": {
    // ... All of your existing MCP servers ...

    // Add the railway-mcp server to your configuration with your API token
    "railway": {
      "command": "npx",
      "args": ["-y", "@jasontanswe/railway-mcp"],
      "env": {
        "RAILWAY_API_TOKEN": "your-railway-api-token-here"
      }
    }
  }
}
  1. Reinicia Claude for Desktop

  2. Ahora puedes empezar a usar las herramientas de Railway directamente en Claude. Por ejemplo:

Please list all my Railway projects
  1. Alternativamente, si no quieres agregar tu token al archivo de configuración, puedes configurarlo dentro de Claude usando:
Please configure the Railway API with my token: {YOUR_API_TOKEN_HERE}

Recomendaciones y otra información

Este servidor se combina mejor con clientes MCP que tengan acceso a terminal o con Git (Cursor, Windsurf). Se recomienda usar este MCP con otros, ya que railway-mcp orquesta contenedores y agiliza tu proceso de despliegue sin problemas.

Servidores MCP recomendados para combinar

Para Claude

  • De fábrica, Claude no tiene acceso a terminal, por lo que no puede activar despliegues ya que no podrá obtener el último commit.
  • Levantar diferentes servicios y monitorearlos es el mejor caso de uso con Claude.

Para Cursor

  • Usa con GitHub MCP o ten el repositorio ya configurado en GitHub y clonado localmente en tu máquina para aprovechar la integración completa con railway-mcp.
  • Cuando Cursor hace un cambio, puede olvidar enviar sus cambios a GitHub, lo que provoca que intente desplegar un commit que Railway no puede extraer.
    • SOLUCIÓN: Siempre pregunta o incluye en algún lugar de tu prompt: Have you pushed our changes to GitHub yet?

Consideraciones de seguridad

  • Los tokens de API de Railway proporcionan acceso completo a tu cuenta. Mantenlos seguros.
  • Cuando se usa el método de variable de entorno, tu token se almacena en el archivo de configuración de Claude Desktop.
  • Los valores de variables sensibles se enmascaran automáticamente al mostrarse.
  • Todas las llamadas a la API usan HTTPS para una comunicación segura.
  • El almacenamiento de tokens solo en memoria del servidor significa que tu token nunca se escribe en disco fuera del archivo de configuración.

Solución de problemas

Si encuentras problemas:

  1. Problemas de autenticación de token

    • Asegúrate de que tu token de API sea válido y tenga los permisos necesarios
    • Si usas el método de variable de entorno, verifica que el token esté correctamente formateado en el archivo de configuración
    • Intenta usar la herramienta configure directamente en Claude si el token de entorno no funciona
  2. Problemas de conexión del servidor

    • Verifica que hayas instalado la última versión del servidor
    • Verifica que esté instalada la versión 18 o superior de Node.js
    • Reinicia Claude for Desktop después de hacer cambios en la configuración
  3. Errores de API

    • Verifica que estés usando los IDs correctos de proyecto, entorno y servicio
    • Revisa la página de estado de Railway para ver si hay interrupciones del servicio
    • La API de Railway tiene límites de velocidad: evita hacer demasiadas solicitudes en un período corto

Contribuciones

¡Damos la bienvenida a contribuciones de la comunidad! Consulta nuestras Guías de contribución para obtener detalles sobre cómo comenzar, pautas de desarrollo e información de depuración.

Herramientas disponibles

Ver todo

Autenticación

  • configure - Establece tu token de API de Railway (solo necesario si no se proporciona en variables de entorno)

Proyectos

  • project-list - Lista todos los proyectos en tu cuenta
  • project-info - Obtén información detallada sobre un proyecto específico
  • project-create - Crea un nuevo proyecto con ID de equipo opcional
  • project-delete - Elimina un proyecto
  • project-environments - Lista todos los entornos en un proyecto

Servicios

  • service-list - Lista todos los servicios en un proyecto específico
  • service-info - Obtén información detallada sobre un servicio específico
  • service-create-from-repo - Crea un nuevo servicio desde un repositorio de GitHub
  • service-create-from-image - Crea un nuevo servicio desde una imagen Docker
  • service-delete - Elimina un servicio de un proyecto
  • service-restart - Reinicia un servicio en un entorno específico
  • service-update - Actualiza la configuración del servicio (comando de compilación, comando de inicio, etc.) | 🚧 Necesita pruebas

Despliegues

  • deployment-list - Lista los despliegues recientes de un servicio
  • deployment-trigger - Activa un nuevo despliegue para un servicio
  • deployment-logs - Obtén los registros de un despliegue específico
  • deployment-health-check - Verifica la salud/estado de un despliegue

Variables

  • variable-list - Lista las variables de un servicio o entorno
  • variable-set - Crea o actualiza una variable
  • variable-delete - Elimina una variable
  • variable-bulk-set - Actualización masiva de variables para un servicio | 🚧 Necesita pruebas
  • variable-copy - Copia variables entre entornos | 🚧 Necesita pruebas

Bases de datos

  • database-list-types - Lista todos los tipos de bases de datos disponibles que se pueden desplegar
  • database-deploy - Despliega un nuevo servicio de base de datos
Ejemplos de flujos de trabajo

Configuración de un nuevo servicio

  1. Lista los proyectos para obtener el ID del proyecto
  2. Crea un nuevo servicio desde una plantilla
  3. Agrega variables de entorno
  4. Visualiza el despliegue del servicio

Gestión de variables de entorno

  1. Lista los proyectos para encontrar tu ID de proyecto
  2. Lista las variables para ver lo que está configurado actualmente
  3. Crea o actualiza variables según sea necesario
  4. Elimina cualquier variable obsoleta