MCP (Model Context Protocol) сервер для работы с контейнерами через утилиту crane.
- crane_digest - получение digest образа контейнера
- crane_ls - получение списка тегов в репозитории
- crane_pull - скачивание образа контейнера
- Python >= 3.13
- Утилита
crane(установленная локально) - uv (для управления зависимостями)
macOS (Homebrew):
brew install craneLinux:
# Скачайте и установите с GitHub
curl -L https://github.com/google/go-containerregistry/releases/latest/download/go-containerregistry_Linux_x86_64.tar.gz | tar -xz -C /usr/local/bin/# Клонируйте репозиторий
git clone <repository-url>
cd crane-mcp
# Установите зависимости
uv syncДобавьте в ваш ~/.cursor/mcp.json:
{
"mcpServers": {
"crane-mcp": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli]",
"mcp",
"run",
"/path/to/crane-mcp/main.py"
]
}
}
}Важно: Замените /path/to/crane-mcp/main.py на полный путь к вашему файлу main.py.
После настройки в Cursor вы сможете использовать следующие инструменты:
Получает список тегов в репозитории.
Параметры:
repository- ссылка на репозиторий (например,nginx)full_ref- показать полные ссылки (опционально)platform- платформа для фильтрации (опционально)
Пример:
Покажи доступные теги для nginx
Получает digest образа контейнера.
Параметры:
image_ref- ссылка на образ (например,nginx:latest)
Пример:
Получи digest для nginx:latest
Скачивает образ контейнера.
Параметры:
image- ссылка на образtarball- путь для сохраненияplatform- платформа (опционально)verbose- подробный вывод (опционально)format- формат сохранения (опционально)cache_path- путь к кэшу (опционально)annotate_ref- сохранить ссылку как аннотацию (опционально)insecure- разрешить загрузку без TLS (опционально)
Пример:
Скачай nginx:latest в /tmp/nginx.tar
crane-mcp/
├── main.py # Основной код MCP сервера
├── pyproject.toml # Зависимости Python
├── uv.lock # Заблокированные версии зависимостей
├── .gitignore # Исключения для Git
├── LICENSE # Лицензия
└── README.md # Документация
Покажи все доступные теги для репозитория nginx
Получи digest для образа nginx:1.25-alpine
Скачай образ nginx:latest в файл /tmp/nginx.tar
- Убедитесь, что путь к
main.pyвmcp.jsonправильный - Перезапустите Cursor после изменения конфигурации
- Проверьте, что утилита
craneустановлена и доступна в PATH
Убедитесь, что утилита crane установлена:
crane versionПереустановите зависимости:
uv sync --reinstallПроект распространяется под лицензией, указанной в файле LICENSE.
- Форкните репозиторий
- Создайте ветку для новой функции
- Внесите изменения
- Создайте Pull Request
Если у вас возникли проблемы или вопросы, создайте Issue в репозитории проекта.