local-only server
The server can only run on the client’s local machine because it depends on local resources.
Integrations
Enables interaction with Ansible collections and modules, supporting operations like retrieving collection information, listing modules, checking version compatibility, and adding or updating collection and module definitions with schema validation.
Uses SQLite as the persistent storage backend for Infrastructure-as-Code components, allowing configuration through the DATABASE_URL environment variable.
Provides tools for managing Terraform providers and resources, including retrieving provider information, listing resources, checking version compatibility, and adding or updating provider and resource definitions with schema validation.
IaC 메모리 MCP 서버
Terraform 및 Ansible 리소스에 대한 버전 추적 및 관계 매핑에 중점을 두고, Infrastructure-as-Code(IaC) 구성 요소에 대한 영구 메모리 저장소를 제공하여 Claude AI의 기능을 향상시키는 MCP(Model Context Protocol) 서버입니다.
[!메모]
이 프로젝트는 AI를 사용하는 사람(저)이 해당 분야의 전문 지식(파이썬 지식 부족)이 없을 때 AI의 성능 수준을 파악하기 위한 개인 프로젝트였습니다. 하지만 비용이 상당히 많이 들게 되어 더 이상 개발하거나 유지할 생각이 없습니다.
개요
IaC 메모리 MCP 서버는 다음을 제공하여 IaC 구성 요소에 대한 정확하고 버전 인식 컨텍스트를 유지하는 과제를 해결합니다.
- IaC 구성 요소에 대한 영구 저장소 및 버전 추적
- URI 기반 액세스를 통한 계층적 리소스 구성
- 구성 요소 간의 포괄적인 관계 매핑
- 버전별 문서 관리
- 스키마 검증 및 시간 메타데이터 추적
- 자동화된 관계 분석 및 통찰력
핵심 구성 요소
자원 관리
서버는 계층적 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 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.
You must be authenticated.
Tools
Terraform 및 Ansible 리소스에 대한 버전 추적 및 관계 매핑을 지원하여 Infrastructure-as-Code 구성 요소를 위한 영구 메모리 저장소로 Claude AI를 향상시킵니다.