Skip to main content
Glama

Terraform Cloud MCP 서버

AI 어시스턴트를 Terraform Cloud API와 통합하는 모델 컨텍스트 프로토콜(MCP) 서버로, 자연스러운 대화를 통해 인프라를 관리할 수 있습니다. Pydantic 모델을 기반으로 구축되고 도메인별 모듈을 기반으로 구성된 이 서버는 Claude, Claude Code CLI, Claude Desktop, Cursor, Copilot Studio 등 모든 MCP 지원 플랫폼과 호환됩니다.

버전파이썬유형 검사코드 품질


특징

  • 계정 관리 : 인증된 사용자 또는 서비스 계정에 대한 계정 세부 정보를 가져옵니다.

  • 작업 공간 관리 : 작업 공간을 만들고, 읽고, 업데이트하고, 삭제하고, 잠금/잠금 해제합니다.

  • 프로젝트 관리 : 프로젝트를 생성, 나열, 업데이트, 삭제합니다. 프로젝트 태그 바인딩을 관리하고 프로젝트 간에 작업 공간을 이동합니다.

  • 실행 관리 : 실행 생성, 실행 목록 작성, 실행 세부 정보 가져오기, 실행 적용/삭제/취소.

  • 계획 관리 : 고급 HTTP 리디렉션 처리를 통해 계획 세부 정보와 JSON 실행 출력을 검색합니다.

  • 적용 관리 : 적용 세부 정보를 받고 실패한 상태 업로드에서 복구합니다.

  • 조직 관리 : 조직을 나열, 생성, 업데이트, 삭제하고 조직 권한을 확인합니다.

  • 향후 기능 : 변수 관리, 상태 버전 등.


Related MCP server: tfmcp

빠른 시작

필수 조건

  • 파이썬 3.12+

  • MCP(FastMCP 및 개발 도구 포함)

  • uv 패키지 관리자(권장) 또는 pip

  • Terraform Cloud API 토큰


설치

지엑스피1

Claude Environments에 추가

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 구성 파일을 만듭니다.

  • 맥: ~/라이브러리/애플리케이션 지원/클로드/클로드_데스크탑_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) : ID를 사용하여 작업 공간에 Terraform 실행을 만들고 대기열에 추가합니다.

  • list_runs_in_workspace(workspace_id, ...) : 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 를 참조하세요.


선적 서류 비치

코드베이스에는 포괄적인 문서가 포함되어 있습니다.

  • 코드 주석 : 구현 결정의 "이유"를 설명하는 데 중점을 둡니다.

  • Docstring : 모든 공개 함수와 클래스에는 자세한 docstring이 포함됩니다.

  • 예제 파일 : 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)

기여하다

기여를 환영합니다! 이 프로젝트에 참여하고 싶으시다면 이슈를 개설하거나 풀 리퀘스트를 보내주세요.

시작하는 방법, 코드 품질 기준, 풀 리퀘스트 프로세스에 대한 자세한 지침은 기여 가이드를 참조하세요.

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

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