Skip to main content
Glama
thrashr888

Terraform Registry MCP Server

by thrashr888

Сервер Terraform Registry MCP

Сервер Model Context Protocol (MCP), который предоставляет инструменты для взаимодействия с API Terraform Registry. Этот сервер позволяет агентам ИИ запрашивать информацию о поставщике, сведения о ресурсах и метаданные модуля.

[!ВАЖНО] Этот проект был использован в качестве PoC для нового официального сервера Terraform MCP . Этот репозиторий был архивирован в пользу того.

Установка

Установка в курсор

Чтобы установить и использовать этот MCP-сервер в Cursor :

  1. В курсоре откройте «Настройки» (⌘+,) и перейдите на вкладку «MCP».

  2. Нажмите «+ Добавить новый сервер MCP».

  3. Введите следующее:

    • Имя: terraform-registry

    • Тип: команда

    • Команда: npx -y terraform-mcp-server

  4. Нажмите «Добавить», затем прокрутите до сервера и нажмите «Отключено», чтобы включить сервер.

  5. При необходимости перезапустите курсор, чтобы убедиться, что сервер MCP загружен правильно.

Настройки MCP terraform-registry для курсора

Установка в Claude Desktop

Чтобы установить и использовать этот MCP-сервер в Claude Desktop:

  1. В Claude Desktop откройте «Настройки» (⌘+,) и перейдите на вкладку «Разработчик».

  2. Нажмите «Изменить конфигурацию» в нижней части окна.

  3. Отредактируйте файл ( ~/Library/Application Support/Claude/claude_desktop_config.json ), добавив следующий код, затем сохраните файл.

{ "mcpServers": { "terraform-registry": { "command": "npx", "args": ["-y", "terraform-mcp-server"] } } }
  1. Перезапустите Claude Desktop, чтобы убедиться, что сервер MCP загружен правильно.

Related MCP server: tfmcp

Инструменты

На этом сервере MCP доступны следующие инструменты:

Основные инструменты реестра

Инструмент

Описание

providerDetails

Получает подробную информацию о поставщике Terraform

resourceUsage

Получает пример использования ресурса Terraform и связанных ресурсов

moduleSearch

Ищет и рекомендует модули Terraform на основе запроса

listDataSources

Перечисляет все доступные источники данных для поставщика и их основные данные.

resourceArgumentDetails

Извлекает полную информацию об аргументах типа ресурса.

moduleDetails

Извлекает подробные метаданные для модуля Terraform.

functionDetails

Получает сведения о функции поставщика Terraform

providerGuides

Списки и просмотры руководств и документации, специфичных для поставщика

policySearch

Поиск библиотек политик в реестре Terraform

policyDetails

Получает подробную информацию о конкретной библиотеке политик

Облачные инструменты Terraform

Для этих инструментов требуется токен Terraform Cloud API ( TFC_TOKEN ):

Инструмент

Описание

listOrganizations

Перечисляет все организации, к которым имеет доступ аутентифицированный пользователь.

privateModuleSearch

Поиск частных модулей в организации

privateModuleDetails

Получает подробную информацию о частном модуле

explorerQuery

Запрашивает API Terraform Cloud Explorer для анализа данных

listWorkspaces

Перечисляет рабочие пространства в организации

workspaceDetails

Получает подробную информацию о конкретном рабочем пространстве

lockWorkspace

Блокирует рабочее пространство для предотвращения запусков

unlockWorkspace

Разблокирует рабочее пространство для выполнения запусков

listRuns

Список запусков для рабочего пространства

runDetails

Получает подробную информацию о конкретном прогоне

createRun

Создает новый запуск для рабочего пространства

applyRun

Применяет запланированный запуск

cancelRun

Отменяет текущий запуск

listWorkspaceResources

Перечисляет ресурсы в рабочей области

Ресурсы

