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 .

Install Server
A
license - permissive license
-
quality - not tested
F
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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