IaC 메모리 MCP 서버
Terraform 및 Ansible 리소스에 대한 버전 추적 및 관계 매핑에 중점을 두고, Infrastructure-as-Code(IaC) 구성 요소에 대한 영구 메모리 저장소를 제공하여 Claude AI의 기능을 향상시키는 MCP(Model Context Protocol) 서버입니다.
[!메모]
이 프로젝트는 AI를 사용하는 사람(저)이 해당 분야의 전문 지식(파이썬 지식 부족)이 없을 때 AI의 성능 수준을 파악하기 위한 개인 프로젝트였습니다. 하지만 비용이 상당히 많이 들게 되어 더 이상 개발하거나 유지할 생각이 없습니다.
개요
IaC 메모리 MCP 서버는 다음을 제공하여 IaC 구성 요소에 대한 정확하고 버전 인식 컨텍스트를 유지하는 과제를 해결합니다.
IaC 구성 요소에 대한 영구 저장소 및 버전 추적
URI 기반 액세스를 통한 계층적 리소스 구성
구성 요소 간의 포괄적인 관계 매핑
버전별 문서 관리
스키마 검증 및 시간 메타데이터 추적
자동화된 관계 분석 및 통찰력
Related MCP server: Knowledge Graph Memory Server
핵심 구성 요소
자원 관리
서버는 계층적 URI를 사용하여 정교한 리소스 관리 시스템을 구현합니다.
리소스 URI 구조
지엑스피1
지원되는 플랫폼:
테라폼
앤서블
iac(일반 인프라 엔터티용)
URI 예시:
리소스 템플릿
서버는 표준화된 액세스 패턴에 대한 동적 리소스 템플릿을 제공합니다.
Terraform 제공자 정보:
resources://terraform/providers/{provider_name}리소스 유형 세부 정보:
resources://terraform/resources/{provider_name}/{resource_type}Ansible 컬렉션 데이터:
resources://ansible/collections/{collection_name}모듈 정보:
resources://ansible/modules/{collection_name}/{module_name}
프롬프트
서버는 IaC 구성 요소 검색 및 분석을 위한 4가지 특수 프롬프트를 구현합니다.
검색_리소스
목적: IaC 리소스 검색
인수:
provider: 제공자 이름resource_type: 리소스 유형
반환: 주어진 공급자에 대한 특정 리소스에 대한 정보
분석_엔티티
목적: 엔터티와 그 관계 분석
인수:
entity_id: 엔티티 IDinclude_relationships: 관계 포함
반환: 이름, 유형 및 관찰을 포함한 자세한 엔터티 분석
테라폼_프로바이더
목적: Terraform 공급자에 대한 정보를 가져옵니다.
인수:
provider_name: Terraform 공급자의 이름(필수)version: 쿼리할 특정 버전(선택 사항)
반환: 지정된 버전에 대한 자세한 공급자 정보
ansible_module
목적: Ansible 모듈에 대한 정보 얻기
인수:
collection_name: Ansible 컬렉션의 이름(필수)module_name: 모듈 이름(필수)version: 쿼리할 특정 버전(선택 사항)
반환: 지정된 버전에 대한 자세한 모듈 정보
도구
서버는 IaC 구성 요소 관리를 위한 포괄적인 툴을 구현합니다.
Terraform 도구
get_terraform_provider_info: 버전 및 리소스를 포함한 자세한 공급자 정보를 검색합니다.list_provider_resources: 특정 공급자가 사용할 수 있는 모든 리소스를 나열합니다.get_terraform_resource_info: 특정 리소스 유형에 대한 자세한 정보를 가져옵니다.add_terraform_provider: 버전 관리를 통해 새로운 공급자를 등록합니다.add_terraform_resource: 스키마를 사용하여 리소스 정의 추가update_provider_version: 새 문서로 공급자 버전을 업데이트합니다.
Ansible 도구
get_ansible_collection_info: Ansible 컬렉션에 대한 자세한 정보를 가져옵니다.list_ansible_collections: 사용 가능한 모든 Ansible 컬렉션을 나열합니다.get_collection_version_history: 컬렉션의 버전 기록을 봅니다.get_ansible_module_info: 특정 모듈에 대한 자세한 정보를 가져옵니다.list_collection_modules: 컬렉션의 모든 모듈을 나열합니다.get_module_version_compatibility: 모듈의 버전 호환성을 확인합니다.add_ansible_collection: 새로운 Ansible 컬렉션을 등록합니다.add_ansible_module: 검증 및 문서화를 통해 새로운 모듈을 추가합니다.
엔터티 운영
create_entity: 새로운 인프라 엔티티를 생성합니다.update_entity: 기존 엔터티 구성 수정delete_entity: 관계 정리를 통해 엔터티 제거view_relationships: 엔터티 종속성 및 관계 분석
구성
서버는 환경 변수를 통한 구성을 지원합니다.
DATABASE_URL: SQLite 데이터베이스 위치MCP_DEBUG: 설정 시 디버그 로깅을 활성화합니다.MCP_TEST_MODE: 데이터베이스 재설정을 위한 테스트 모드 활성화
개발을 위해 .env 파일을 만듭니다.
Claude Desktop과 통합
개발 설정
프로덕션 설정
개발
지역 개발
특허
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.