Terraform Registry MCP Server

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.

Integrations

  • Enables access to HashiCorp's Terraform Registry, allowing lookup of HashiCorp-provided providers and modules, with detailed information on their configuration, requirements, and usage examples.

  • Provides tools for interacting with the Terraform Registry API, enabling querying of provider information, resource details, module metadata, and recommendations. Supports looking up providers, retrieving resource usage examples, finding modules, listing data sources, and fetching comprehensive resource argument details.

Terraform 레지스트리 MCP 서버

Terraform Registry API와 상호 작용하기 위한 도구를 제공하는 모델 컨텍스트 프로토콜(MCP) 서버입니다. 이 서버를 통해 AI 에이전트는 공급자 정보, 리소스 세부 정보 및 모듈 메타데이터를 쿼리할 수 있습니다.

설치

커서에 설치

Cursor 에 이 MCP 서버를 설치하고 사용하려면:

  1. 커서에서 설정(⌘+,)을 열고 "MCP" 탭으로 이동합니다.
  2. "+ 새 MCP 서버 추가"를 클릭합니다.
  3. 다음을 입력하세요.
    • 이름: terraform-registry
    • 유형: 명령
    • 명령어: npx -y terraform-mcp-server
  4. "추가"를 클릭한 다음 서버로 스크롤하여 "비활성화"를 클릭하여 서버를 활성화합니다.
  5. 필요한 경우 커서를 다시 시작하여 MCP 서버가 올바르게 로드되었는지 확인하세요.

Claude Desktop에 설치

Claude Desktop에 이 MCP 서버를 설치하고 사용하려면:

  1. Claude Desktop에서 설정(⌘+,)을 열고 "개발자" 탭으로 이동합니다.
  2. 창 하단의 "구성 편집"을 클릭하세요.
  3. 파일( ~/Library/Application Support/Claude/claude_desktop_config.json )을 편집하여 다음 코드를 추가한 다음 파일을 저장합니다.

지엑스피1

  1. MCP 서버가 제대로 로드되었는지 확인하려면 Claude Desktop을 다시 시작하세요.

도구

이 MCP 서버에서는 다음과 같은 도구를 사용할 수 있습니다.

핵심 레지스트리 도구

도구설명
providerDetailsTerraform 공급자에 대한 자세한 정보를 가져옵니다.
resourceUsageTerraform 리소스 및 관련 리소스의 사용 예를 가져옵니다.
moduleSearch쿼리를 기반으로 Terraform 모듈을 검색하고 추천합니다.
listDataSources공급자의 사용 가능한 모든 데이터 소스와 기본 세부 정보를 나열합니다.
resourceArgumentDetails리소스 유형의 인수에 대한 포괄적인 세부 정보를 가져옵니다.
moduleDetailsTerraform 모듈에 대한 자세한 메타데이터를 검색합니다.
functionDetailsTerraform 공급자 함수에 대한 세부 정보를 가져옵니다.
providerGuides공급자별 가이드 및 문서를 나열하고 봅니다.
policySearchTerraform 레지스트리에서 정책 라이브러리 검색
policyDetails특정 정책 라이브러리에 대한 자세한 정보를 가져옵니다.

Terraform 클라우드 도구

이러한 도구에는 Terraform Cloud API 토큰( TFC_TOKEN )이 필요합니다.

도구설명
listOrganizations인증된 사용자가 액세스할 수 있는 모든 조직을 나열합니다.
privateModuleSearch조직 내 개인 모듈 검색
privateModuleDetails개인 모듈에 대한 자세한 정보를 가져옵니다.
explorerQueryTerraform Cloud Explorer API를 쿼리하여 데이터를 분석합니다.
listWorkspaces조직의 작업 공간을 나열합니다.
workspaceDetails특정 작업 공간에 대한 자세한 정보를 얻습니다.
lockWorkspace실행을 방지하기 위해 작업 공간을 잠급니다.
unlockWorkspace실행을 허용하기 위해 작업 공간 잠금 해제
listRuns작업 공간에 대한 실행 목록
runDetails특정 실행에 대한 자세한 정보를 얻습니다.
createRun작업 공간에 대한 새 실행을 만듭니다.
applyRun계획된 실행을 적용합니다.
cancelRun진행 중인 실행을 취소합니다.
listWorkspaceResources작업 공간의 리소스를 나열합니다.

자원

