PJT01_CATIA_VBA 대시보드

II. CMCP

원본: cmcp-catia_vba (README.md · DEPLOY.md · CHANGELOG.md)

개요

CMCP는 PJT01_CATIA_VBA 전용 최소 파일 MCP 서버입니다(버전 1.0.0, 2026-10-02). 다른 프로젝트 전용 기능은 포함하지 않는 최소 구성의 독립 서버입니다.

v1.0.0에서 서버 식별자·환경변수를 CMCP_*로 통일하고, PJT01_CATIA_VBA와 무관한 전용 도구는 제거했습니다.

제공 도구 (8종)

도구설명
cmcp_server_version서버 버전과 제한 확인
list_files허용된 텍스트 파일 목록 조회
file_info파일/폴더 존재 여부와 메타데이터 확인 (내용은 읽지 않음)
read_fileUTF-8 텍스트 파일 읽기
write_file생성 또는 수정, 수정 전 자동 버전 저장
delete_file삭제, 삭제 전 자동 버전 저장 (restore_version으로 복구 가능)
list_versions파일별 이전 버전 목록 (삭제된 파일 포함)
restore_version선택 버전 복원 (삭제된 파일도 복원 가능), 복원 전 현재 상태 자동 저장

파일 이동·이름변경·명령 실행·임의 바이너리 접근 도구는 제공하지 않습니다.

접근 범위 및 안전 규칙

작업공간
CMCP_WORKSPACE_ROOT로 마운트한 PJT01_CATIA_VBA 폴더와 하위 전체
허용 확장자
.md .txt .json .yaml .yml .csv .tsv .srt .vtt .xml .html .css .js .py .catvba .vbs
  • 모든 사용자 경로는 CMCP_WORKSPACE_ROOT의 상대경로입니다.
  • 절대경로, 상위경로 탈출(../), 심볼릭 링크, 내부 버전 저장소 직접 접근을 차단합니다.
  • 허용 확장자와 최대 읽기·쓰기 크기는 .env에서 제한합니다.
  • 기존 파일 수정·삭제 전 내용을 CMCP_VERSION_ROOT에 자동 보관합니다.
  • 동시편집 충돌 방지가 필요하면 read_file의 sha256을 write_file/delete_file의 expected_sha256으로 전달합니다.
  • 버전 저장 경로는 프로젝트 작업 경로와 별도 볼륨으로 유지합니다.
보안 참고

현재 구성은 인증 없음(No Authentication)입니다. 외부에서 주소를 아는 사람이 호출하면 PJT01_CATIA_VBA를 생성·수정·삭제할 수 있습니다. write_file·delete_file 요청은 신중히 승인하십시오 (스냅샷 보관으로 restore_version 복구는 가능).

배포·연결 구조

Claude (Anthropic 클라우드)
   │ HTTPS / 인증 없음
   ▼
https://cmcp.ouifirst.synology.me/mcp
   │
   ▼
Synology 역방향 프록시
HTTPS 443 → HTTP 127.0.0.1:8793
   │
   ▼
Docker 컨테이너 cmcp-catia_vba (내부 8788)
   │
   ▼
PJT01_CATIA_VBA (읽기·쓰기·삭제, 버전 보관)
외부 호스트
cmcp.ouifirst.synology.me
NAS 로컬 포트
8793 (컨테이너 내부 8788)
MCP URL
https://cmcp.ouifirst.synology.me/mcp
도커 프로젝트 폴더
/volume1/docker/cmcp-catia_vba
버전 저장 폴더
/volume1/docker/cmcp-catia_vba/versions

443 포트는 호스트 이름으로 분기되므로 다른 서비스와 겹치지 않게 운용할 수 있습니다. 상세 배포 절차는 DEPLOY.md 참고.