Skip to main content
Glama
allkindsxyz

Railway MCP Server

by allkindsxyz
README.md
# Railway MCP Server

**Model Context Protocol (MCP) сервер для Railway API** - позволяет AI системам (Claude, Cursor и другим) напрямую управлять Railway проектами, деплоями и сервисами.

## 🚀 Возможности

### Управление проектами
- Просмотр всех проектов и их сервисов
- Получение детальной информации о проекте
- Мониторинг статуса сервисов

### Управление деплоями
- Просмотр логов деплоев (build logs, deploy logs)
- Запуск нового деплоя (redeploy)
- Отмена текущего деплоя
- Перезапуск деплоя

### Управление переменными окружения
- Просмотр переменных сервиса
- Создание/обновление переменных
- Удаление переменных

### Мониторинг
- Статус деплоев в реальном времени
- URL адреса сервисов
- Метаданные проектов и сервисов

## 📦 Установка

### Требования
- Node.js 18+
- Railway API токен

### Быстрая установка

```bash
# Клонировать репозиторий
git clone <your-repo-url>
cd railway-mcp-server

# Установить зависимости
npm install

# Собрать проект
npm run build
```

### Получение Railway API токена

1. Зайдите на [Railway](https://railway.app)
2. Перейдите в Account Settings → Tokens
3. Создайте новый токен
4. Скопируйте токен

## 🔧 Настройка

### Для Claude Desktop

Добавьте в конфигурацию Claude Desktop (`claude_desktop_config.json`):

#### На macOS:
```bash
~/Library/Application\ Support/Claude/claude_desktop_config.json
```

#### На Windows:
```bash
%APPDATA%/Claude/claude_desktop_config.json
```

#### Конфигурация:
```json
{
  "mcpServers": {
    "railway": {
      "command": "node",
      "args": ["/absolute/path/to/railway-mcp-server/dist/index.js"],
      "env": {
        "RAILWAY_TOKEN": "your-railway-token-here"
      }
    }
  }
}
```

### Для Cursor

Добавьте в настройки Cursor:

```json
{
  "mcpServers": {
    "railway": {
      "command": "node",
      "args": ["/absolute/path/to/railway-mcp-server/dist/index.js"],
      "env": {
        "RAILWAY_TOKEN": "your-railway-token-here"
      }
    }
  }
}
```

## 🛠️ Использование

### Основные команды

После настройки вы можете использовать следующие команды в Claude или Cursor:

#### Просмотр проектов
```
Покажи мне все мои Railway проекты
```

#### Просмотр конкретного проекта
```
Покажи детали проекта {project-id}
```

#### Просмотр логов деплоя
```
Покажи логи деплоя {deployment-id}
```

#### Перезапуск сервиса
```
Перезапусти сервис {service-id}
```

#### Управление переменными
```
Установи переменную NODE_ENV=production для сервиса {service-id}
```

### Доступные инструменты

| Инструмент | Описание |
|------------|----------|
| `get_projects` | Получить все проекты |
| `get_project` | Получить детали проекта |
| `get_service` | Получить детали сервиса |
| `get_deployment_logs` | Получить логи деплоя |
| `redeploy_service` | Перезапустить сервис |
| `cancel_deployment` | Отменить деплой |
| `restart_deployment` | Перезапустить деплой |
| `update_service_variable` | Обновить переменную |
| `delete_service_variable` | Удалить переменную |

## 🧪 Тестирование

### Использование MCP Inspector

```bash
# Запустить инспектор для отладки
npm run inspector
```

Откройте браузер по указанному URL для интерактивного тестирования.

### Тестирование из командной строки

```bash
# Установить переменную окружения
export RAILWAY_TOKEN="your-token-here"

# Запустить сервер
npm start
```

## 📖 Примеры использования

### Мониторинг деплоев
```
Claude: Покажи мне статус всех деплоев в проекте Marvin
```

### Управление переменными
```
Claude: Установи переменную DATABASE_URL для backend сервиса
```

### Анализ логов
```
Claude: Покажи логи последнего деплоя и найди ошибки
```

### Автоматический редеплой
```
Claude: Если деплой frontend завершился с ошибкой, перезапусти его
```

## 🔒 Безопасность

- **Токены**: Railway токены хранятся только в переменных окружения
- **Локальное выполнение**: MCP сервер работает локально
- **Подтверждение действий**: Изменяющие операции требуют подтверждения
- **Изоляция**: Каждый сервис работает в изолированном контексте

## 🐛 Отладка

### Проверка токена
```bash
# Проверить валидность токена
curl -H "Authorization: Bearer your-token" https://backboard.railway.app/graphql/v2
```

### Логи сервера
```bash
# Просмотр логов
npm run dev
```

### Общие проблемы

1. **"RAILWAY_TOKEN is required"** - Убедитесь, что токен установлен
2. **"Unauthorized"** - Проверьте корректность токена
3. **"Tool not found"** - Перезапустите Claude Desktop

## 📚 Дополнительные ресурсы

- [Railway API Documentation](https://docs.railway.app/reference/public-api)
- [Model Context Protocol](https://modelcontextprotocol.io/)
- [Claude Desktop Documentation](https://docs.anthropic.com/claude/docs/desktop-app)

## 🤝 Содействие

Чтобы внести свой вклад:

1. Форкните репозиторий
2. Создайте feature branch
3. Внесите изменения
4. Создайте pull request

## 📄 Лицензия

MIT License - смотрите файл [LICENSE](LICENSE) для деталей.

## 🆘 Поддержка

- Создайте [GitHub Issue](https://github.com/your-repo/issues) для багов
- Обратитесь в [Railway Discord](https://discord.gg/railway) для вопросов по API
- Документация [MCP](https://modelcontextprotocol.io/) для общих вопросов

---

**Создано командой Marvin Studio** 🚀 

TDQS

A3.5/5.0

Scored across 9 tools

Disambiguation5/5

Each tool has a clearly distinct purpose targeting specific resources and actions, such as cancel_deployment vs. restart_deployment, and get_project vs. get_service, with no overlapping functionality that would cause confusion.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case, such as get_deployment_logs and update_service_variable, with no deviations in style or convention throughout the set.

Tool Count5/5

With 9 tools, the server is well-scoped for managing Railway projects, services, deployments, and environment variables, providing a focused set that covers essential operations without being overwhelming or insufficient.

Completeness4/5

The tool set offers strong coverage for deployment management, environment variables, and project/service queries, but minor gaps exist, such as the inability to create or delete projects or services, which agents might need to work around.

Maintenance

ActivityInactive
ResponsivenessNo issues