MCP 서버는 resources/* 메서드를 통해 나열하고 읽기 위한 다음 리소스 URI를 지원합니다.

리소스 유형예제 URI설명
제공자terraform:providers모든 네임스페이스/공급자 나열
terraform:provider:<namespace>/<name>특정 공급자에 대한 세부 정보 가져오기
공급자 버전terraform:provider:<namespace>/<name>/versions공급자에 사용 가능한 버전 나열
공급자 리소스terraform:provider:<namespace>/<name>/resources공급자에 대한 리소스 나열
terraform:resource:<namespace>/<name>/<resource_name>특정 리소스 유형에 대한 세부 정보 가져오기
공급자 데이터 소스terraform:provider:<namespace>/<name>/dataSources공급자의 데이터 소스 나열
terraform:dataSource:<namespace>/<name>/<data_source_name>특정 데이터 소스에 대한 세부 정보 가져오기
공급자 기능terraform:provider:<namespace>/<name>/functions공급자에 대한 목록 함수
terraform:function:<namespace>/<name>/<function_name>특정 기능에 대한 세부 정보 가져오기

서버는 또한 다음을 생성하기 위한 템플릿을 제공하기 위해 resources/templates/list 지원합니다.

  • terraform:provider
  • terraform:resource
  • terraform:dataSource

프롬프트

상황에 맞는 응답을 생성하는 데 사용할 수 있는 프롬프트는 다음과 같습니다.

즉각적인설명필수 인수
migrate-clouds클라우드 공급자 간 인프라를 마이그레이션하기 위한 Terraform 코드 생성sourceCloud , targetCloud , terraformCode
generate-resource-skeleton사용자가 모범 사례를 통해 새로운 Terraform 리소스를 빠르게 구축할 수 있도록 지원합니다.resourceType
optimize-terraform-moduleTerraform 코드 개선을 위한 실행 가능한 권장 사항을 제공합니다.terraformCode
migrate-provider-version공급자 버전 업그레이드 및 주요 변경 사항을 지원합니다.providerName , currentVersion , targetVersion , terraformCode (선택 사항)
analyze-workspace-runs최근 실행 실패를 분석하고 Terraform Cloud 작업 공간에 대한 문제 해결 지침을 제공합니다.workspaceId , runsToAnalyze (선택 사항, 기본값: 5)

프롬프트 관련 알려진 문제

참고 : getPrompt 기능에는 서버 충돌을 일으킬 수 있는 알려진 문제가 있습니다. 서버는 프롬프트를 제대로 등록하고 나열할 수 있지만, getPrompt 메서드를 사용하여 직접 요청하면 연결 문제가 발생할 수 있습니다. 이 문제는 현재 조사 중이며 SDK 호환성 또는 구현 세부 정보와 관련이 있을 수 있습니다. 문제가 해결될 때까지 listPrompts 사용하여 사용 가능한 프롬프트를 확인하되, getPrompt 직접 호출하지 마십시오.

서버 실행

서버는 MCP 통신을 위해 stdio 전송을 사용하여 실행됩니다.

npm install npm start

환경 변수를 사용한 구성

서버는 환경 변수를 사용하여 구성할 수 있습니다.

환경 변수설명기본값
TERRAFORM_REGISTRY_URLTerraform Registry API의 기본 URLhttps://registry.terraform.io
DEFAULT_PROVIDER_NAMESPACE공급자의 기본 네임스페이스해시코프
LOG_LEVEL로깅 수준(오류, 경고, 정보, 디버그)정보
REQUEST_TIMEOUT_MSAPI 요청에 대한 시간 초과(밀리초)10000
RATE_LIMIT_ENABLEDAPI 요청에 대한 속도 제한 활성화거짓
RATE_LIMIT_REQUESTS시간 창에 허용된 요청 수60
RATE_LIMIT_WINDOW_MS밀리초 단위의 속도 제한을 위한 시간 창60000
TFC_TOKEN개인 레지스트리 액세스를 위한 Terraform Cloud API 토큰(선택 사항)

환경 변수를 사용한 예시 사용:

# Set environment variables export LOG_LEVEL="debug" export REQUEST_TIMEOUT_MS="15000" export TFC_TOKEN="your-terraform-cloud-token" # Run the server npm start

테스트

이 프로젝트 테스트에 대한 자세한 내용은 TESTS.md 파일을 참조하세요.

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

MCP를 통해 AI 모델을 Terraform 레지스트리에 연결하여 공급자 조회, 리소스 사용 사례, 간소화된 Terraform 워크플로에 대한 모듈 권장 사항을 제공합니다.

  1. Installation
    1. Installing in Cursor
    2. Installing in Claude Desktop
  2. Tools
    1. Core Registry Tools
    2. Terraform Cloud Tools
  3. Resources
    1. Prompts
      1. Known Issues with Prompts
    2. Running the Server
      1. Configuration with Environment Variables
    3. Testing
      ID: zznclqgard