
Сервер Terraform Cloud MCP
Сервер Model Context Protocol (MCP), который интегрирует помощников ИИ с API Terraform Cloud, позволяя вам управлять вашей инфраструктурой посредством естественного общения. Созданный с использованием моделей Pydantic и структурированный вокруг доменно-специфичных модулей, этот сервер совместим с любой платформой, поддерживающей MCP, включая Claude, Claude Code CLI, Claude Desktop, Cursor, Copilot Studio и другие.
Функции
Управление учетными записями : получение данных учетных записей для аутентифицированных пользователей или учетных записей служб.
Управление рабочим пространством : создание, чтение, обновление, удаление, блокировка/разблокировка рабочих пространств.
Управление проектами : создание, составление списка, обновление и удаление проектов; управление привязками тегов проектов и перемещение рабочих пространств между проектами.
Управление запуском : создание запусков, составление списка запусков, получение сведений о запуске, применение/отмена/отмена запусков.
Управление планом : получение сведений о плане и результатов выполнения JSON с помощью расширенной обработки перенаправлений HTTP.
Управление заявками : получение сведений о заявках и восстановление после неудачных загрузок состояний.
Управление организациями : составление списка, создание, обновление, удаление организаций и просмотр прав организаций.
Будущие функции : управление переменными, версии состояний и многое другое.
Related MCP server: Calculator MCP Server
Быстрый старт
Предпосылки
Питон 3.12+
MCP (включает FastMCP и инструменты разработки)
менеджер пакетов
uv(рекомендуется) илиpipТокен API Terraform Cloud
Установка
Добавление в среду Клода
Добавление в Claude Code CLI
Добавление в Claude Desktop
Создайте файл конфигурации claude_desktop_config.json :
mac: ~/Library/Application Support/Claude/claude_desktop_config.json
выиграть: %APPDATA%\Claude\claude_desktop_config.json
Замените your_terraform_cloud_token на ваш фактический токен Terraform Cloud API.
Другие MCP-совместимые платформы
Для других платформ (например, Cursor, Copilot Studio или Glama) следуйте инструкциям по добавлению сервера MCP для конкретной платформы. Для большинства платформ требуется:
Путь к серверу или команда для запуска сервера.
Переменные среды для токена Terraform Cloud API.
Конфигурация для автоматического запуска сервера при необходимости.
Доступные инструменты
Инструменты для работы с аккаунтом
get_account_details(): получает информацию об учетной записи для аутентифицированного пользователя или учетной записи службы.
Инструменты управления рабочим пространством
Список и поиск
list_workspaces(organization, page_number, page_size, search): список и фильтрация рабочих областей.get_workspace_details(workspace_id, organization, workspace_name): получение подробной информации о конкретной рабочей области.
Создать и обновить
create_workspace(organization, name, params): создать новое рабочее пространство с дополнительными параметрами.update_workspace(organization, workspace_name, params): обновление конфигурации существующей рабочей области.
Удалить
delete_workspace(organization, workspace_name): удалить рабочее пространство и все его содержимое.safe_delete_workspace(organization, workspace_name): удалять только в том случае, если рабочая область не управляет никакими ресурсами.
Блокировка и разблокировка
lock_workspace(workspace_id, reason): блокировка рабочего пространства для предотвращения запусков.unlock_workspace(workspace_id): разблокировать рабочее пространство для разрешения запусков.force_unlock_workspace(workspace_id): Принудительная разблокировка рабочего пространства, заблокированного другим пользователем.
Инструменты управления запуском
create_run(workspace_id, params): создание и постановка в очередь запуска Terraform в рабочей области с использованием ее идентификатора.list_runs_in_workspace(workspace_id, ...): список и фильтрация запусков в определенной рабочей области с использованием ее идентификатора.list_runs_in_organization(organization, ...): составление списка и фильтрация запусков по всей организации.get_run_details(run_id): получение подробной информации о конкретном запуске.apply_run(run_id, comment): применить запуск, ожидая подтверждения.discard_run(run_id, comment): Отменить запуск, ожидая подтверждения.cancel_run(run_id, comment): Отменить текущий запланированный или поданный запуск.force_cancel_run(run_id, comment): Принудительно отменить запуск немедленно.force_execute_run(run_id): принудительно выполнить отложенный запуск, отменив предыдущие запуски.
Инструменты управления планом
get_plan_details(plan_id): получить подробную информацию о конкретном плане.get_plan_json_output(plan_id): получение плана выполнения JSON для определенного плана с правильной обработкой перенаправления.get_run_plan_json_output(run_id): извлечение плана выполнения JSON из запуска с правильной обработкой перенаправления.
Применить инструменты управления
get_apply_details(apply_id): получить подробную информацию о конкретной заявке.get_errored_state(apply_id): извлечение ошибочного состояния из неудачной заявки на восстановление.
Инструменты управления проектами
create_project(organization, name, params): создать новый проект с необязательными параметрами.update_project(project_id, params): обновить конфигурацию существующего проекта.list_projects(organization, ...): список и фильтрация проектов в организации.get_project_details(project_id): получить подробную информацию о конкретном проекте.delete_project(project_id): удалить проект (не удается, если он содержит рабочие области).list_project_tag_bindings(project_id): список тегов, привязанных к проекту.add_update_project_tag_bindings(project_id, tag_bindings): добавить или обновить привязки тегов в проекте.move_workspaces_to_project(project_id, workspace_ids): перемещение рабочих пространств в проект.
Инструменты управления организацией
get_organization_details(organization): получить подробную информацию о конкретной организации.get_organization_entitlements(organization): Показать набор прав для функций организации.list_organizations(page_number, page_size, query, query_email, query_name): список и фильтрация организаций.create_organization(name, email, params): создать новую организацию с необязательными параметрами.update_organization(organization, params): обновить настройки существующей организации.delete_organization(organization): удалить организацию и все ее содержимое.
Руководство по разработке
Подробные рекомендации по разработке, включая стандарты кода, шаблоны Pydantic и рабочие процессы по внесению изменений, см. в нашей документации по разработке .
Быстрая настройка разработки
Базовые команды разработки
Подробную информацию об организации кода, архитектуре, рабочих процессах разработки и рекомендациях по качеству кода можно найти на сайте docs/DEVELOPMENT.md .
Документация
Кодовая база включает в себя подробную документацию:
Комментарии к коду : Основное внимание уделяется объяснению причин, по которым принимаются решения о внедрении.
Строки документации : все публичные функции и классы включают подробные строки документации.
Файлы примеров : каталог
docs/содержит подробные примеры для каждого домена:docs/DEVELOPMENT.md: Стандарты разработки и руководства по кодированиюdocs/CONTRIBUTING.md: Руководство по внесению вклада в проектdocs/models/: Примеры использования для всех типов моделейdocs/tools/: Подробные примеры использования для каждого инструментаdocs/conversations/: Примеры потоков диалога с API
Поиск неисправностей
Проверьте журналы сервера (отладочное ведение журнала включено по умолчанию)
Используйте MCP Inspector ( http://localhost:5173 ) для отладки
Ведение журнала отладки уже включено в
server.py:import logging logging.basicConfig(level=logging.DEBUG)
Внося вклад
Вклады приветствуются! Пожалуйста, откройте тему или отправьте запрос на включение, если вы хотите внести свой вклад в этот проект.
Подробные инструкции о том, как начать работу, стандарты качества кода и процесс запроса на включение внесенных изменений см. в нашем Руководстве для участников.