콘텐츠로 이동

MCP 감사

요청에 포함된 MCP 도구 정의(스키마)는 사용하지 않아도 입력 비용을 발생시킵니다. 아래에서 설명하듯 일부 클라이언트는 가상 도구 그룹으로 스키마 로딩을 늦춥니다. 모든 스키마를 에이전트 루프의 매 단계에 전송하는 경우에는 비용이 단계 수만큼 곱해집니다.

tokens per task ≈ (tool schema tokens × steps) + accumulated conversation + tool responses

사용하지 않는 서버라도 전체 스키마가 로드되어 있으면 단계마다 토큰을 소비합니다. 스키마 로딩이 지연되면 이 기준 비용은 달라질 수 있습니다.

MCP 서버 5개
도구 65%
기타 35%
100%
필요한 서버 1개
도구 15%
기타 35%
50%
측정 결과가 아닌 가상의 예시입니다. 변경 전 접두부를 기준으로 도구 정의는 65%에서 15%로 줄고 나머지는 35%로 유지되어, 변경 후 접두부는 기존의 50%가 됩니다. 필요한 서버 하나만 남기면 매 턴 전송하는 도구 정의가 줄어들지만, 실제 절감량은 다릅니다. 초록색은 도구를 줄인 구성일 뿐 캐시 적중을 뜻하지 않습니다.
  1. 모든 MCP 서버와 서버별 도구 수를 나열합니다(도구 선택기인 Configure Tools에서 확인할 수 있습니다).
  2. 서버마다 지난달에 얼마나 자주 사용했는지 기록합니다(Agent Debug Logs에서 도구 호출을 볼 수 있습니다).
  3. 서버별로 다음과 같이 결정합니다.
사용량결정
거의 매일 사용유지
가끔 사용기본적으로 비활성화, 필요한 작업에서만 활성화
거의 또는 전혀 사용하지 않음, 또는 다른 도구와 중복제거
필요한 도구는 두 개뿐인 대형 서버더 작은 서버 또는 터미널에서 호출하는 CLI 사용
  1. 첫 요청의 입력 크기와 기준선 작업을 다시 측정합니다(사용량 측정하기).

필요 시 도구 로딩과 가상 도구 그룹

섹션 제목: “필요 시 도구 로딩과 가상 도구 그룹”

최근 VS Code Copilot 빌드는 도구 목록이 크면 가상 도구로 묶고 그룹이 활성화될 때까지 전체 스키마 로딩을 늦출 수 있습니다. 지원되는 환경에서는 tool_search 같은 도구 검색 단계를 거칩니다. 활성화된 그룹의 스키마는 이후 세션 요청에도 남을 수 있으며, 동작은 빌드와 모델에 따라 다릅니다. 그룹화가 비활성화되었거나 지원되지 않으면 처음부터 전체 스키마가 전송될 수 있습니다. 캐시 절감을 가정하지 말고 Agent Debug Logs와 Cache Explorer에서 확인하세요. 실험적 설정 github.copilot.chat.virtualTools.threshold는 그룹화가 시작되는 도구 수를 지정합니다(VS Code 설정 참조). 작업 영역별로 사용하지 않는 MCP 서버를 비활성화하는 것이 사용 가능한 목록을 줄이는 가장 확실한 기본 방법입니다.

전역이 아니라 작업 영역별로 범위를 정합니다

섹션 제목: “전역이 아니라 작업 영역별로 범위를 정합니다”

MCP 구성을 리포지토리(.vscode/mcp.json)에 두면 프로젝트마다 필요한 서버만 로드됩니다. 백엔드 리포지토리에는 디자인 도구 서버가, 프런트엔드 리포지토리에는 데이터베이스 스키마 도구가 필요하지 않습니다. 리포지토리별 파일은 전역 목록보다 검토하기도 쉽습니다.

반복되거나 분량이 큰 참고 자료(사내 스타일 가이드, 런북, API 메모)는 상시 로드되는 지침에 두는 대신 필요할 때 로드되는 에이전트 스킬로 패키징할 수 있습니다. 반복해서 전송하는 입력을 줄이고 한 곳에서 내용을 관리할 수 있습니다.

도구 결과(파일 읽기, grep, 셸 출력)는 컨텍스트에서 가장 큰 부분을 차지하는 경우가 많습니다. 파일 전체를 읽기보다 대상을 좁혀 검색하고, 노이즈가 많은 경로는 제외합니다(컨텍스트를 간결하게 유지하기 참조).

도구를 가지치기하기 전후로 Agent Debug Logs에서 첫 요청의 입력 토큰을 기록합니다. 그런 다음 같은 작업을 실행해 크레딧과 성공 여부를 비교합니다. 품질이 유지된 경우에만 변경을 유지합니다.

작업에 필요한 도구를 가지치기하면 우회 방법을 찾느라 단계가 늘어납니다. 도구를 빠르게 다시 활성화할 방법을 마련해 두고, 추측이 아니라 실제 사용량을 확인한 뒤 도구를 가지치기합니다.

이 문서의 바탕이 된 발표 자료에는 도구를 187개에서 52개로 줄인 팀이 나오며, 에이전트 작업의 토큰 사용량이 약 72% 감소했다고 보고합니다. 이 사례는 독립적으로 검증하지 못했습니다. 방법의 예시로만 참고하고, 결과는 직접 측정하세요. TokenEconomizer는 여러 세션에 걸쳐 사용되지 않는 도구를 가지치기하는 방식으로 같은 아이디어를 자동화합니다(사례 연구 참조).

학회 등급, 인용 수 순으로 정렬했습니다. 각 연구 결과는 가설이므로 자신의 워크로드에서 검증해야 합니다. 전체 목록은 논문을 참고하세요.