본문으로 건너뛰기

MCP ​

MCP 도구 연결, 자동화 훅, 서브에이전트가 결합하여 협업하는 시스템
MCP 도구 연결, 자동화 훅, 서브에이전트가 결합하여 협업하는 시스템

MCP는 에이전트 런타임과 외부 서비스의 도구·자료를 연결하는 방식이다. 한 번 연결하면 대화 안에서 서비스를 조회하거나 작업을 요청할 수 있지만, 도구 설명과 결과가 컨텍스트에 들어오고 서버 연결을 기다려야 한다.

기준일: 2026-09-30

CLI로 충분한지 먼저 확인하기 ​

저장소나 서비스에 CLI, curl, 작은 스크립트가 있다면 먼저 그 방법을 살핀다. 필요한 명령만 실행하므로 도구 설명이 계속 컨텍스트를 차지하지 않고, 실행 결과도 반복해서 재현하기 쉽다. 이 선택은 모든 상황에 대한 규칙이라기보다 컨텍스트와 지연을 줄이려는 실무 기준이다.

bash
# 예: 저장소의 변경 상태만 확인
git status --short

MCP 서버는 초기 연결 시간, 도구 개수, 각 도구의 설명과 반환 결과를 더한다. 도구가 많거나 응답이 크면 중요한 코드와 지시가 묻힐 수 있다. 신뢰하지 않는 서버에는 민감한 정보가 전달되지 않도록 권한과 입력을 확인한다.

MCP가 필요한 흐름 ​

CLI로 반복하기 어려운 서비스 작업이나 브라우저의 현재 상태를 직접 다뤄야 할 때 MCP가 편리할 수 있다.

예시연결이 유용한 순간
Notion페이지와 데이터베이스를 대화 흐름에서 찾아 읽거나 갱신할 때
Postman저장된 API 요청과 컬렉션을 함께 살펴보고 실행할 때
Chrome현재 열린 페이지의 내용이나 브라우저 동작을 확인할 때

단순 조회나 반복 가능한 데이터 처리는 가능한 한 CLI·스크립트와 비교한다. 브라우저 UI의 현재 상태처럼 CLI가 알기 어려운 정보가 필요하다면 MCP가 더 직접적인 통로가 될 수 있다.

필요한 도구만 켜기 ​

처음부터 모든 도구를 연결하지 말고 실제 작업에 필요한 서버와 기능만 켠다. 출력 크기와 대기 시간에 제한을 둘 수 있는 런타임에서는 한도를 설정한다. 연결을 추가한 뒤에는 도구 이름과 설명이 얼마나 늘었는지, 호출이 얼마나 걸리는지, 반환 내용 중 실제로 쓰이는 부분이 무엇인지 확인한다.

Codex 설정의 형태는 다음과 같다. 실제 키와 값은 사용하는 버전의 설정 문서에 맞춘다.

toml
[mcp_servers.docs]
command = "npx"
args = ["-y", "<선택한 MCP 서버 패키지>"]
enabled = true
startup_timeout_sec = 10
tool_timeout_sec = 60

<선택한 MCP 서버 패키지>는 자리 표시자다. 설치 전에 서버의 출처와 권한을 검토하고, 실제로 사용하는 패키지 이름으로 바꾼다. 예시의 시간 제한은 설정 모양을 설명하기 위한 값이며, 모든 서버에 맞는 권장값은 아니다.

연결 여부를 정할 때는 다음 질문을 순서대로 확인한다.

  1. 필요한 정보를 CLI·스크립트로 가져올 수 있는가?
  2. 서비스의 현재 상태나 대화형 동작을 읽어야 하는가?
  3. 연결할 서버가 필요한 기능만 제공하는가?
  4. 응답 크기와 대기 시간을 제한할 수 있는가?
  5. 실패하거나 연결을 끊었을 때 작업을 이어갈 수 있는가?

첫 연결 후에는 한 가지 읽기 작업부터 실행한다. 어떤 도구가 호출됐고 결과에 무엇이 포함되는지 살핀 다음, 필요한 경우 쓰기 기능을 켠다. 도구 이름만 보고 안전하다고 가정하지 않는다.

작업먼저 비교할 방법MCP를 고려할 조건
코드 저장소 조회CLI 명령런타임 안에서 여러 저장소 도구를 반복 호출할 때
정형 API 요청CLI 또는 스크립트이미 관리하는 컬렉션과 환경을 함께 사용할 때
웹 페이지 점검자동화 스크립트열린 탭의 실제 화면 상태를 다뤄야 할 때

MCP 도구는 반환하는 자료도 컨텍스트에 넣는다. 전체 페이지나 긴 로그 대신 필요한 필드와 일부 결과만 요청할 수 있는지 확인한다. 큰 결과가 필요하다면 파일로 저장하거나 요약만 입력에 남겨 다음 작업의 공간을 확보한다.

