Claude Code가 내장된 Read 대신 커스텀 MCP 도구를 우선적으로 사용하게 만드는 방법은?
요약
Claude Code가 내장된 Read 도구 대신 커스텀 MCP 도구를 우선적으로 사용하도록 설정하는 방법을 다룹니다. setting.json의 PreToolUse 훅을 활용하여 도구 선택 우선순위를 제어하는 해결책을 제시합니다.
핵심 포인트
- Claude Code가 내장 도구보다 MCP 도구를 선호하지 않는 문제 해결
- setting.json의 PreToolUse 훅을 사용하여 도구 호출 제어 가능
- matcher를 통해 특정 도구(Read) 호출 시 컨텍스트 주입
- 커스텀 MCP 도구 사용을 유도하는 프롬프트 주입 방식 활용
Claude Code에 소스 파일을 읽고 이해하는 대안적인 방법을 제공하는 커스텀 MCP 서버를 등록해 두었습니다. 제 글로벌 CLAUDE.md에 다음과 같이 작성해 두었음에도 불구하고:
"소스 코드 파일을 탐색하거나 읽을 때, Read를 사용하기 전에 항상 my_custom_tool을 먼저 호출하십시오."
Claude는 거의 항상 내장된 Read 도구를 선택합니다. MCP 도구는 Claude가 사용할 때는 잘 작동합니다. 문제는 Claude가 이를 거의 선택하지 않는다는 점입니다. Claude Code가 내장 도구보다 MCP 도구를 확실하게 우선시하도록 만드는 방법이 있을까요? 아니면 이것이 도구 선택의 근본적인 한계인가요?
수정: 내장 도구를 비활성화하고 싶은 것은 아닙니다. 단지 Claude Code가 내장 도구를 사용하기 전에 제 커스텀 MCP 도구를 사용하도록 선호도를 바꾸고 싶을 뿐입니다. 내장 도구도 여전히 필요합니다.
수정 2: 글로벌 claude의 setting.json에서 PreToolUse 훅을 사용했습니다. 그리고 효과가 있는 것 같습니다. 제안해 주셔서 감사합니다.
"PreToolUse": [ { "matcher": "Read", "hooks": [ { "type": "command", "command": "echo '{\"additionalContext\": \"STOP: 소스 파일의 경우 Read 대신 <mcp> MCP 서버의 <custom_mcp_tool>을 호출해야 합니다. <custom_mcp_tool>을 이미 호출했고 편집을 위해 원본 코드가 필요하거나, <custom_mcp_tool>이 에러를 반환한 경우에만 Read를 사용하십시오.\"}'" } ] } ]
AI 자동 생성 콘텐츠
본 콘텐츠는 r/ClaudeAI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기