MCP 서버는 토큰을 얼마나 쓰고, 어떻게 줄이나요?
Claude Code는 기본적으로 MCP 도구 이름과 서버 안내문만 컨텍스트에 넣고, 도구 정의 전체는 그 도구를 쓸 때 로드합니다. 그래서 서버를 몇 개 더 추가해도 비용이 크지 않습니다. Codex는 MCP 서버 하나마다 모든 메시지에 컨텍스트가 더해집니다. 해결책은 양쪽이 같습니다. 안 쓰는 것은 끄세요.
Codex
MCP 서버는 하나하나가 메시지마다 컨텍스트를 더해 한도를 더 씁니다. OpenAI는 적게 쓰고, 필요 없을 때는 끄라고 안내합니다.
CLI에서 /mcp를 입력하면 이번 세션의 서버를, codex mcp list를 실행하면 설정해 둔 전체를 볼 수 있습니다. 비용을 멈추려고 서버를 지울 필요는 없습니다. ~/.codex/config.toml의 해당 [mcp_servers.<이름>] 항목 아래에 enabled = false를 적고, 필요할 때 되돌리면 됩니다. 서버에서 도구를 한두 개만 쓴다면 enabled_tools에 그것만 적으세요. 나머지는 모델에 전달되지 않습니다. Codex가 도구 정의를 필요할 때만 로드하는지는 OpenAI 문서에 없습니다.
공식 문서 원문
Limit the number of MCP servers you use. Every MCP server adds more context to your messages and uses more of your limit. Disable MCP servers when you don't need them.enabled (optional): Set false to disable a server without deleting it.enabled_tools (optional): Tool allow list.Claude
기본적으로 아주 적습니다. 도구 이름과 서버 안내문만 컨텍스트에 들어갑니다. /context로 확인하고 안 쓰는 서버는 /mcp에서 끄세요.
Claude Code는 tool search가 기본으로 켜져 있습니다. 도구 정의 전체는 Claude가 그 도구를 쓸 때까지 컨텍스트에 들어가지 않으며, Anthropic이 서버를 더 추가해도 영향이 미미하다고 말하는 이유입니다. 또 하나의 비용은 도구가 돌려주는 내용입니다. Claude Code는 MCP 출력 하나가 10,000 토큰을 넘으면 경고하고 기본적으로 25,000 토큰에서 제한합니다. 그보다 큰 것은 파일로 저장하고 대화에는 경로만 남깁니다. /mcp에서 끈 서버는 현재 프로젝트에서만 꺼지며 설정은 그대로 남습니다.
공식 문서 원문
MCP tool definitions are deferred by default, so only tool names and server instructions enter context until Claude uses a specific tool. Run /context to see what's consuming space.Only tool names and server instructions load at session start, so adding more MCP servers has minimal impact on your context window.Output warning threshold: Claude Code displays a warning when any MCP tool output exceeds 10,000 tokensDefault limit: the default maximum is 25,000 tokensPrefer CLI tools when available: Tools like gh, aws, gcloud, and sentry-cli are still more context-efficient than MCP servers because they don't add any per-tool listing.On a Pro, Max, Team, or Enterprise plan, /usage also shows a breakdown of what counts against your plan limits: Attribution: recent usage attributed to skills, subagents, plugins, and individual MCP servers, each shown as a percentage of the total.If you've logged into Claude Code with a claude.ai account, MCP servers you've added in claude.ai, known as connectors, are automatically available in Claude CodeYou can also run /mcp to toggle any connector Claude Code fetches on or off for the current project only.서드파티 프록시를 거치면 도구 정의가 전부 로드됩니다
기본 동작에는 예외가 하나 있습니다. ANTHROPIC_BASE_URL이 중계 서비스나 게이트웨이처럼 Anthropic이 아닌 호스트를 가리키면 Claude Code는 tool search를 끕니다. 대부분의 프록시가 tool search에 필요한 블록을 전달하지 않기 때문입니다.
그때부터는 모든 MCP 도구 정의가 처음부터 컨텍스트에 들어가고, 설치한 서버 수가 실제로 비용이 됩니다. 프록시를 쓴다면 먼저 /context를 입력해 MCP가 얼마나 차지하는지 본 다음, 이 프로젝트에 필요 없는 서버를 끄세요.
공식 문서 원문
Tool search is enabled by default: MCP tools are deferred and discovered on demand. Claude Code disables it when ANTHROPIC_BASE_URL points to a non-first-party host, since most proxies don't forward tool_reference blocks.흔한 오해
- 한 번도 호출하지 않는 MCP 서버는 토큰이 들지 않는다
그렇지 않습니다. Codex에서는 켜져 있는 서버마다 쓰든 안 쓰든 모든 메시지에 컨텍스트를 더합니다. Claude Code는 기본적으로 도구 이름만 실어서 적기는 해도 0은 아니며, 서드파티 프록시를 거치거나 alwaysLoad를 설정하면 도구 정의를 전부 싣습니다. 안 쓰는 것은 끄세요.
- Claude Code에서는 MCP 서버가 많을수록 무조건 토큰이 더 든다
기본 설정에서는 그렇지 않습니다. Claude Code는 도구 정의 로드를 미루며, Anthropic은 MCP 서버를 더 추가해도 컨텍스트에 미치는 영향이 미미하다고 설명합니다. 실제로 비용이 드는 경우는 두 가지입니다. tool search가 꺼진 경우(프록시를 쓸 때 흔합니다)와 도구가 한 번에 많은 내용을 돌려주는 경우입니다.
- 토큰을 쓰는 것은 도구 목록이다
그것만은 아닙니다. 도구 목록은 고정 비용이고, 더 큰 쪽은 대개 도구가 돌려주는 내용입니다. 결과는 모두 대화에 남아 이후 메시지마다 다시 전송됩니다. MCP 출력 하나가 기본적으로 25,000 토큰까지 될 수 있으며, 이는 도구 정의 여러 개를 합친 것보다 큽니다.
팁
- Claude Code: /context를 입력해 MCP 도구가 컨텍스트를 얼마나 차지하는지 확인하세요.
- Claude Code: /mcp를 입력해 이 프로젝트에 필요 없는 서버를 끄세요. 필요할 때 다시 켜면 됩니다.
- Claude Code: /usage를 입력해 최근 사용량에서 MCP 서버별 비중을 확인하세요. 비중이 높은데 자주 쓰지 않는 것부터 끄세요.
- 명령줄 도구가 있는 경우(gh, aws, gcloud, sentry-cli)에는 해당 MCP 서버를 추가하지 말고 에이전트가 명령을 직접 실행하게 하세요.
- Claude Code: 도구가 매 턴마다 필요한 것이 아니라면 서버에 alwaysLoad: true를 설정하지 마세요. 설정하면 그 서버의 모든 도구가 세션 시작 때 로드됩니다.
- Claude Code: claude.ai 계정으로 로그인하면 claude.ai에서 추가한 커넥터가 Claude Code에 자동으로 나타납니다. 이 프로젝트에서 안 쓰는 것은 /mcp에서 끄고, 전부 끄려면 설정에 "disableClaudeAiConnectors": true를 적으세요.
- Codex: ~/.codex/config.toml에서 안 쓰는 서버에는 enabled = false를, 도구 몇 개만 필요한 서버에는 enabled_tools를 적으세요.
- 적게 요청하세요. 조회할 때 범위와 행 수를 제한하고, 테이블 전체나 페이지 전체를 가져오지 마세요.