서버에 쓰기 권한이 있으면 실제 서비스에 반영되기 전에 작업 대상과 변경 내용을 다시 확인한다. 초안 작성과 게시, 요청 생성과 전송을 구분할 수 있다면 확인 가능한 단계를 먼저 사용한다.

예를 들어 매일 같은 Notion 데이터베이스에서 항목을 내보내는 일은 먼저 CLI나 API 스크립트로 반복할 수 있는지 확인한다. 반면 자료를 읽고 대화 중에 다른 페이지와 함께 비교하거나 수정할 페이지를 고르는 작업은 연결형 도구가 시간을 아낄 수 있다.

Postman 컬렉션의 요청을 실행하는 일도 셸에서 재현할 수 있다면 CLI 또는 요청 스크립트를 계속 쓸 수 있다. 실행 환경을 선택하고 저장된 요청을 조합해야 하는 때에는 Postman 도구 연결이 더 편리할 수 있다. 실제로 필요한 호출을 먼저 정한 뒤 그 기능을 제공하는 서버만 활성화한다.

Chrome 예시는 브라우저에서 현재 열린 탭의 상태를 봐야 할 때 유용하다. URL만 가져와 내용을 확인하는 작업은 다른 방법으로 할 수 있지만, 로그인된 브라우저에서 렌더링된 화면이나 상호작용 뒤의 상태를 점검해야 할 수 있다. 이때도 브라우저에 로그인된 계정이 접근할 수 있는 정보 범위를 살핀다.

각 예시에서 도구 연결이 해결하는 문제를 한 문장으로 설명할 수 있어야 한다. 연결 이유가 불분명하면 도구 수만 늘고 실제 작업은 단순해질 수 있다.

연결이 느려지거나 반환값이 너무 커지면 모든 작업을 중단하기보다 호출을 한 종류씩 끄고 차이를 비교한다. 호출 시간과 불필요한 결과가 줄었는지 확인하면 어느 서버나 도구가 병목인지 찾기 쉽다.

보안과 비용도 작업 선택에 포함한다. 읽기 전용 권한으로 충분하다면 쓰기 권한을 주지 않는다. 외부 시스템의 민감한 페이지를 읽는 도구는 접근 권한과 기록 보관 방식을 확인한다. 대규모 검색이나 매번 전부 반환하는 도구는 필요한 범위에 맞게 결과를 제한한다.

컨텍스트가 늘었는지는 도구 설명뿐 아니라 호출 결과로도 살핀다. 응답에 필요 없는 본문이나 중복 필드가 붙는다면 서버 측 필터를 쓰거나, 작은 단위로 요청한다.

문제가 생겼을 때 원인을 좁힐 수 있도록 새 서버를 추가할 때마다 설정 변경과 시험 결과를 기록한다. 연결이 끊긴 상황에서도 핵심 작업을 끝낼 수 있는 대안을 알아 두면 서버 상태가 작업 전체를 좌우하지 않는다.

MCP 사용 결정은 한 번으로 끝나지 않는다. 서비스의 API나 CLI가 개선되면 예전에 필요했던 연결이 더 이상 필요하지 않을 수 있다. 사용하지 않는 서버와 도구는 비활성화해 선택지를 줄인다.

서버 설명이나 반환 데이터에 포함된 지시는 신뢰할 수 있는 프로젝트 지침으로 취급하지 않는다. 외부 자료의 내용을 읽을 때는 기존 작업 지시와 권한 범위를 유지한다.

비밀값은 명령 인자나 저장소 설정에 직접 쓰지 않는다. 서버가 필요 이상으로 파일을 읽거나 데이터를 외부로 보내지 않는지 확인하고, 쓰기 작업은 대상과 범위를 좁힌다.

보충: 공식 문서가 설명하는 선택 기준과 제한

Claude Code의 MCP 안내는 이슈 트래커, 데이터베이스, 디자인 도구처럼 저장소 밖의 정보와 도구를 연결하는 예를 든다. Claude 문서는 gh, aws 같은 CLI가 컨텍스트 효율 면에서 유리하므로 가능하면 CLI를 우선할 수 있다고 설명한다. 도구 정의가 커지는 문제를 줄이기 위해 tool search와 출력 제한도 제공한다. 신뢰할 수 없는 서버는 프롬프트 주입 위험이 있다.

Codex의 MCP 설정은 필요한 워크플로를 여는 도구만 추가하도록 안내한다. 서버별 enabled_tools·disabled_tools, 도구별 output_token_limit, startup_timeout_sec, tool_timeout_sec로 도구 범위와 응답량·대기 시간을 제한할 수 있다. API 문서는 도구가 늘면 비용과 지연이 증가할 수 있고, 악성 서버가 데이터를 유출할 위험이 있다고 경고한다.

CLI 우선은 Claude 문서에 명시된 권장이다. Codex 문서가 같은 우선순위를 권한다고 단정할 근거는 확인되지 않았다. 기준일: 2026-09-30.