Skip to main content
Glama

Значок оценки безопасности MseeP.ai

Сервер 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


Установка

# Clone the repository git clone https://github.com/severity1/terraform-cloud-mcp.git cd terraform-cloud-mcp # Create virtual environment and activate it uv venv source .venv/bin/activate # Install package uv pip install .

Добавление в среду Клода

Добавление в Claude Code CLI

# Add to Claude Code with your Terraform Cloud token claude mcp add -e TFC_TOKEN=YOUR_TF_TOKEN -s user terraform-cloud-mcp -- "terraform-cloud-mcp"

Добавление в Claude Desktop

Создайте файл конфигурации claude_desktop_config.json :

  • mac: ~/Library/Application Support/Claude/claude_desktop_config.json

  • выиграть: %APPDATA%\Claude\claude_desktop_config.json

{ "mcpServers": { "terraform-cloud-mcp": { "command": "/path/to/uv", # Get this by running: `which uv` "args": [ "--directory", "/path/to/your/terraform-cloud-mcp", # Full path to this project "run", "terraform-cloud-mcp" ], "env": { "TFC_TOKEN": "my token..." # replace with actual token } } } }

Замените your_terraform_cloud_token на ваш фактический токен Terraform Cloud API.

Другие MCP-совместимые платформы

Для других платформ (например, Cursor, Copilot Studio или Glama) следуйте инструкциям по добавлению сервера MCP для конкретной платформы. Для большинства платформ требуется:

  1. Путь к серверу или команда для запуска сервера.

  2. Переменные среды для токена Terraform Cloud API.

  3. Конфигурация для автоматического запуска сервера при необходимости.


Доступные инструменты

Инструменты для работы с аккаунтом

  • 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 и рабочие процессы по внесению изменений, см. в нашей документации по разработке .

Быстрая настройка разработки

# Clone the repository git clone https://github.com/severity1/terraform-cloud-mcp.git cd terraform-cloud-mcp # Create virtual environment and activate it uv venv source .venv/bin/activate # On Windows: .venv\Scripts\activate # Install in development mode with development dependencies uv pip install -e . uv pip install black mypy pydantic ruff

Базовые команды разработки

# Run the server in development mode mcp dev terraform_cloud_mcp/server.py # Run tests and quality checks uv run -m mypy . uv run -m ruff check . uv run -m black .

Подробную информацию об организации кода, архитектуре, рабочих процессах разработки и рекомендациях по качеству кода можно найти на сайте docs/DEVELOPMENT.md .


Документация

Кодовая база включает в себя подробную документацию:

  • Комментарии к коду : Основное внимание уделяется объяснению причин, по которым принимаются решения о внедрении.

  • Строки документации : все публичные функции и классы включают подробные строки документации.

  • Файлы примеров : каталог docs/ содержит подробные примеры для каждого домена:

    • docs/DEVELOPMENT.md : Стандарты разработки и руководства по кодированию

    • docs/CONTRIBUTING.md : Руководство по внесению вклада в проект

    • docs/models/ : Примеры использования для всех типов моделей

    • docs/tools/ : Подробные примеры использования для каждого инструмента

    • docs/conversations/ : Примеры потоков диалога с API

Поиск неисправностей

  1. Проверьте журналы сервера (отладочное ведение журнала включено по умолчанию)

  2. Используйте MCP Inspector ( http://localhost:5173 ) для отладки

  3. Ведение журнала отладки уже включено в server.py :

    import logging logging.basicConfig(level=logging.DEBUG)

Внося вклад

Вклады приветствуются! Пожалуйста, откройте тему или отправьте запрос на включение, если вы хотите внести свой вклад в этот проект.

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

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/severity1/terraform-cloud-mcp'

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