Skip to main content
Glama
erwinkn

railway-sandbox-mcp

by erwinkn

railway-sandbox-mcp

Небольшой MCP-мост, который позволяет ChatGPT использовать Railway Sandboxes в качестве изолированной среды разработки и выполнения.

Архитектура

Оба долгоживущих сервиса Railway развертываются из этого репозитория GitHub через интеграцию Railway с GitHub:

Railway-сервис

Ветка GitHub

Корневой каталог Railway

Файл конфигурации как код

Назначение

sandbox-mcp

main

/

/railway.json

Node MCP-сервер на базе Railway Sandbox SDK

tunnel-client

main

/tunnel-client

/tunnel-client/railway.json

Клиент OpenAI Secure MCP Tunnel

Dockerfile для tunnel-client наследует официальный образ ghcr.io/openai/tunnel-client:latest и лишь оборачивает его entrypoint, чтобы вышестоящий сервер проверки готовности/health привязывался к внедряемому Railway PORT. Railway отвечает за жизненный цикл развертывания, а OpenAI остается вышестоящим поставщиком образа.

ChatGPT
  |
  v
OpenAI Secure MCP Tunnel
  ^
  | outbound HTTPS
  |
tunnel-client (Railway)
  |
  | Railway private network
  v
sandbox-mcp:8080/mcp (Railway)
  |
  v
Railway Sandbox SDK
  |
  v
Ephemeral isolated Linux sandboxes with outbound Internet

Ни одному из сервисов Railway не нужен публичный домен.

Related MCP server: Railway MCP Server

Конфигурация как код

Поведение развертывания зафиксировано в этом репозитории:

  • /railway.json определяет сборщик MCP-сервиса, пути отслеживания, команду запуска, проверку здоровья и политику перезапуска.

  • /tunnel-client/railway.json определяет Docker-сборку tunnel-client, пути отслеживания, проверку готовности и политику перезапуска.

  • /tunnel-client/Dockerfile выбирает официальный образ OpenAI tunnel-client и адаптирует его health-прослушиватель к внедряемому Railway PORT.

  • /.github/workflows/ci.yml проверяет Node-сервис и конфигурационные файлы Railway, а также собирает образ tunnel-client при пушах и pull request.

Конфигурация Railway, зафиксированная в коде, переопределяет эквивалентные значения сборки/развертывания из панели управления для каждого развертывания.

Разовое подключение сервисов Railway

Привязка источника, триггерная ветка и пользовательский путь к конфигурационному файлу являются метаданными сервиса Railway, а не полями внутри railway.json, поэтому настройте их один раз в Railway:

sandbox-mcp

  • Репозиторий-источник: erwinkn/railway-sandbox-mcp

  • Ветка: main

  • Корневой каталог: /

  • Путь к конфигурационному файлу: /railway.json

  • Авторазвертывание GitHub: включено

  • Ожидание CI: включено

tunnel-client

  • Репозиторий-источник: erwinkn/railway-sandbox-mcp

  • Ветка: main

  • Корневой каталог: /tunnel-client

  • Путь к конфигурационному файлу: /tunnel-client/railway.json

  • Авторазвертывание GitHub: включено

  • Ожидание CI: включено

  • Без пользовательской команды запуска; используется entrypoint из Dockerfile репозитория

Специфичные для сервисов пути отслеживания означают, что изменения только в MCP не пересобирают tunnel-client, а изменения только в тоннеле не пересобирают MCP-сервер.

Требуемые переменные окружения

sandbox-mcp

  • RAILWAY_API_TOKEN: API-токен Railway с доступом к окружению, где включены Sandboxes.

  • RAILWAY_ENVIRONMENT_ID: внедряется автоматически Railway.

tunnel-client

  • MCP_SERVER_URL=http://sandbox-mcp.railway.internal:8080/mcp

  • CONTROL_PLANE_TUNNEL_ID=tunnel_...

  • CONTROL_PLANE_API_KEY=...: ограниченный ключ среды выполнения OpenAI с разрешениями Tunnel Read + Use.

  • LOG_LEVEL=info

  • LOG_FORMAT=json

tunnel-client публикует /healthz, /readyz и /metrics на внедряемом Railway порту. Railway использует /readyz как проверку здоровья развертывания, поэтому успешное развертывание tunnel-client подтверждает и запуск тоннеля, и готовность нижестоящего MCP.

Процесс развертывания

Пуш в main запускает GitHub Actions. С включенной опцией Railway Wait for CI Railway ждет прохождения CI, а затем автоматически развертывает только те сервисы, чьи шаблоны отслеживания соответствуют измененным файлам.

Инструменты MCP

  • sandbox_create

  • sandbox_list

  • sandbox_get

  • sandbox_exec

  • sandbox_read_file

  • sandbox_list_files

  • sandbox_write_file

  • sandbox_write_files

  • sandbox_checkpoint

  • sandbox_destroy

F
license - not found
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables spawning ephemeral Linux sandbox containers using Docker and executing commands through an interactive TTY interface. Supports collaborative terminal sessions where both AI clients and humans can simultaneously interact with the same container.
    27
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables management of Railway.app infrastructure through natural language, including deploying services from GitHub repos or Docker images, managing environment variables, monitoring deployments, and configuring networking and volumes.
    36
    49
    MIT

View all related MCP servers

Related MCP Connectors

  • Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.

  • Provides cloud browser automation capabilities using Stagehand and Browserbase, enabling LLMs to i…

  • Let AI operate servers without SSH. Choose actions, approve risky changes, and audit every step.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/erwinkn/railway-sandbox-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server