Сервер Terraform Cloud MCP
Сервер Model Context Protocol (MCP), который интегрирует помощников ИИ с API Terraform Cloud, позволяя вам управлять вашей инфраструктурой посредством естественного общения. Созданный с использованием моделей Pydantic и структурированный вокруг доменно-специфичных модулей, этот сервер совместим с любой платформой, поддерживающей MCP, включая Claude, Claude Code CLI, Claude Desktop, Cursor, Copilot Studio и другие.
Функции
- Управление учетными записями : получение данных учетных записей для аутентифицированных пользователей или учетных записей служб.
- Управление рабочим пространством : создание, чтение, обновление, удаление, блокировка/разблокировка рабочих пространств.
- Управление проектами : создание, составление списка, обновление и удаление проектов; управление привязками тегов проектов и перемещение рабочих пространств между проектами.
- Управление запуском : создание запусков, составление списка запусков, получение сведений о запуске, применение/отмена/отмена запусков.
- Управление планом : получение сведений о плане и результатов выполнения JSON с помощью расширенной обработки перенаправлений HTTP.
- Управление заявками : получение сведений о заявках и восстановление после неудачных загрузок состояний.
- Управление организациями : составление списка, создание, обновление, удаление организаций и просмотр прав организаций.
- Будущие функции : управление переменными, версии состояний и многое другое.
Быстрый старт
Предпосылки
- Питон 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
:
Внося вклад
Вклады приветствуются! Пожалуйста, откройте тему или отправьте запрос на включение, если вы хотите внести свой вклад в этот проект.
Подробные инструкции о том, как начать работу, стандарты качества кода и процесс запроса на включение внесенных изменений см. в нашем Руководстве для участников.
You must be authenticated.
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.
Tools
Сервер протокола контекста модели (MCP), который интегрирует Claude с API Terraform Cloud, позволяя Claude управлять вашей инфраструктурой Terraform посредством естественного диалога.
- Функции
- Быстрый старт
- Доступные инструменты
- Руководство по разработке
- Документация
- Поиск неисправностей
- Внося вклад
Related Resources
Related MCP Servers
- AsecurityFlicenseAqualityA Model Context Protocol (MCP) server that enables AI assistants like Claude to interact with your AWS environment. This allows for natural language querying and management of your AWS resources during conversations. Think of better Amazon Q alternative.Last updated -3264TypeScript
- -securityAlicense-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 -239RustMIT License
- -securityFlicense-qualityA starter template for building Model Context Protocol (MCP) servers, enabling developers to create and add custom tools that can be integrated with Claude Desktop.Last updated -TypeScript
- AsecurityFlicenseAqualityA server built on mcp-framework that enables integration with Claude Desktop through the Model Context Protocol.Last updated -11