MCP 클라이언트 — Claude Desktop · Cursor · Cline · Roo Code · Continue · VS Code · Zed
MCP 클라이언트 — 6 종 한자리에
MCP 가 표준이라면 클라이언트는 그 표준을 실제로 사용자에게 노출하는 진입점입니다. 같은 서버를 여러 클라이언트에서 동시에 쓰는 멀티클라이언트 환경이 현실입니다.
1. 클라이언트에 대한 이야기
MCP 클라이언트는 LLM 호스트이면서 동시에 MCP 서버에 1:1 로 연결되는 부분을 가집니다. 사용자 입장에서 MCP 클라이언트는 "MCP 서버를 등록하고 도구를 쓸 수 있는 앱" 으로 인식됩니다.
| 클라이언트 | 형태 | 출자 |
|---|---|---|
| Claude Desktop | 데스크탑 앱 | Anthropic. |
| Cursor | AI 우선 IDE (VS Code 기반) | Anysphere. |
| Cline | VS Code 확장 | saoudrizwan. |
| Roo Code | VS Code 확장 (Cline 의 포크) | RooVetGit / Roo Code 팀. |
| Continue | VS Code · JetBrains 확장 | Continue Dev. |
| VS Code (Copilot Chat) | 에디터 + 확장 | Microsoft. |
| Zed | 에디터 | Zed Industries. |
| Goose | 데스크탑 · CLI | Block. |
새 클라이언트가 지속적으로 등장하고 있어 위 표는 일부.
2. 설정 형식
대부분의 클라이언트가 mcpServers 키 구조를 공유합니다. 차이는 파일 위치와 추가 필드.
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "."],
"env": { "EXTRA": "1" }
},
"remote": {
"url": "https://example.com/mcp",
"headers": { "Authorization": "Bearer ..." }
}
}
}
설정 파일 위치 (시점에 따라 변할 수 있음):
| 클라이언트 | 위치 |
|---|---|
| Claude Desktop (macOS) | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Claude Desktop (Windows) | %APPDATA%\Claude\claude_desktop_config.json |
| Cursor | 프로젝트 또는 ~/.cursor/mcp.json |
| Cline / Roo Code | VS Code 설정 또는 워크스페이스 .mcp.json |
| VS Code | .vscode/mcp.json 또는 사용자 settings |
| Zed | ~/.config/zed/settings.json 의 context_servers |
3. 트랜스포트 · 권한
트랜스포트:
- STDIO — 거의 모든 클라이언트가 지원. 가장 흔한 모양.
- HTTP / Streamable HTTP — 비교적 늦게 도입됐지만 점차 표준.
도구 권한 모델:
- 자동 실행 — 일부 클라이언트는 안전한 도구의 자동 호출 허용.
- 호출별 승인 — 각 호출 시 사용자에게 묻기.
- 세션별 승인 — 처음 1 회 후 세션 동안 통과.
- 화이트리스트 — 도구·서버 이름 단위 사전 허용.
같은 서버라도 클라이언트의 권한 모델에 따라 사용자 경험이 크게 달라집니다.
4. 클라이언트별 메모
Claude Desktop — MCP 의 원형 구현 중 하나. macOS · Windows 데스크탑 앱이고 Claude 모델이 호스트 모델. 자원·도구·프롬프트의 세 primitive 를 모두.
Cursor — VS Code 포크 기반의 AI 우선 IDE. MCP 서버 등록을 프로젝트·사용자 단위로 관리, 도구·자원이 에이전트 모드의 컨텍스트로.
Cline — saoudrizwan 이 메인테이너인 VS Code 확장. 자율 코딩 에이전트로 출발해 MCP 지원이 추가. 사용자 승인 단계가 명확.
Roo Code — Cline 의 포크에서 출발한 변형 확장. 다중 모드 (Code · Architect · Debug) 와 사용자 정의 모드, MCP 서버 통합.
Continue — 오픈소스 코딩 보조 확장. VS Code · JetBrains 양쪽 지원. MCP 통합이 상대적으로 일찍 추가.
VS Code (Copilot Chat) — 2024 년 후반부터 Microsoft 가 VS Code 측에 MCP 통합. .vscode/mcp.json · 설정 동기화 · discovery 지원.
Zed — Rust 로 작성된 협업 가능 에디터. context_servers 라는 이름으로 MCP 서버 등록.
Goose — Block 이 공개한 오픈소스 에이전트 (데스크탑 · CLI). MCP 호환 클라이언트로 동작하며 다양한 모델 백엔드.
5. 멀티클라이언트
같은 filesystem 서버를 Claude Desktop · Cursor · VS Code 가 동시에 쓸 수 있습니다. 각 클라이언트가 자기 자식 프로세스를 띄우는 모양 (STDIO) 또는 같은 HTTP 엔드포인트에 별개 세션으로 연결하는 모양 (HTTP).
6. 환경 변수와 자격증명
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_..." }
}
}
}
설정 파일에 직접 키를 두면 백업·동기화 시 노출 위험. OS 키체인·시크릿 매니저 통합이 일부 클라이언트에서 제공.
7. 워크스페이스 vs 사용자 설정
- 워크스페이스 설정 — 프로젝트 별 서버. 팀 공유에 어울림.
- 사용자 설정 — 모든 프로젝트에 공통. 개인 자격증명.
- 글로벌 / 시스템 — 일부 클라이언트가 추가 계층.
같은 이름이 충돌하면 우선순위가 클라이언트마다 다릅니다. 문서의 명시 규칙을 따릅니다.
Windows 와 Unix 차이:
- Windows —
%APPDATA%·%USERPROFILE%, 백슬래시 경로. - macOS · Linux —
~, 슬래시 경로. npx등의 실행 파일이 PATH 에 없으면 STDIO 서버 기동 실패.
8. 자주 걸리는 자리
클라이언트 버전 차이 — 같은 서버가 클라이언트 A 에서는 동작, B 에서는 일부 기능 누락. SDK · 명세 버전 차이.
설정 파일 위치 변경 — 클라이언트 업데이트로 위치·키 이름이 바뀌는 경우. 릴리스 노트 확인.
JSON 주석 — mcp.json 이 표준 JSON 만 허용하는데 주석을 넣으면 파싱 실패. 일부 클라이언트가 JSONC.
권한 폭주 — 한 서버가 너무 많은 도구를 노출하면 모델이 잘못된 도구를 고릅니다. 작업별 서버 분리.
자격증명 평문 저장 — 설정 파일 백업·sync 시 키 유출. 환경 변수·시크릿 매니저.
충돌하는 서버 이름 — 같은 이름의 서버가 여러 계층 (사용자 · 워크스페이스) 에 있으면 어느 쪽이 적용되는지 헷갈림.
로그 부족 — 일부 클라이언트는 MCP 통신 로그가 기본적으로 노출되지 않습니다. 디버그 옵션 위치 확인.
하고픈 말
MCP 클라이언트는 빠르게 늘어나고 있고, 같은 서버를 여러 클라이언트에서 공유하는 멀티클라이언트 환경이 표준이 됩니다. 자격증명은 환경 변수로 분리하고, 도구 권한은 호출별 승인을 기본으로 두면 운영 사고가 줄어듭니다.
Next
- mcp-context7
- mcp-figma
MCP Quickstart · Cursor MCP · VS Code MCP · Zed Context Servers · Cline · Roo Code · Continue 를 참고합니다.