Skip to main content
Glama

Terraform Registry MCP Server

by thrashr888
Integrations
  • Enables access to HashiCorp's Terraform Registry, allowing lookup of HashiCorp-provided providers and modules, with detailed information on their configuration, requirements, and usage examples.

  • Provides tools for interacting with the Terraform Registry API, enabling querying of provider information, resource details, module metadata, and recommendations. Supports looking up providers, retrieving resource usage examples, finding modules, listing data sources, and fetching comprehensive resource argument details.

Сервер 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 загружен правильно.

Установка в 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 загружен правильно.

Инструменты

На этом сервере 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Предоставляет действенные рекомендации по улучшению кода TerraformterraformCode
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 Registryhttps://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 .

You must be authenticated.

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

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Подключает модели ИИ к реестру Terraform через MCP, обеспечивая поиск поставщиков, примеры использования ресурсов и рекомендации модулей для оптимизированных рабочих процессов Terraform.

  1. Установка
    1. Установка в курсор
    2. Установка в Claude Desktop
  2. Инструменты
    1. Основные инструменты реестра
    2. Облачные инструменты Terraform
  3. Ресурсы
    1. Подсказки
      1. Известные проблемы с подсказками
    2. Запуск сервера
      1. Конфигурация с переменными среды
    3. Тестирование

      Related MCP Servers

      • A
        security
        A
        license
        A
        quality
        Enhances Claude AI with persistent memory storage for Infrastructure-as-Code components, supporting version tracking and relationship mapping for Terraform and Ansible resources.
        Last updated -
        23
        4
        Python
        MIT License
      • -
        security
        A
        license
        -
        quality
        🌍 Terraform Model Context Protocol (MCP) Tool - An experimental CLI tool that enables AI assistants to manage and operate Terraform environments. Supports reading Terraform configurations, analyzing plans, applying configurations, and managing state with Claude Desktop integration. ⚡️
        Last updated -
        239
        Rust
        MIT License
        • Apple
      • A
        security
        A
        license
        A
        quality
        A Model Context Protocol (MCP) server that integrates Claude with the Terraform Cloud API, allowing Claude to manage your Terraform infrastructure through natural conversation.
        Last updated -
        25
        10
        Python
        MIT License
        • Linux
        • Apple
      • -
        security
        A
        license
        -
        quality
        A lightweight service that enables AI assistants to execute AWS CLI commands through the Model Context Protocol (MCP), allowing AI tools to retrieve AWS documentation and interact with AWS services.
        Last updated -
        57
        Python
        MIT License
        • Apple

      View all related MCP servers

      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