Skip to main content
Glama

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 예시:

resources://terraform/providers/aws resources://terraform/resources/aws/s3_bucket resources://ansible/collections/community.aws resources://ansible/modules/community.aws/s3_bucket

리소스 템플릿

서버는 표준화된 액세스 패턴에 대한 동적 리소스 템플릿을 제공합니다.

  • 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 : 엔티티 ID

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

DATABASE_URL=sqlite:////path/to/db.sqlite MCP_DEBUG=1 MCP_TEST_MODE=1

Claude Desktop과 통합

개발 설정

"mcpServers": { "iac-memory": { "command": "uv", "args": [ "--directory", "/path/to/iac-memory-mcp-server", "run", "iac-memory-mcp-server" ] "env": { "DATABASE_URL": "sqlite:////home/herman/iac.db" } } }

프로덕션 설정

"mcpServers": { "iac-memory": { "command": "uvx", "args": [ "--from", "git+https://github.com/AgentWong/iac-memory-mcp-server.git", "python", "-m", "iac_memory_mcp_server" ], "env": { "DATABASE_URL": "sqlite:////home/herman/iac.db" } } }

개발

지역 개발

# Install dependencies uv sync # Run tests uv run pytest # Development server with MCP Inspector npx @modelcontextprotocol/inspector uv run iac-memory-mcp-server

특허

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

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/AgentWong/iac-memory-mcp-server-project'

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