tfmcp

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Allows AI assistants to manage and operate Terraform environments, including reading configuration files, analyzing plan outputs, applying configurations, managing state, and creating/modifying configurations

tfmcp: Terraform 모델 컨텍스트 프로토콜 도구

⚠️ 이 프로젝트는 실험 단계입니다. 기능은 예고 없이 변경될 수 있습니다. 주의해서 사용하세요! ⚠️

tfmcp는 모델 컨텍스트 프로토콜(MCP)을 통해 Terraform과 상호 작용할 수 있도록 지원하는 명령줄 도구입니다. LLM은 tfmcp를 통해 다음을 포함한 Terraform 환경을 관리하고 운영할 수 있습니다.

🎮 데모

Claude Desktop에서 tfmcp가 어떻게 작동하는지 확인하세요.

  • Terraform 구성 파일 읽기
  • Terraform 계획 출력 분석
  • Terraform 구성 적용
  • Terraform 상태 관리
  • Terraform 구성 생성 및 수정

🎉 최신 릴리스

tfmcp(v0.1.1)의 첫 번째 안정 버전이 Crates.io에 출시되었습니다! Cargo를 사용하여 쉽게 설치할 수 있습니다.

지엑스피1

특징

  • 🚀 Terraform 통합
    Terraform CLI와 긴밀하게 통합되어 작업을 분석하고 실행합니다.
  • 📄 MCP 서버 기능
    모델 컨텍스트 프로토콜 서버로 실행되어 AI 어시스턴트가 Terraform에 액세스하고 관리할 수 있도록 합니다.
  • ⚡️ 매우 빠름
    Rust 생태계를 기반으로 한 고속 처리.
  • 🛠️ 자동 설정
    필요할 때 자동으로 Terraform 샘플 프로젝트를 생성하여 새로운 사용자도 원활하게 작업할 수 있도록 보장합니다.

설치

출처에서

# Clone the repository git clone https://github.com/nwiizo/tfmcp cd tfmcp # Build and install cargo install --path .

Crates.io에서

cargo install tfmcp

요구 사항

  • 러스트(2021년판)
  • Terraform CLI가 PATH에 설치되어 사용 가능함
  • Claude Desktop(AI 어시스턴트 통합용)

용법

$ tfmcp --help ✨ A CLI tool to manage Terraform configurations and operate Terraform through the Model Context Protocol (MCP). Usage: tfmcp [OPTIONS] [COMMAND] Commands: mcp Launch tfmcp as an MCP server analyze Analyze Terraform configurations help Print this message or the help of the given subcommand(s) Options: -c, --config <PATH> Path to the configuration file -d, --dir <PATH> Terraform project directory -V, --version Print version -h, --help Print help

Claude Desktop과 통합

