fly-io — MCP-сервер для Claude Code: что делает и как установить
MCP-сервер управляет приложениями и машинами Fly.io, читает логи и работает с Docker-образами. Нужен для задач деплоя и диагностики.
claude mcp add --env FLY_IO_API_TOKEN=<FLY_IO_API_TOKEN> --env FLY_IO_APP_NAME=<FLY_IO_APP_NAME> --env ENABLED_TOOLGROUPS=<ENABLED_TOOLGROUPS> --env SKIP_HEALTH_CHECKS=<SKIP_HEALTH_CHECKS> --env DISABLE_DOCKER_CLI_TOOLS=<DISABLE_DOCKER_CLI_TOOLS> --transport stdio fly-io -- npx -y fly-io-mcp-serverЧто делает fly-io
fly-io даёт агенту инструменты для управления приложениями и машинами Fly.io: создание, просмотр, изменение, запуск, остановку, перезапуск и удаление. Он также получает события машин, ждёт перехода в нужное состояние, читает логи и выполняет команды на запущенных машинах.
Сервер умеет показывать текущий Docker-образ, просматривать релизы, обновлять образ и работать с реестром Fly.io. Доступ к возможностям настраивается через ENABLED_TOOLGROUPS, а FLY_IO_APP_NAME ограничивает работу одним приложением. Все операции проходят через FLY_IO_API_TOKEN. Сервер требует установленный fly CLI, поэтому без него он не сможет работать.
Какие задачи решает
- создать приложение Fly.io
- запустить или остановить машину
- найти события и логи приложения
- обновить Docker-образ деплоя
- ограничить доступ одним приложением
Примеры запросов агенту
- Покажи все приложения Fly.io и список машин у приложения
my-app. - Проверь события машины
machine-id, затем перезапусти её. - Получи логи приложения с фильтрацией по региону и машине и проверь текущий Docker-образ.
Как установить fly-io
Командой платформы
claude mcp add --env FLY_IO_API_TOKEN=<FLY_IO_API_TOKEN> --env FLY_IO_APP_NAME=<FLY_IO_APP_NAME> --env ENABLED_TOOLGROUPS=<ENABLED_TOOLGROUPS> --env SKIP_HEALTH_CHECKS=<SKIP_HEALTH_CHECKS> --env DISABLE_DOCKER_CLI_TOOLS=<DISABLE_DOCKER_CLI_TOOLS> --transport stdio fly-io -- npx -y fly-io-mcp-serverВместо <…> подставьте свои значения
Командой платформы
codex mcp add fly-io --env FLY_IO_API_TOKEN=<FLY_IO_API_TOKEN> --env FLY_IO_APP_NAME=<FLY_IO_APP_NAME> --env ENABLED_TOOLGROUPS=<ENABLED_TOOLGROUPS> --env SKIP_HEALTH_CHECKS=<SKIP_HEALTH_CHECKS> --env DISABLE_DOCKER_CLI_TOOLS=<DISABLE_DOCKER_CLI_TOOLS> -- npx -y fly-io-mcp-serverВместо <…> подставьте свои значения
Файл настроек
{
"mcpServers": {
"fly-io": {
"command": "npx",
"args": [
"-y",
"fly-io-mcp-server"
],
"env": {
"FLY_IO_API_TOKEN": "<FLY_IO_API_TOKEN>",
"FLY_IO_APP_NAME": "<FLY_IO_APP_NAME>",
"ENABLED_TOOLGROUPS": "<ENABLED_TOOLGROUPS>",
"SKIP_HEALTH_CHECKS": "<SKIP_HEALTH_CHECKS>",
"DISABLE_DOCKER_CLI_TOOLS": "<DISABLE_DOCKER_CLI_TOOLS>"
}
}
}
}Вместо <…> подставьте свои значения
Файл настроек
{
"servers": {
"fly-io": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"fly-io-mcp-server"
],
"env": {
"FLY_IO_API_TOKEN": "<FLY_IO_API_TOKEN>",
"FLY_IO_APP_NAME": "<FLY_IO_APP_NAME>",
"ENABLED_TOOLGROUPS": "<ENABLED_TOOLGROUPS>",
"SKIP_HEALTH_CHECKS": "<SKIP_HEALTH_CHECKS>",
"DISABLE_DOCKER_CLI_TOOLS": "<DISABLE_DOCKER_CLI_TOOLS>"
}
}
}
}Вместо <…> подставьте свои значения
Командой платформы
gemini mcp add -e FLY_IO_API_TOKEN=<FLY_IO_API_TOKEN> -e FLY_IO_APP_NAME=<FLY_IO_APP_NAME> -e ENABLED_TOOLGROUPS=<ENABLED_TOOLGROUPS> -e SKIP_HEALTH_CHECKS=<SKIP_HEALTH_CHECKS> -e DISABLE_DOCKER_CLI_TOOLS=<DISABLE_DOCKER_CLI_TOOLS> fly-io npx -y fly-io-mcp-serverВместо <…> подставьте свои значения
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о fly-io
Как установить fly-io в Claude Code?
Выполните claude mcp add fly-io -e FLY_IO_API_TOKEN=<FLY_IO_API_TOKEN> -- npx -y fly-io-mcp-server. Токен Fly.io передаётся через переменную окружения.
Что делает fly-io?
Он подключает к агенту операции с приложениями и машинами Fly.io, логами, Docker-образами и реестром. Среди доступных действий есть запуск, остановка, обновление и удаление машин.
Как ограничить fly-io одним приложением и отключить опасные операции?
Задайте FLY_IO_APP_NAME, чтобы запретить операции с другими приложениями. Значение ENABLED_TOOLGROUPS="readonly" оставляет только чтение, а ENABLED_TOOLGROUPS="readonly,write" убирает административные действия, включая удаление.