MCP 서버를 클로드 코드에 붙이면 디버그용으로 만들어 둔 것까지 그 서버의 명령과 자원이 전부 목록에 뜨는데, 오픈소스 MCP 서버 gcontext 는 프로젝트 최상위 폴더에 controls.yaml 을 두고 항목마다 on 과 off 를 적어 노출 범위를 줄여요. 다만 공식 문서를 열어 보면 off 는 감추기일 뿐 막기가 아니어서, 자원은 'off 여도 목록에서 빠질 뿐 read_file 로는 여전히 읽힌다'고 그대로 적혀 있어요. 공개 소개 글은 이 파일이 8월 23일 0.14.0 에서 새로 생겼다고 했는데, 릴리스 노트를 보면 나흘 앞선 0.12.2 에서 commands.yaml 을 갈아치우며 들어왔고 0.14.0 이 손본 건 대시보드 화면이에요.
용어 풀이
- MCP
- Model Context Protocol. 에이전트가 외부 도구·자료에 붙는 방식을 정한 규약
- read_file
- gcontext 서버가 내주는 파일 읽기 도구. 경로만 알면 목록에 없는 파일도 읽는다
운영자 인사이트
MCP 서버를 여러 개 붙일수록 쓰지도 않는 도구 설명이 컨텍스트를 먼저 깎아 먹으니 안 쓰는 명령을 꺼 두는 건 실익이 있어요. 다만 이건 컨텍스트를 아끼는 장치지 접근을 막는 장치가 아니라서, 민감한 파일은 off 로 감추지 말고 폴더 밖으로 빼거나 권한으로 막아야 해요.
여러 관점으로 보기
- controls.yaml 명세 off 는 클라이언트 목록에서 감추는 것이고, 자원은 off 여도 read_file 로 읽힌다고 공식 문서에 적혀 있어요. GitHub
- 실제 도입 시점 controls.yaml 은 0.12.2 에서 commands.yaml 을 대체하며 들어왔고 0.13.1 에서 완전한 on/off 등록부가 됐어요. 8월 23일 0.14.0 이 바꾼 건 대시보드 Controls 탭이에요. GitHub
- 도구가 무엇인가 gcontext 는 평범한 파일과 폴더를 에이전트의 상태로 삼아 MCP 로 내주는 내 컴퓨터용 서버라고 소개해요. gcontext