# 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** 🚀