Claude Desktop과 함께 tfmcp를 사용하려면:

  1. 아직 설치하지 않았다면 tfmcp를 설치하세요.
    cargo install tfmcp
  2. 설치된 tfmcp 실행 파일의 경로를 찾으세요.
    which tfmcp
  3. ~/Library/Application\ Support/Claude/claude_desktop_config.json 에 다음 구성을 추가합니다.
{ "mcpServers": { "tfmcp": { "command": "/path/to/your/tfmcp", // Replace with the actual path from step 2 "args": ["mcp"], "env": { "HOME": "/Users/yourusername", // Replace with your username "PATH": "/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin", "TERRAFORM_DIR": "/path/to/your/terraform/project" // Optional: specify your Terraform project } } } }
  1. Claude Desktop을 다시 시작하고 tfmcp 도구를 활성화합니다.
  2. tfmcp는 샘플 Terraform 프로젝트가 없는 경우 ~/terraform 에 자동으로 생성하여 Claude가 바로 Terraform 작업을 시작할 수 있도록 합니다. 샘플 프로젝트는 이 저장소의 example/demo 디렉터리에 포함된 예제를 기반으로 합니다.

로그 및 문제 해결

tfmcp 서버 로그는 다음 위치에서 확인할 수 있습니다.

~/Library/Logs/Claude/mcp-server-tfmcp.log

일반적인 문제 및 해결 방법:

  • Claude가 서버에 연결할 수 없습니다 . 구성에서 tfmcp 실행 파일의 경로가 올바른지 확인하세요.
  • Terraform 프로젝트 문제 : tfmcp는 샘플 Terraform 프로젝트를 찾을 수 없는 경우 자동으로 생성합니다.
  • 메서드를 찾을 수 없음 오류 : MCP 프로토콜 지원에는 리소스/목록 및 프롬프트/목록 메서드가 포함됩니다.

환경 변수

  • TERRAFORM_DIR : 사용자 지정 Terraform 프로젝트 디렉터리를 지정합니다. 설정하지 않으면 tfmcp는 명령줄 인수, 구성 파일에서 제공된 디렉터리를 사용하거나 ~/terraform 으로 대체합니다. set_terraform_directory 도구를 사용하여 런타임에 프로젝트 디렉터리를 변경할 수도 있습니다.
  • TFMCP_LOG_LEVEL : 로깅의 자세한 정도를 제어하기 위해 debug , info , warn 또는 error 로 설정합니다.
  • TFMCP_DEMO_MODE : 추가 안전 기능이 있는 데모 모드를 활성화하려면 true 로 설정합니다.

보안 고려 사항

tfmcp를 사용할 때 다음 보안 고려 사항을 숙지하세요.

  • tfmcp는 인프라를 생성, 수정 또는 파괴할 수 있는 Terraform 명령을 사용자를 대신하여 실행합니다.
  • 프로덕션 환경에서는 적절한 IAM 권한 및 역할 경계를 사용하는 것을 고려하세요.
  • 특히 AI에서 생성된 경우 적용하기 전에 모든 Terraform 계획을 검토하십시오.
  • Terraform 상태의 민감한 정보는 AI 도우미가 접근할 수 있습니다.

기여하다

기여를 환영합니다! 풀 리퀘스트를 제출해 주세요.

  1. 저장소를 포크하세요
  2. 기능 브랜치를 생성합니다( git checkout -b feature/amazing-feature )
  3. 변경 사항을 커밋하세요( git commit -m 'Add some amazing feature' )
  4. 브랜치에 푸시( git push origin feature/amazing-feature )
  5. 풀 리퀘스트 열기

로드맵

tfmcp에 대한 몇 가지 계획된 개선 사항과 향후 기능은 다음과 같습니다.

완전한

  • [x] 기본 Terraform 통합
    Terraform CLI와의 핵심 통합을 통해 작업을 분석하고 실행합니다.
  • [x] MCP 서버 구현
    AI 어시스턴트를 위한 모델 컨텍스트 프로토콜 서버의 초기 구현.
  • [x] 자동 프로젝트 생성
    필요할 때 자동으로 샘플 Terraform 프로젝트를 생성하는 기능이 추가되었습니다.
  • [x] Claude 데스크톱 통합
    Claude Desktop과의 원활한 통합을 지원합니다.
  • [x] 핵심 MCP 방법
    리소스/목록 및 프롬프트/목록을 포함한 필수 MCP 방법을 구현합니다.
  • [x] 오류 처리 개선
    견고한 운영을 위해 더 나은 오류 처리 및 복구 메커니즘을 제공합니다.
  • [x] 동적 프로젝트 디렉토리 전환
    서비스를 다시 시작하지 않고도 활성 Terraform 프로젝트 디렉토리를 변경할 수 있는 기능이 추가되었습니다.
  • [x] Crates.io 출판
    Cargo를 통해 쉽게 설치할 수 있도록 Crates.io에 패키지를 게시했습니다.

진행 중

  • [ ] 향상된 Terraform 분석
    Terraform 구성, 계획 및 상태 파일에 대한 심층적인 구문 분석 및 분석을 구현합니다.
  • [ ] 다중 환경 지원
    여러 Terraform 환경, 작업 공간 및 모듈을 관리하는 데 대한 지원을 추가합니다.
  • [ ] 보안 강화
    더 나은 인증 및 권한 부여 메커니즘을 포함하여 보안 기능을 개선합니다.
  • [ ] 확장된 MCP 프로토콜 지원
    AI 어시스턴트와의 더욱 풍부한 통합을 위해 추가적인 MCP 방법과 기능을 구현합니다.
  • [ ] 대화형 TUI
    로컬 사용과 디버깅을 보다 쉽게 하기 위해 터미널 기반 사용자 인터페이스를 개발합니다.
  • [ ] 비용 추정
    클라우드 공급자 가격 API와 통합하여 Terraform 플랜에 대한 비용 견적을 제공합니다.
  • [ ] 성능 최적화
    대규모 Terraform 프로젝트의 리소스 사용과 응답 시간을 최적화합니다.
  • [ ] 다른 AI 플랫폼과의 통합
    클로드를 넘어 다른 AI 어시스턴트와 플랫폼도 지원합니다.
  • [ ] 포괄적인 테스트 프레임워크
    실제 Terraform 구성을 통한 통합 테스트를 포함하여 테스트 범위를 확장합니다.
  • [ ] 플러그인 시스템
    핵심 기능을 확장할 수 있는 플러그인 아키텍처를 개발합니다.

특허

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.

-
security - not tested
A
license - permissive license
-
quality - not tested

🌍 Terraform 모델 컨텍스트 프로토콜(MCP) 도구 - AI 어시스턴트가 Terraform 환경을 관리하고 운영할 수 있도록 지원하는 실험적 CLI 도구입니다. Claude Desktop과 통합되어 Terraform 구성 읽기, 계획 분석, 구성 적용 및 상태 관리를 지원합니다. ⚡️

  1. 🎮 Demo
    1. 🎉 Latest Release
      1. Features
        1. Installation
          1. From Source
          2. From Crates.io
        2. Requirements
          1. Usage
            1. Integrating with Claude Desktop
          2. Logs and Troubleshooting
            1. Environment Variables
              1. Security Considerations
                1. Contributing
                  1. Roadmap
                    1. Completed
                    2. In Progress
                  2. License
                    ID: egi85wpgv5