Claude Code용 MCP 서버
실제로 유용한 모델 컨텍스트 프로토콜 설정과 시간을 낭비하게 만드는 함정.
MCP는 Claude Code를 코드 생성기에서 저장소를 읽고, 데이터베이스를 쿼리하고, 브라우저를 조작하고, PR을 생성할 수 있는 도구로 바꿉니다. MCP 연결 설정은 게이트웨이와 독립적입니다. 모델 호출이 어디로 전송되는지가 아니라 어떤 도구를 사용할 수 있는지를 바꿉니다.
실제로 사용할 만한 .mcp.json
{
"mcpServers": {
"filesystem": {"command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "."]},
"git": {"command": "uvx", "args": ["mcp-server-git", "--repository", "."]},
"github": {"command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"],
"env": {"GITHUB_TOKEN": "..."}},
"fetch": {"command": "uvx", "args": ["mcp-server-fetch"]},
"playwright": {"command": "npx", "args": ["-y", "@playwright/mcp@latest"]}
}
}
저장소 루트에 넣으면 Claude Code가 이를 감지하고 한 번 신뢰 승인을 요청합니다.
주의할 점
- 신뢰 승인 요청은 의도된 기능입니다. Claude Code는 프로젝트별로 사용자가 승인하기 전까지 프로젝트 MCP 서버를 로드하지 않습니다. 이는 버그가 아니라 보안 경계입니다.
- 데이터베이스 서버에는 읽기 전용 역할을 부여하세요. MCP 서버는 모델이 출력하는 SQL을 그대로 실행합니다. 읽기 전용 역할을 사용하면 모델이 환각으로 생성한
DROP실행이 물리적으로 불가능해집니다. - 토큰의 권한 범위를 좁게 설정하세요. GitHub에서는
repo그리고read:org만으로 충분합니다. 모든 권한 범위를 가진 클래식 PAT를 제공하지 마세요. - MCP 출력은 컨텍스트에 포함됩니다. 200행의 결과나 전체 페이지를 가져온 내용은 이후 매 턴마다 다시 전송됩니다. 대규모 도구 출력은 에이전트 세션 비용이 높아지는 주된 원인입니다.
filesystem, git, github부터 시작하세요. 브라우저와 데이터베이스 서버는 특정 작업에 필요할 때만 추가하세요. 로드된 서버마다 모든 요청에 스키마가 포함되어 토큰 비용이 늘어납니다.