Сервер Terraform Registry MCP
Сервер Model Context Protocol (MCP), который предоставляет инструменты для взаимодействия с API Terraform Registry. Этот сервер позволяет агентам ИИ запрашивать информацию о поставщике, сведения о ресурсах и метаданные модуля.
[!ВАЖНО] Этот проект был использован в качестве PoC для нового официального сервера Terraform MCP . Этот репозиторий был архивирован в пользу того.
Установка
Установка в курсор
Чтобы установить и использовать этот MCP-сервер в Cursor :
В курсоре откройте «Настройки» (⌘+,) и перейдите на вкладку «MCP».
Нажмите «+ Добавить новый сервер MCP».
Введите следующее:
Имя: terraform-registry
Тип: команда
Команда: npx -y terraform-mcp-server
Нажмите «Добавить», затем прокрутите до сервера и нажмите «Отключено», чтобы включить сервер.
При необходимости перезапустите курсор, чтобы убедиться, что сервер MCP загружен правильно.
Установка в Claude Desktop
Чтобы установить и использовать этот MCP-сервер в Claude Desktop:
В Claude Desktop откройте «Настройки» (⌘+,) и перейдите на вкладку «Разработчик».
Нажмите «Изменить конфигурацию» в нижней части окна.
Отредактируйте файл (
~/Library/Application Support/Claude/claude_desktop_config.json), добавив следующий код, затем сохраните файл.
Перезапустите Claude Desktop, чтобы убедиться, что сервер MCP загружен правильно.
Related MCP server: tfmcp
Инструменты
На этом сервере MCP доступны следующие инструменты:
Основные инструменты реестра
Инструмент | Описание |
| Получает подробную информацию о поставщике Terraform |
| Получает пример использования ресурса Terraform и связанных ресурсов |
| Ищет и рекомендует модули Terraform на основе запроса |
| Перечисляет все доступные источники данных для поставщика и их основные данные. |
| Извлекает полную информацию об аргументах типа ресурса. |
| Извлекает подробные метаданные для модуля Terraform. |
| Получает сведения о функции поставщика Terraform |
| Списки и просмотры руководств и документации, специфичных для поставщика |
| Поиск библиотек политик в реестре Terraform |
| Получает подробную информацию о конкретной библиотеке политик |
Облачные инструменты Terraform
Для этих инструментов требуется токен Terraform Cloud API ( TFC_TOKEN ):
Инструмент | Описание |
| Перечисляет все организации, к которым имеет доступ аутентифицированный пользователь. |
| Поиск частных модулей в организации |
| Получает подробную информацию о частном модуле |
| Запрашивает API Terraform Cloud Explorer для анализа данных |
| Перечисляет рабочие пространства в организации |
| Получает подробную информацию о конкретном рабочем пространстве |
| Блокирует рабочее пространство для предотвращения запусков |
| Разблокирует рабочее пространство для выполнения запусков |
| Список запусков для рабочего пространства |
| Получает подробную информацию о конкретном прогоне |
| Создает новый запуск для рабочего пространства |
| Применяет запланированный запуск |
| Отменяет текущий запуск |
| Перечисляет ресурсы в рабочей области |
Ресурсы
Сервер MCP поддерживает следующие URI ресурсов для перечисления и чтения с помощью методов resources/* :
Тип ресурса | Пример(ы) URI | Описание |
Поставщики |
| Список всех пространств имен/провайдеров |
| Получить данные по конкретному поставщику | |
Версии провайдера |
| Список доступных версий для провайдера |
Ресурсы поставщика |
| Список ресурсов для поставщика |
| Получить подробную информацию о конкретном типе ресурса | |
Источники данных поставщика |
| Список источников данных для поставщика |
| Получить подробную информацию о конкретном источнике данных | |
Функции провайдера |
| Список функций для провайдера |
| Получить подробную информацию о конкретной функции |
Сервер также поддерживает resources/templates/list для предоставления шаблонов для создания:
terraform:providerterraform:resourceterraform:dataSource
Подсказки
Для генерации контекстных ответов доступны следующие подсказки:
Быстрый | Описание | Требуемые аргументы |
| Генерация кода Terraform для миграции инфраструктуры между поставщиками облачных услуг |
,
,
|
| Помогает пользователям быстро создавать новые ресурсы Terraform с использованием передового опыта |
|
| Предоставляет действенные рекомендации по улучшению кода Terraform |
|
| Помогает с обновлениями версий провайдера и критическими изменениями |
,
,
,
(необязательно) |
| Анализирует недавние сбои в работе и предоставляет рекомендации по устранению неполадок для рабочих пространств Terraform Cloud. |
,
(необязательно, по умолчанию: 5) |
Известные проблемы с подсказками
Примечание : существует известная проблема с функциональностью getPrompt , которая может привести к сбоям сервера. Сервер правильно регистрирует подсказки и может перечислять их, но прямые запросы с использованием метода getPrompt могут вызывать проблемы с подключением. Это расследуется и может быть связано с совместимостью SDK или деталями реализации. Пока проблема не решена, используйте listPrompts для просмотра доступных подсказок, но избегайте прямых вызовов getPrompt .
Запуск сервера
Сервер работает с использованием транспорта stdio для связи с MCP:
Конфигурация с переменными среды
Сервер можно настроить с помощью переменных среды:
Переменная среды | Описание | Значение по умолчанию |
| Базовый URL для API Terraform Registry | |
| Пространство имен по умолчанию для поставщиков | хашикорп |
| Уровень ведения журнала (ошибка, предупреждение, информация, отладка) | информация |
| Тайм-аут для запросов API в миллисекундах | 10000 |
| Включить ограничение скорости для запросов API | ЛОЖЬ |
| Количество разрешенных запросов в указанном временном окне | 60 |
| Временное окно для ограничения скорости в миллисекундах | 60000 |
| Токен Terraform Cloud API для доступа к частному реестру (необязательно) |
Пример использования с переменными среды:
Тестирование
Информацию о тестировании этого проекта смотрите в файле TESTS.md .