Сервер MCP поддерживает следующие URI ресурсов для перечисления и чтения с помощью методов resources/* :

Тип ресурса

Пример(ы) URI

Описание

Поставщики

terraform:providers

Список всех пространств имен/провайдеров

terraform:provider:<namespace>/<name>

Получить данные по конкретному поставщику

Версии провайдера

terraform:provider:<namespace>/<name>/versions

Список доступных версий для провайдера

Ресурсы поставщика

terraform:provider:<namespace>/<name>/resources

Список ресурсов для поставщика

terraform:resource:<namespace>/<name>/<resource_name>

Получить подробную информацию о конкретном типе ресурса

Источники данных поставщика

terraform:provider:<namespace>/<name>/dataSources

Список источников данных для поставщика

terraform:dataSource:<namespace>/<name>/<data_source_name>

Получить подробную информацию о конкретном источнике данных

Функции провайдера

terraform:provider:<namespace>/<name>/functions

Список функций для провайдера

terraform:function:<namespace>/<name>/<function_name>

Получить подробную информацию о конкретной функции

Сервер также поддерживает resources/templates/list для предоставления шаблонов для создания:

  • terraform:provider

  • terraform:resource

  • terraform:dataSource

Подсказки

Для генерации контекстных ответов доступны следующие подсказки:

Быстрый

Описание

Требуемые аргументы

migrate-clouds

Генерация кода Terraform для миграции инфраструктуры между поставщиками облачных услуг

sourceCloud

,

targetCloud

,

terraformCode

generate-resource-skeleton

Помогает пользователям быстро создавать новые ресурсы Terraform с использованием передового опыта

resourceType

optimize-terraform-module

Предоставляет действенные рекомендации по улучшению кода Terraform

terraformCode

migrate-provider-version

Помогает с обновлениями версий провайдера и критическими изменениями

providerName

,

currentVersion

,

targetVersion

,

terraformCode

(необязательно)

analyze-workspace-runs

Анализирует недавние сбои в работе и предоставляет рекомендации по устранению неполадок для рабочих пространств Terraform Cloud.

workspaceId

,

runsToAnalyze

(необязательно, по умолчанию: 5)

Известные проблемы с подсказками

Примечание : существует известная проблема с функциональностью getPrompt , которая может привести к сбоям сервера. Сервер правильно регистрирует подсказки и может перечислять их, но прямые запросы с использованием метода getPrompt могут вызывать проблемы с подключением. Это расследуется и может быть связано с совместимостью SDK или деталями реализации. Пока проблема не решена, используйте listPrompts для просмотра доступных подсказок, но избегайте прямых вызовов getPrompt .

Запуск сервера

Сервер работает с использованием транспорта stdio для связи с MCP:

npm install npm start

Конфигурация с переменными среды

Сервер можно настроить с помощью переменных среды:

Переменная среды

Описание

Значение по умолчанию

TERRAFORM_REGISTRY_URL

Базовый URL для API Terraform Registry

https://registry.terraform.io

DEFAULT_PROVIDER_NAMESPACE

Пространство имен по умолчанию для поставщиков

хашикорп

LOG_LEVEL

Уровень ведения журнала (ошибка, предупреждение, информация, отладка)

информация

REQUEST_TIMEOUT_MS

Тайм-аут для запросов API в миллисекундах

10000

RATE_LIMIT_ENABLED

Включить ограничение скорости для запросов API

ЛОЖЬ

RATE_LIMIT_REQUESTS

Количество разрешенных запросов в указанном временном окне

60

RATE_LIMIT_WINDOW_MS

Временное окно для ограничения скорости в миллисекундах

60000

TFC_TOKEN

Токен Terraform Cloud API для доступа к частному реестру (необязательно)

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

# Set environment variables export LOG_LEVEL="debug" export REQUEST_TIMEOUT_MS="15000" export TFC_TOKEN="your-terraform-cloud-token" # Run the server npm start

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

Информацию о тестировании этого проекта смотрите в файле TESTS.md .

One-click Deploy
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/thrashr888/terraform-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server