SpyBara
Go Premium

mcp.md 2026-07-02 23:59 UTC to 2026-07-03 23:00 UTC

44 added, 1 removed.

2026
Sat 4 03:01 Fri 3 23:00 Thu 2 23:59 Wed 1 21:01

MCP๋ฅผ ํ†ตํ•ด Claude Code๋ฅผ ๋„๊ตฌ์— ์—ฐ๊ฒฐํ•˜๊ธฐ

Model Context Protocol์„ ์‚ฌ์šฉํ•˜์—ฌ Claude Code๋ฅผ ๋„๊ตฌ์— ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ด…๋‹ˆ๋‹ค.

Claude Code๋Š” AI ๋„๊ตฌ ํ†ตํ•ฉ์„ ์œ„ํ•œ ์˜คํ”ˆ ์†Œ์Šค ํ‘œ์ค€์ธ Model Context Protocol (MCP)๋ฅผ ํ†ตํ•ด ์ˆ˜๋ฐฑ ๊ฐœ์˜ ์™ธ๋ถ€ ๋„๊ตฌ ๋ฐ ๋ฐ์ดํ„ฐ ์†Œ์Šค์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. MCP ์„œ๋ฒ„๋Š” Claude Code์— ๋„๊ตฌ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฐ API์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๋‹ค๋ฅธ ๋„๊ตฌ(์˜ˆ: ์ด์Šˆ ์ถ”์ ๊ธฐ ๋˜๋Š” ๋ชจ๋‹ˆํ„ฐ๋ง ๋Œ€์‹œ๋ณด๋“œ)์—์„œ ์ฑ„ํŒ…์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์‚ฌํ•˜๋Š” ์ž์‹ ์„ ๋ฐœ๊ฒฌํ•  ๋•Œ ์„œ๋ฒ„๋ฅผ ์—ฐ๊ฒฐํ•˜์„ธ์š”. ์—ฐ๊ฒฐ๋˜๋ฉด Claude๋Š” ๋ถ™์—ฌ๋„ฃ์€ ๋‚ด์šฉ์—์„œ ์ž‘์—…ํ•˜๋Š” ๋Œ€์‹  ํ•ด๋‹น ์‹œ์Šคํ…œ์„ ์ง์ ‘ ์ฝ๊ณ  ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฒซ ๋ฒˆ์งธ ์„œ๋ฒ„๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฒฝ์šฐ ๋‹จ๊ณ„๋ณ„ ์•ˆ๋‚ด๋ฅผ ์œ„ํ•ด MCP ๋น ๋ฅธ ์‹œ์ž‘์œผ๋กœ ์‹œ์ž‘ํ•˜์„ธ์š”. ์ด ํŽ˜์ด์ง€๋Š” ์ „์ฒด ์ฐธ๊ณ  ์ž๋ฃŒ์ž…๋‹ˆ๋‹ค.

MCP๋กœ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ

MCP ์„œ๋ฒ„๊ฐ€ ์—ฐ๊ฒฐ๋˜๋ฉด Claude Code์— ๋‹ค์Œ์„ ์š”์ฒญํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  • ์ด์Šˆ ์ถ”์ ๊ธฐ์—์„œ ๊ธฐ๋Šฅ ๊ตฌํ˜„: "JIRA ์ด์Šˆ ENG-4521์— ์„ค๋ช…๋œ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๊ณ  GitHub์—์„œ PR์„ ์ƒ์„ฑํ•˜์„ธ์š”."
  • ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ์ดํ„ฐ ๋ถ„์„: "Sentry์™€ Statsig์„ ํ™•์ธํ•˜์—ฌ ENG-4521์— ์„ค๋ช…๋œ ๊ธฐ๋Šฅ์˜ ์‚ฌ์šฉ๋Ÿ‰์„ ํ™•์ธํ•˜์„ธ์š”."
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ฟผ๋ฆฌ: "PostgreSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ธฐ๋Šฅ ENG-4521์„ ์‚ฌ์šฉํ•œ ๋ฌด์ž‘์œ„ ์‚ฌ์šฉ์ž 10๋ช…์˜ ์ด๋ฉ”์ผ์„ ์ฐพ์œผ์„ธ์š”."
  • ๋””์ž์ธ ํ†ตํ•ฉ: "Slack์— ๊ฒŒ์‹œ๋œ ์ƒˆ๋กœ์šด Figma ๋””์ž์ธ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ‘œ์ค€ ์ด๋ฉ”์ผ ํ…œํ”Œ๋ฆฟ์„ ์—…๋ฐ์ดํŠธํ•˜์„ธ์š”."
  • ์›Œํฌํ”Œ๋กœ์šฐ ์ž๋™ํ™”: "์ด 10๋ช…์˜ ์‚ฌ์šฉ์ž๋ฅผ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ํ”ผ๋“œ๋ฐฑ ์„ธ์…˜์— ์ดˆ๋Œ€ํ•˜๋Š” Gmail ์ดˆ์•ˆ์„ ์ƒ์„ฑํ•˜์„ธ์š”."
  • ์™ธ๋ถ€ ์ด๋ฒคํŠธ์— ๋ฐ˜์‘: MCP ์„œ๋ฒ„๋Š” ์ฑ„๋„๋กœ๋„ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์„ธ์…˜์— ๋ฉ”์‹œ์ง€๋ฅผ ํ‘ธ์‹œํ•˜๋ฏ€๋กœ Claude๋Š” ์ž๋ฆฌ๋ฅผ ๋น„์šด ๋™์•ˆ Telegram ๋ฉ”์‹œ์ง€, Discord ์ฑ„ํŒ… ๋˜๋Š” webhook ์ด๋ฒคํŠธ์— ๋ฐ˜์‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

MCP ์„œ๋ฒ„ ์ฐพ๊ธฐ ๋ฐ ๊ตฌ์ถ•

Anthropic Directory์—์„œ ๊ฒ€ํ† ๋œ ์ปค๋„ฅํ„ฐ๋ฅผ ์ฐพ์•„๋ณด์„ธ์š”. Directory ์ปค๋„ฅํ„ฐ๋Š” Claude Code์™€ ๋™์ผํ•œ MCP ์ธํ”„๋ผ๋ฅผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ claude mcp add๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—ฌ๊ธฐ์— ๋‚˜์—ด๋œ ๋ชจ๋“  ์›๊ฒฉ ์„œ๋ฒ„๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž์‹ ๋งŒ์˜ ์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ•˜๋ ค๋ฉด ํ”„๋กœํ† ์ฝœ ๊ธฐ๋ณธ ์‚ฌํ•ญ์— ๋Œ€ํ•œ MCP ์„œ๋ฒ„ ๊ฐ€์ด๋“œ์™€ ์ธ์ฆ, ํ…Œ์ŠคํŠธ ๋ฐ Directory ์ œ์ถœ์— ๋Œ€ํ•œ Claude ์ปค๋„ฅํ„ฐ ๊ตฌ์ถ• ๋ฌธ์„œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๊ณต์‹ mcp-server-dev ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์‚ฌ์šฉํ•˜์—ฌ Claude๊ฐ€ ์„œ๋ฒ„๋ฅผ ์Šค์บํด๋“œํ•˜๋„๋ก ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

1

ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค์น˜

Claude Code ์„ธ์…˜์—์„œ ๋‹ค์Œ์„ ์‹คํ–‰ํ•˜์„ธ์š”:

/plugin install mcp-server-dev@claude-plugins-official

Claude Code๊ฐ€ ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋‹ค๊ณ  ๋ณด๊ณ ํ•˜๋ฉด ๋จผ์ € /plugin marketplace add anthropics/claude-plugins-official์„ ์‹คํ–‰ํ•œ ๋‹ค์Œ ์„ค์น˜๋ฅผ ๋‹ค์‹œ ์‹œ๋„ํ•˜์„ธ์š”. ์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด /reload-plugins๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ํ˜„์žฌ ์„ธ์…˜์—์„œ ํ™œ์„ฑํ™”ํ•˜์„ธ์š”.

2

๋นŒ๋“œ ์Šคํ‚ฌ ์‹คํ–‰

/mcp-server-dev:build-mcp-server

Claude๊ฐ€ ์‚ฌ์šฉ ์‚ฌ๋ก€์— ๋Œ€ํ•ด ๋ฌป๊ณ  ์›๊ฒฉ HTTP ๋˜๋Š” ๋กœ์ปฌ stdio ์„œ๋ฒ„๋ฅผ ์Šค์บํด๋“œํ•ฉ๋‹ˆ๋‹ค.

MCP ์„œ๋ฒ„ ์„ค์น˜

MCP ์„œ๋ฒ„๋Š” ํ•„์š”์— ๋”ฐ๋ผ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ฐฉ์‹์œผ๋กœ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

์˜ต์…˜ 1: ์›๊ฒฉ HTTP ์„œ๋ฒ„ ์ถ”๊ฐ€

HTTP ์„œ๋ฒ„๋Š” ์›๊ฒฉ MCP ์„œ๋ฒ„์— ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๊ถŒ์žฅ ์˜ต์…˜์ž…๋‹ˆ๋‹ค. ์ด๋Š” ํด๋ผ์šฐ๋“œ ๊ธฐ๋ฐ˜ ์„œ๋น„์Šค์— ๊ฐ€์žฅ ๋„๋ฆฌ ์ง€์›๋˜๋Š” ์ „์†ก ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

# ๊ธฐ๋ณธ ๊ตฌ๋ฌธ
claude mcp add --transport http <name> <url>

# ์‹ค์ œ ์˜ˆ: Notion์— ์—ฐ๊ฒฐ
claude mcp add --transport http notion https://mcp.notion.com/mcp

# Bearer ํ† ํฐ์„ ์‚ฌ์šฉํ•œ ์˜ˆ
claude mcp add --transport http secure-api https://api.example.com/mcp \
  --header "Authorization: Bearer your-token"

.mcp.json, ~/.claude.json ๋˜๋Š” claude mcp add-json์„ ํ†ตํ•ด JSON์œผ๋กœ MCP ์„œ๋ฒ„๋ฅผ ๊ตฌ์„ฑํ•  ๋•Œ, type ํ•„๋“œ๋Š” http์˜ ๋ณ„์นญ์œผ๋กœ streamable-http๋ฅผ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. MCP ์‚ฌ์–‘์€ ์ด ์ „์†ก์— ๋Œ€ํ•ด streamable-http๋ผ๋Š” ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ์„œ๋ฒ„ ์„ค๋ช…์„œ์—์„œ ๋ณต์‚ฌํ•œ ๊ตฌ์„ฑ์ด ์ˆ˜์ • ์—†์ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

์˜ต์…˜ 2: ์›๊ฒฉ SSE ์„œ๋ฒ„ ์ถ”๊ฐ€

# ๊ธฐ๋ณธ ๊ตฌ๋ฌธ
claude mcp add --transport sse <name> <url>

# ์‹ค์ œ ์˜ˆ: Asana์— ์—ฐ๊ฒฐ
claude mcp add --transport sse asana https://mcp.asana.com/sse

# ์ธ์ฆ ํ—ค๋”๋ฅผ ์‚ฌ์šฉํ•œ ์˜ˆ
claude mcp add --transport sse private-api https://api.company.com/sse \
  --header "X-API-Key: your-key-here"

์˜ต์…˜ 3: ๋กœ์ปฌ stdio ์„œ๋ฒ„ ์ถ”๊ฐ€

Stdio ์„œ๋ฒ„๋Š” ์ปดํ“จํ„ฐ์—์„œ ๋กœ์ปฌ ํ”„๋กœ์„ธ์Šค๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์— ์ง์ ‘ ์•ก์„ธ์Šคํ•˜๊ฑฐ๋‚˜ ์‚ฌ์šฉ์ž ์ •์˜ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ํ•„์š”ํ•œ ๋„๊ตฌ์— ์ด์ƒ์ ์ž…๋‹ˆ๋‹ค.

Claude Code๋Š” ์ƒ์„ฑ๋œ ์„œ๋ฒ„์˜ ํ™˜๊ฒฝ์—์„œ CLAUDE_PROJECT_DIR์„ ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ๋กœ ์„ค์ •ํ•˜๋ฏ€๋กœ ์„œ๋ฒ„๋Š” ์ž‘์—… ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์˜์กดํ•˜์ง€ ์•Š๊ณ  ํ”„๋กœ์ ํŠธ ์ƒ๋Œ€ ๊ฒฝ๋กœ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” hooks๊ฐ€ CLAUDE_PROJECT_DIR ๋ณ€์ˆ˜์—์„œ ๋ฐ›๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•œ ๋””๋ ‰ํ„ฐ๋ฆฌ์ž…๋‹ˆ๋‹ค. ์„œ๋ฒ„ ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ ์ฝ์œผ์„ธ์š”. ์˜ˆ๋ฅผ ๋“ค์–ด Node์—์„œ๋Š” process.env.CLAUDE_PROJECT_DIR ๋˜๋Š” Python์—์„œ๋Š” os.environ["CLAUDE_PROJECT_DIR"]์ž…๋‹ˆ๋‹ค.

์„œ๋ฒ„๋Š” ๋˜ํ•œ MCP roots/list ์š”์ฒญ์„ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” Claude Code๊ฐ€ ์‹œ์ž‘๋œ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ณ€์ˆ˜๋Š” Claude Code ์ž์ฒด์˜ ํ™˜๊ฒฝ์ด ์•„๋‹Œ ์„œ๋ฒ„์˜ ํ™˜๊ฒฝ์— ์„ค์ •๋˜๋ฏ€๋กœ ํ”„๋กœ์ ํŠธ ๋˜๋Š” ์‚ฌ์šฉ์ž ๋ฒ”์œ„์˜ .mcp.json command ๋˜๋Š” args์—์„œ ${VAR} ํ™•์žฅ์„ ํ†ตํ•ด ์ฐธ์กฐํ•˜๋ ค๋ฉด ${CLAUDE_PROJECT_DIR:-.}์™€ ๊ฐ™์€ ๊ธฐ๋ณธ๊ฐ’์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ํ”Œ๋Ÿฌ๊ทธ์ธ ์ œ๊ณต MCP ๊ตฌ์„ฑ์€ ${CLAUDE_PROJECT_DIR}์„ ์ง์ ‘ ๋Œ€์ฒดํ•˜๋ฉฐ ๊ธฐ๋ณธ๊ฐ’์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

# ๊ธฐ๋ณธ ๊ตฌ๋ฌธ
claude mcp add [options] <name> -- <command> [args...]

# ์‹ค์ œ ์˜ˆ: Airtable ์„œ๋ฒ„ ์ถ”๊ฐ€
claude mcp add --env AIRTABLE_API_KEY=YOUR_KEY --transport stdio airtable \
  -- npx -y airtable-mcp-server

์˜ต์…˜ 4: ์›๊ฒฉ WebSocket ์„œ๋ฒ„ ์ถ”๊ฐ€

WebSocket ์„œ๋ฒ„๋Š” ์ง€์†์ ์ธ ์–‘๋ฐฉํ–ฅ ์—ฐ๊ฒฐ์„ ์œ ์ง€ํ•˜๋ฏ€๋กœ Claude์— ์˜ˆ๊ณ  ์—†์ด ์ด๋ฒคํŠธ๋ฅผ ํ‘ธ์‹œํ•˜๋Š” ์›๊ฒฉ MCP ์„œ๋ฒ„์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„๊ฐ€ ์š”์ฒญ์—๋งŒ ์‘๋‹ตํ•˜๋Š” ๊ฒฝ์šฐ HTTP๋ฅผ ๋Œ€์‹  ์‚ฌ์šฉํ•˜์„ธ์š”. HTTP๋Š” OAuth ๋ฐ claude mcp add --transport ํ”Œ๋ž˜๊ทธ๋ฅผ ์ง€์›ํ•˜์ง€๋งŒ WebSocket์€ ๋‘˜ ๋‹ค ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

.mcp.json ๋˜๋Š” claude mcp add-json์œผ๋กœ WebSocket ์„œ๋ฒ„๋ฅผ ๊ตฌ์„ฑํ•˜์„ธ์š”:

claude mcp add-json events-server \
  '{"type":"ws","url":"wss://mcp.example.com/socket","headers":{"Authorization":"Bearer YOUR_TOKEN"}}'

type: "ws" ํ•ญ๋ชฉ์€ http์™€ ๋™์ผํ•œ url, headers, headersHelper, timeout ๋ฐ alwaysLoad ํ•„๋“œ๋ฅผ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ธ์ฆ์€ ํ—ค๋” ์ „์šฉ์ด๋ฏ€๋กœ headers์— ์ •์  ํ† ํฐ์„ ์ „๋‹ฌํ•˜๊ฑฐ๋‚˜ headersHelper๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—ฐ๊ฒฐ ์‹œ ํ† ํฐ์„ ์ƒ์„ฑํ•˜์„ธ์š”. claude mcp add --transport ํ”Œ๋ž˜๊ทธ๋Š” ws๋ฅผ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์„œ๋ฒ„ ๊ด€๋ฆฌ

๊ตฌ์„ฑํ•œ ํ›„์—๋Š” ๋‹ค์Œ ๋ช…๋ น์œผ๋กœ MCP ์„œ๋ฒ„๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

# ๊ตฌ์„ฑ๋œ ๋ชจ๋“  ์„œ๋ฒ„ ๋‚˜์—ด
claude mcp list

# ํŠน์ • ์„œ๋ฒ„์˜ ์„ธ๋ถ€ ์ •๋ณด ๊ฐ€์ ธ์˜ค๊ธฐ
claude mcp get github

# ์„œ๋ฒ„ ์ œ๊ฑฐ
claude mcp remove github

# (Claude Code ๋‚ด์—์„œ) ์„œ๋ฒ„ ์ƒํƒœ ํ™•์ธ
/mcp

.mcp.json์˜ ํ”„๋กœ์ ํŠธ ๋ฒ”์œ„ ์„œ๋ฒ„ ์ค‘ ์Šน์ธ์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์„œ๋ฒ„๋Š” claude mcp list์— โธ ์Šน์ธ ๋Œ€๊ธฐ ์ค‘์œผ๋กœ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. claude๋ฅผ ๋Œ€ํ™”ํ˜•์œผ๋กœ ์‹คํ–‰ํ•˜์—ฌ ๊ฒ€ํ† ํ•˜๊ณ  ์Šน์ธํ•˜์„ธ์š”. claude mcp get <name>์€ ๋ณด๋ฅ˜ ์ค‘์ธ ์„œ๋ฒ„๋ฅผ โธ ์Šน์ธ ๋Œ€๊ธฐ ์ค‘์œผ๋กœ ํ‘œ์‹œํ•˜๊ณ  ๊ฑฐ๋ถ€๋œ ์„œ๋ฒ„๋ฅผ โœ— ๊ฑฐ๋ถ€๋จ์œผ๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

v2.1.196๋ถ€ํ„ฐ claude mcp list ๋ฐ claude mcp get์€ .mcp.json ์Šน์ธ์„ claude๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์ž‘์—… ์˜์—ญ ์‹ ๋ขฐ ๋Œ€ํ™” ์ƒ์ž๋ฅผ ์ˆ˜๋ฝํ•˜์—ฌ ์ž‘์—… ์˜์—ญ์„ ์‹ ๋ขฐํ•  ๋•Œ๊นŒ์ง€ ์ €์žฅ์†Œ์— ์ฒดํฌ์ธ๋˜์ง€ ์•Š์€ ์„ค์ • ํŒŒ์ผ์—์„œ๋งŒ ์ฝ์Šต๋‹ˆ๋‹ค. ๋ณต์ œ๋œ ์ €์žฅ์†Œ๋Š” ์ž์‹ ์˜ ์„œ๋ฒ„๋ฅผ ์Šน์ธํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค: ํ”„๋กœ์ ํŠธ์˜ .claude/settings.json์— ์ปค๋ฐ‹๋œ enableAllProjectMcpServers ๋˜๋Š” enabledMcpjsonServers๋Š” ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” ํด๋”์—์„œ ๋ฌด์‹œ๋˜๋ฉฐ, ์„œ๋ฒ„๋Š” ์—ฐ๊ฒฐ๋˜๊ณ  ์ƒํƒœ ํ™•์ธ๋˜๋Š” ๋Œ€์‹  โธ ์Šน์ธ ๋Œ€๊ธฐ ์ค‘์œผ๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ์†Œ์Šค์˜ ์Šน์ธ์€ ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” ํด๋”์—์„œ๋„ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค:

  • ์‚ฌ์šฉ์ž ~/.claude/settings.json
  • ๊ด€๋ฆฌ๋˜๋Š” ์„ค์ •
  • --settings๋กœ ์ „๋‹ฌ๋œ ์„ค์ •
  • .claude/settings.local.json (git์ด ์ถ”์ ํ•˜์ง€ ์•Š๋Š” ํ•œ)

๋ชจ๋“  ์„ค์ • ํŒŒ์ผ์˜ disabledMcpjsonServers ํ•ญ๋ชฉ์€ ์—ฌ์ „ํžˆ ์„œ๋ฒ„๋ฅผ ๊ฑฐ๋ถ€ํ•ฉ๋‹ˆ๋‹ค.

/mcp ํŒจ๋„์€ ๊ฐ ์—ฐ๊ฒฐ๋œ ์„œ๋ฒ„ ์˜†์— ๋„๊ตฌ ๊ฐœ์ˆ˜๋ฅผ ํ‘œ์‹œํ•˜๊ณ  ๋„๊ตฌ ๊ธฐ๋Šฅ์„ ๊ด‘๊ณ ํ•˜์ง€๋งŒ ๋„๊ตฌ๋ฅผ ๋…ธ์ถœํ•˜์ง€ ์•Š๋Š” ์„œ๋ฒ„์— ํ”Œ๋ž˜๊ทธ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

์š”์ฒญ์ด ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์•„์ง ์—ฐ๊ฒฐ ์ค‘์ธ ์„œ๋ฒ„์˜ ๋„๊ตฌ๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ Claude๋Š” ํ•ด๋‹น ์„œ๋ฒ„๊ฐ€ ์—ฐ๊ฒฐ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค. ๋„๊ตฌ ๊ฒ€์ƒ‰์ด ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์œผ๋ฉด (๊ธฐ๋ณธ๊ฐ’), ๋Œ€๊ธฐ๋Š” ToolSearch ํ˜ธ์ถœ ๋‚ด์—์„œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. Vertex AI, ์‚ฌ์šฉ์ž ์ •์˜ ANTHROPIC_BASE_URL ๋˜๋Š” ENABLE_TOOL_SEARCH=false์™€ ๊ฐ™์ด ๋„๊ตฌ ๊ฒ€์ƒ‰์ด ์—†๋Š” ๊ตฌ์„ฑ์—์„œ๋Š” Claude๊ฐ€ ๋Œ€์‹  WaitForMcpServers ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์„œ๋ฒ„ ์ด๋ฆ„ workspace๋Š” ๋‚ด๋ถ€ ์‚ฌ์šฉ์„ ์œ„ํ•ด ์˜ˆ์•ฝ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ตฌ์„ฑ์—์„œ ํ•ด๋‹น ์ด๋ฆ„์˜ ์„œ๋ฒ„๋ฅผ ์ •์˜ํ•˜๋ฉด Claude Code๋Š” ๋กœ๋“œ ์‹œ ์ด๋ฅผ ๊ฑด๋„ˆ๋›ฐ๊ณ  ์ด๋ฆ„์„ ๋ฐ”๊พธ๋„๋ก ์š”์ฒญํ•˜๋Š” ๊ฒฝ๊ณ ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

๋™์  ๋„๊ตฌ ์—…๋ฐ์ดํŠธ

Claude Code๋Š” MCP list_changed ์•Œ๋ฆผ์„ ์ง€์›ํ•˜๋ฏ€๋กœ MCP ์„œ๋ฒ„๊ฐ€ ์—ฐ๊ฒฐ์„ ๋Š์—ˆ๋‹ค๊ฐ€ ๋‹ค์‹œ ์—ฐ๊ฒฐํ•  ํ•„์š” ์—†์ด ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋„๊ตฌ, ํ”„๋กฌํ”„ํŠธ ๋ฐ ๋ฆฌ์†Œ์Šค๋ฅผ ๋™์ ์œผ๋กœ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. MCP ์„œ๋ฒ„๊ฐ€ list_changed ์•Œ๋ฆผ์„ ๋ณด๋‚ด๋ฉด Claude Code๋Š” ํ•ด๋‹น ์„œ๋ฒ„์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ธฐ๋Šฅ์„ ์ž๋™์œผ๋กœ ์ƒˆ๋กœ ๊ณ ์นฉ๋‹ˆ๋‹ค.

์ž๋™ ์žฌ์—ฐ๊ฒฐ

HTTP ๋˜๋Š” SSE ์„œ๋ฒ„๊ฐ€ ์„ธ์…˜ ์ค‘์— ์—ฐ๊ฒฐ์ด ๋Š์–ด์ง€๋ฉด Claude Code๋Š” ์ง€์ˆ˜ ๋ฐฑ์˜คํ”„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž๋™์œผ๋กœ ์žฌ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค: ์ตœ๋Œ€ 5๋ฒˆ์˜ ์‹œ๋„, 1์ดˆ ์ง€์—ฐ์œผ๋กœ ์‹œ์ž‘ํ•˜์—ฌ ๋งค๋ฒˆ ๋‘ ๋ฐฐ์”ฉ ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„๋Š” ์žฌ์—ฐ๊ฒฐ์ด ์ง„ํ–‰ ์ค‘์ธ ๋™์•ˆ /mcp์—์„œ ๋ณด๋ฅ˜ ์ค‘์œผ๋กœ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. 5๋ฒˆ์˜ ์‹คํŒจ ์‹œ๋„ ํ›„ ์„œ๋ฒ„๋Š” ์‹คํŒจ๋กœ ํ‘œ์‹œ๋˜๋ฉฐ /mcp์—์„œ ์ˆ˜๋™์œผ๋กœ ๋‹ค์‹œ ์‹œ๋„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Stdio ์„œ๋ฒ„๋Š” ๋กœ์ปฌ ํ”„๋กœ์„ธ์Šค์ด๋ฉฐ ์ž๋™์œผ๋กœ ์žฌ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

HTTP ๋˜๋Š” SSE ์„œ๋ฒ„๊ฐ€ ์‹œ์ž‘ ์‹œ ์ดˆ๊ธฐ ์—ฐ๊ฒฐ์— ์‹คํŒจํ•  ๋•Œ๋„ ๋™์ผํ•œ ๋ฐฑ์˜คํ”„๊ฐ€ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. v2.1.121๋ถ€ํ„ฐ Claude Code๋Š” 5xx ์‘๋‹ต, ์—ฐ๊ฒฐ ๊ฑฐ๋ถ€ ๋˜๋Š” ์‹œ๊ฐ„ ์ดˆ๊ณผ์™€ ๊ฐ™์€ ์ผ์‹œ์  ์˜ค๋ฅ˜์— ๋Œ€ํ•ด ์ดˆ๊ธฐ ์—ฐ๊ฒฐ์„ ์ตœ๋Œ€ 3๋ฒˆ ์žฌ์‹œ๋„ํ•œ ํ›„, ์—ฌ์ „ํžˆ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์—†์œผ๋ฉด ์„œ๋ฒ„๋ฅผ ์‹คํŒจ๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์ธ์ฆ ๋ฐ ์ฐพ์„ ์ˆ˜ ์—†์Œ ์˜ค๋ฅ˜๋Š” ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๊ตฌ์„ฑ ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•˜๋ฏ€๋กœ ์žฌ์‹œ๋„๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

v2.1.191๋ถ€ํ„ฐ ์„ฑ๊ณต์ ์ธ ์—ฐ๊ฒฐ ํ›„ ์‹คํ–‰๋˜๋Š” ๊ธฐ๋Šฅ ๊ฒ€์ƒ‰ ์š”์ฒญ(์˜ˆ: tools/list, prompts/list, resources/list)๋„ ์ผ์‹œ์  ๋„คํŠธ์›Œํฌ ๋ฐ ์„œ๋ฒ„ ์˜ค๋ฅ˜๋ฅผ ์งง์€ ๋ฐฑ์˜คํ”„๋กœ ์ตœ๋Œ€ 3๋ฒˆ ์žฌ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค. ์ธ์ฆ ์˜ค๋ฅ˜, 4xx ์‘๋‹ต ๋ฐ ์š”์ฒญ ์‹œ๊ฐ„ ์ดˆ๊ณผ๋Š” ์žฌ์‹œ๋„๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ฑ„๋„์„ ์‚ฌ์šฉํ•œ ๋ฉ”์‹œ์ง€ ํ‘ธ์‹œ

MCP ์„œ๋ฒ„๋Š” ๋˜ํ•œ ๋ฉ”์‹œ์ง€๋ฅผ ์„ธ์…˜์— ์ง์ ‘ ํ‘ธ์‹œํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ Claude๋Š” CI ๊ฒฐ๊ณผ, ๋ชจ๋‹ˆํ„ฐ๋ง ๊ฒฝ๊ณ  ๋˜๋Š” ์ฑ„ํŒ… ๋ฉ”์‹œ์ง€์™€ ๊ฐ™์€ ์™ธ๋ถ€ ์ด๋ฒคํŠธ์— ๋ฐ˜์‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด ์„œ๋ฒ„๊ฐ€ claude/channel ๊ธฐ๋Šฅ์„ ์„ ์–ธํ•˜๊ณ  ์‹œ์ž‘ ์‹œ --channels ํ”Œ๋ž˜๊ทธ๋กœ ์˜ตํŠธ์ธํ•ฉ๋‹ˆ๋‹ค. ๊ณต์‹์ ์œผ๋กœ ์ง€์›๋˜๋Š” ์ฑ„๋„์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์ฑ„๋„์„ ์ฐธ์กฐํ•˜๊ฑฐ๋‚˜, ์ž์‹ ๋งŒ์˜ ์ฑ„๋„์„ ๊ตฌ์ถ•ํ•˜๋ ค๋ฉด ์ฑ„๋„ ์ฐธ์กฐ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์„œ๋ฒ„๋‹น timeout์€ ๋„๊ตฌ ํ˜ธ์ถœ๋‹น ํ•˜๋“œ ์›”ํด๋ก ์ œํ•œ์ด๋ฉฐ, ์„œ๋ฒ„์˜ ์ง„ํ–‰ ์•Œ๋ฆผ์€ ์ด๋ฅผ ์—ฐ์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. 1000 ๋ฏธ๋งŒ์˜ ๊ฐ’์€ ๋ฌด์‹œ๋˜๊ณ  MCP_TOOL_TIMEOUT์œผ๋กœ ๋„˜์–ด๊ฐ€๊ฑฐ๋‚˜, ํ•ด๋‹น ๋ณ€์ˆ˜๊ฐ€ ์„ค์ •๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ์•ฝ 28์‹œ๊ฐ„์˜ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ๋„˜์–ด๊ฐ‘๋‹ˆ๋‹ค. {/* min-version: 2.1.162 */}v2.1.162 ์ด์ „์—๋Š” 1000 ๋ฏธ๋งŒ์˜ ๊ฐ’์ด 1์ดˆ๋กœ ๋‚ด๋ฆผ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

HTTP ๋ฐ SSE ์„œ๋ฒ„์˜ ๊ฒฝ์šฐ, ์š”์ฒญ๋‹น fetch ์ฒซ ๋ฐ”์ดํŠธ ์˜ˆ์‚ฐ์€ 60์ดˆ ์ตœ์†Œ๊ฐ’์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค.

v2.1.187๋ถ€ํ„ฐ ์›๊ฒฉ HTTP, SSE, WebSocket ๋˜๋Š” claude.ai ์ปค๋„ฅํ„ฐ ์„œ๋ฒ„์— ๋Œ€ํ•œ ๋„๊ตฌ ํ˜ธ์ถœ์ด 5๋ถ„ ๋™์•ˆ ์‘๋‹ต ๋ฐ ์ง„ํ–‰ ์•Œ๋ฆผ์„ ๋ณด๋‚ด์ง€ ์•Š์œผ๋ฉด ์›”ํด๋ก ์ œํ•œ์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๋Œ€์‹  ์˜ค๋ฅ˜๋กœ ์ค‘๋‹จ๋ฉ๋‹ˆ๋‹ค. CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ๋ฐ€๋ฆฌ์ดˆ ๋‹จ์œ„๋กœ ์„ค์ •ํ•˜์—ฌ ์œ ํœด ์œˆ๋„์šฐ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜, 0์œผ๋กœ ์„ค์ •ํ•˜์—ฌ ํ™•์ธ์„ ๋น„ํ™œ์„ฑํ™”ํ•˜์„ธ์š”. Stdio ์„œ๋ฒ„๋Š” ๋กœ์ปฌ ํ”„๋กœ์„ธ์Šค์ด๋ฉฐ ์œ ํœด ์‹œ๊ฐ„ ์ดˆ๊ณผ์˜ ๋Œ€์ƒ์ด ์•„๋‹™๋‹ˆ๋‹ค.

ํ”Œ๋Ÿฌ๊ทธ์ธ ์ œ๊ณต MCP ์„œ๋ฒ„

ํ”Œ๋Ÿฌ๊ทธ์ธ์€ MCP ์„œ๋ฒ„๋ฅผ ๋ฒˆ๋“ค๋กœ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ํ™œ์„ฑํ™”๋˜๋ฉด ๋„๊ตฌ ๋ฐ ํ†ตํ•ฉ์„ ์ž๋™์œผ๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ํ”Œ๋Ÿฌ๊ทธ์ธ MCP ์„œ๋ฒ„๋Š” ์‚ฌ์šฉ์ž ๊ตฌ์„ฑ ์„œ๋ฒ„์™€ ๋™์ผํ•˜๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

ํ”Œ๋Ÿฌ๊ทธ์ธ MCP ์„œ๋ฒ„์˜ ์ž‘๋™ ๋ฐฉ์‹:

  • ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ฃจํŠธ์˜ .mcp.json ๋˜๋Š” plugin.json์— ์ธ๋ผ์ธ์œผ๋กœ MCP ์„œ๋ฒ„๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค
  • ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ํ™œ์„ฑํ™”๋˜๋ฉด MCP ์„œ๋ฒ„๊ฐ€ ์ž๋™์œผ๋กœ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค
  • ํ”Œ๋Ÿฌ๊ทธ์ธ MCP ๋„๊ตฌ๋Š” ์ˆ˜๋™์œผ๋กœ ๊ตฌ์„ฑ๋œ MCP ๋„๊ตฌ์™€ ํ•จ๊ป˜ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค
  • ํ”Œ๋Ÿฌ๊ทธ์ธ ์„œ๋ฒ„๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค์น˜๋ฅผ ํ†ตํ•ด ๊ด€๋ฆฌ๋ฉ๋‹ˆ๋‹ค (/mcp ๋ช…๋ น์ด ์•„๋‹˜)

ํ”Œ๋Ÿฌ๊ทธ์ธ MCP ๊ตฌ์„ฑ ์˜ˆ:

ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ฃจํŠธ์˜ .mcp.json:

{
  "mcpServers": {
    "database-tools": {
      "command": "${CLAUDE_PLUGIN_ROOT}/servers/db-server",
      "args": ["--config", "${CLAUDE_PLUGIN_ROOT}/config.json"],
      "env": {
        "DB_URL": "${DB_URL}"
      }
    }
  }
}

๋˜๋Š” plugin.json์— ์ธ๋ผ์ธ:

{
  "name": "my-plugin",
  "mcpServers": {
    "plugin-api": {
      "command": "${CLAUDE_PLUGIN_ROOT}/servers/api-server",
      "args": ["--port", "8080"]
    }
  }
}

ํ”Œ๋Ÿฌ๊ทธ์ธ MCP ๊ธฐ๋Šฅ:

  • ์ž๋™ ๋ผ์ดํ”„์‚ฌ์ดํด: ์„ธ์…˜ ์‹œ์ž‘ ์‹œ ํ™œ์„ฑํ™”๋œ ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ ์„œ๋ฒ„๊ฐ€ ์ž๋™์œผ๋กœ ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค. ์„ธ์…˜ ์ค‘์— ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ํ™œ์„ฑํ™”ํ•˜๊ฑฐ๋‚˜ ๋น„ํ™œ์„ฑํ™”ํ•˜๋ฉด /reload-plugins๋ฅผ ์‹คํ–‰ํ•˜์—ฌ MCP ์„œ๋ฒ„๋ฅผ ์—ฐ๊ฒฐํ•˜๊ฑฐ๋‚˜ ์—ฐ๊ฒฐ ํ•ด์ œํ•ฉ๋‹ˆ๋‹ค
  • ํ™˜๊ฒฝ ๋ณ€์ˆ˜: ๋ฒˆ๋“ค๋œ ํ”Œ๋Ÿฌ๊ทธ์ธ ํŒŒ์ผ์— ${CLAUDE_PLUGIN_ROOT} ์‚ฌ์šฉ, ํ”Œ๋Ÿฌ๊ทธ์ธ ์—…๋ฐ์ดํŠธ๋ฅผ ์œ ์ง€ํ•˜๋Š” ์ง€์†์ ์ธ ์ƒํƒœ์— ${CLAUDE_PLUGIN_DATA} ์‚ฌ์šฉ, ๊ทธ๋ฆฌ๊ณ  ์•ˆ์ •์ ์ธ ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ์— ${CLAUDE_PROJECT_DIR} ์‚ฌ์šฉ
  • ์‚ฌ์šฉ์ž ํ™˜๊ฒฝ ์•ก์„ธ์Šค: ์ˆ˜๋™์œผ๋กœ ๊ตฌ์„ฑ๋œ ์„œ๋ฒ„์™€ ๋™์ผํ•œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜์— ์•ก์„ธ์Šค
  • ์—ฌ๋Ÿฌ ์ „์†ก ์œ ํ˜•: stdio, SSE, HTTP ๋ฐ WebSocket ์ „์†ก ์ง€์› (์ „์†ก ์ง€์›์€ ์„œ๋ฒ„์— ๋”ฐ๋ผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Œ)

ํ”Œ๋Ÿฌ๊ทธ์ธ MCP ์„œ๋ฒ„ ๋ณด๊ธฐ:

# Claude Code ๋‚ด์—์„œ ํ”Œ๋Ÿฌ๊ทธ์ธ ์„œ๋ฒ„๋ฅผ ํฌํ•จํ•œ ๋ชจ๋“  MCP ์„œ๋ฒ„ ๋ณด๊ธฐ
/mcp

ํ”Œ๋Ÿฌ๊ทธ์ธ ์„œ๋ฒ„๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์—์„œ ์˜จ ๊ฒƒ์„ ๋‚˜ํƒ€๋‚ด๋Š” ํ‘œ์‹œ๊ธฐ์™€ ํ•จ๊ป˜ ๋ชฉ๋ก์— ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

ํ”Œ๋Ÿฌ๊ทธ์ธ MCP ๋„๊ตฌ ์ด๋ฆ„:

ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ฒˆ๋“ค MCP ์„œ๋ฒ„์˜ ๋„๊ตฌ๋Š” ํ˜ธ์ถœ ๊ฐ€๋Šฅํ•œ ์ด๋ฆ„์— ํ”Œ๋Ÿฌ๊ทธ์ธ ์ด๋ฆ„๊ณผ ์„œ๋ฒ„ ํ‚ค๋ฅผ ๋ชจ๋‘ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์ „์ฒด ํ˜•์‹์€ mcp__plugin_<plugin-name>_<server-name>__<tool-name>์ด๋ฉฐ, A-Z, a-z, 0-9, _, - ์™ธ์˜ ๋ชจ๋“  ๋ฌธ์ž๋Š” _๋กœ ๋ฐ”๋€๋‹ˆ๋‹ค. my-plugin์ด๋ผ๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์— ๋ฒˆ๋“ค๋œ database-tools ์„œ๋ฒ„์˜ ๊ฒฝ์šฐ, query ๋„๊ตฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

mcp__plugin_my-plugin_database-tools__query

๊ถŒํ•œ ๊ทœ์น™์—์„œ ๋„๊ตฌ๋ฅผ ์ฐธ์กฐํ•  ๋•Œ, ์Šคํ‚ฌ์˜ allowed-tools ๋ชฉ๋ก์—์„œ, ๋˜๋Š” ์„œ๋ธŒ์—์ด์ „ํŠธ์˜ tools ํ•„๋“œ์—์„œ ์ด ์ „์ฒด ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜์„ธ์š”.

ํ”Œ๋Ÿฌ๊ทธ์ธ MCP ์„œ๋ฒ„์˜ ์ด์ :

  • ๋ฒˆ๋“ค ๋ฐฐํฌ: ๋„๊ตฌ ๋ฐ ์„œ๋ฒ„๊ฐ€ ํ•จ๊ป˜ ํŒจํ‚ค์ง•๋จ
  • ์ž๋™ ์„ค์ •: ์ˆ˜๋™ MCP ๊ตฌ์„ฑ์ด ํ•„์š” ์—†์Œ
  • ํŒ€ ์ผ๊ด€์„ฑ: ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์„ค์น˜๋˜๋ฉด ๋ชจ๋“  ์‚ฌ๋žŒ์ด ๋™์ผํ•œ ๋„๊ตฌ๋ฅผ ์–ป์Œ

ํ”Œ๋Ÿฌ๊ทธ์ธ๊ณผ ํ•จ๊ป˜ MCP ์„œ๋ฒ„๋ฅผ ๋ฒˆ๋“ค๋กœ ์ œ๊ณตํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ํ”Œ๋Ÿฌ๊ทธ์ธ ๊ตฌ์„ฑ ์š”์†Œ ์ฐธ์กฐ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

MCP ์„ค์น˜ ๋ฒ”์œ„

MCP ์„œ๋ฒ„๋Š” ์„ธ ๊ฐ€์ง€ ๋ฒ”์œ„์—์„œ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„ ํƒํ•œ ๋ฒ”์œ„๋Š” ์„œ๋ฒ„๊ฐ€ ๋กœ๋“œ๋˜๋Š” ํ”„๋กœ์ ํŠธ์™€ ๊ตฌ์„ฑ์ด ํŒ€๊ณผ ๊ณต์œ ๋˜๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค. ๊ด€๋ฆฌ์ž๋Š” ๊ด€๋ฆฌํ˜• ๊ตฌ์„ฑ์„ ํ†ตํ•ด ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์ˆ˜์ค€์—์„œ ์„œ๋ฒ„๋ฅผ ๋ฐฐํฌํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฒ”์œ„ ๋กœ๋“œ ์œ„์น˜ ํŒ€๊ณผ ๊ณต์œ  ์ €์žฅ ์œ„์น˜
๋กœ์ปฌ ํ˜„์žฌ ํ”„๋กœ์ ํŠธ๋งŒ ์•„๋‹ˆ์˜ค ~/.claude.json
ํ”„๋กœ์ ํŠธ ํ˜„์žฌ ํ”„๋กœ์ ํŠธ๋งŒ ์˜ˆ, ๋ฒ„์ „ ์ œ์–ด๋ฅผ ํ†ตํ•ด ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ์˜ .mcp.json
์‚ฌ์šฉ์ž ๋ชจ๋“  ํ”„๋กœ์ ํŠธ ์•„๋‹ˆ์˜ค ~/.claude.json

๋กœ์ปฌ ๋ฒ”์œ„

๋กœ์ปฌ ๋ฒ”์œ„๋Š” ๊ธฐ๋ณธ๊ฐ’์ž…๋‹ˆ๋‹ค. ๋กœ์ปฌ ๋ฒ”์œ„ ์„œ๋ฒ„๋Š” ์ถ”๊ฐ€ํ•œ ํ”„๋กœ์ ํŠธ์—์„œ๋งŒ ๋กœ๋“œ๋˜๋ฉฐ ์‚ฌ์šฉ์ž์—๊ฒŒ๋งŒ ๋น„๊ณต๊ฐœ์ž…๋‹ˆ๋‹ค. Claude Code๋Š” ํ•ด๋‹น ํ”„๋กœ์ ํŠธ์˜ ๊ฒฝ๋กœ ์•„๋ž˜ ~/.claude.json์— ์ €์žฅํ•˜๋ฏ€๋กœ ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ์—๋Š” ๋™์ผํ•œ ์„œ๋ฒ„๊ฐ€ ๋‚˜ํƒ€๋‚˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฐœ์ธ ๊ฐœ๋ฐœ ์„œ๋ฒ„, ์‹คํ—˜์  ๊ตฌ์„ฑ ๋˜๋Š” ๋ฒ„์ „ ์ œ์–ด์— ํฌํ•จํ•˜๊ณ  ์‹ถ์ง€ ์•Š์€ ์ž๊ฒฉ ์ฆ๋ช…์ด ์žˆ๋Š” ์„œ๋ฒ„์— ๋กœ์ปฌ ๋ฒ”์œ„๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

# ๋กœ์ปฌ ๋ฒ”์œ„ ์„œ๋ฒ„ ์ถ”๊ฐ€ (๊ธฐ๋ณธ๊ฐ’)
claude mcp add --transport http stripe https://mcp.stripe.com

# ๋ช…์‹œ์ ์œผ๋กœ ๋กœ์ปฌ ๋ฒ”์œ„ ์ง€์ •
claude mcp add --transport http stripe --scope local https://mcp.stripe.com

/path/to/your/project์—์„œ ์‹คํ–‰ํ•  ๋•Œ ๋ช…๋ น์€ ~/.claude.json ๋‚ด์˜ ํ˜„์žฌ ํ”„๋กœ์ ํŠธ ํ•ญ๋ชฉ์— ์„œ๋ฒ„๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜ ์˜ˆ๋Š” ๊ฒฐ๊ณผ๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค:

{
  "projects": {
    "/path/to/your/project": {
      "mcpServers": {
        "stripe": {
          "type": "http",
          "url": "https://mcp.stripe.com"
        }
      }
    }
  }
}

ํ”„๋กœ์ ํŠธ ๋ฒ”์œ„

ํ”„๋กœ์ ํŠธ ๋ฒ”์œ„ ์„œ๋ฒ„๋Š” ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ์˜ .mcp.json ํŒŒ์ผ์— ๊ตฌ์„ฑ์„ ์ €์žฅํ•˜์—ฌ ํŒ€ ํ˜‘์—…์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ์ด ํŒŒ์ผ์€ ๋ฒ„์ „ ์ œ์–ด์— ์ฒดํฌ์ธ๋˜๋„๋ก ์„ค๊ณ„๋˜์–ด ๋ชจ๋“  ํŒ€ ๋ฉค๋ฒ„๊ฐ€ ๋™์ผํ•œ MCP ๋„๊ตฌ ๋ฐ ์„œ๋น„์Šค์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ๋ฒ”์œ„ ์„œ๋ฒ„๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด Claude Code๋Š” ์ž๋™์œผ๋กœ ์ด ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ์ ์ ˆํ•œ ๊ตฌ์„ฑ ๊ตฌ์กฐ๋กœ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.

# ํ”„๋กœ์ ํŠธ ๋ฒ”์œ„ ์„œ๋ฒ„ ์ถ”๊ฐ€
claude mcp add --transport http paypal --scope project https://mcp.paypal.com/mcp

๊ฒฐ๊ณผ .mcp.json ํŒŒ์ผ์€ ํ‘œ์ค€ํ™”๋œ ํ˜•์‹์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค:

{
  "mcpServers": {
    "shared-server": {
      "command": "/path/to/server",
      "args": [],
      "env": {}
    }
  }
}

๋ณด์•ˆ์ƒ์˜ ์ด์œ ๋กœ Claude Code๋Š” .mcp.json ํŒŒ์ผ์˜ ํ”„๋กœ์ ํŠธ ๋ฒ”์œ„ ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์ „์— ์Šน์ธ์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์Šน์ธ ์„ ํƒ์„ ์žฌ์„ค์ •ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ claude mcp reset-project-choices ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์„ธ์š”.

์‚ฌ์šฉ์ž ๋ฒ”์œ„

์‚ฌ์šฉ์ž ๋ฒ”์œ„ ์„œ๋ฒ„๋Š” ~/.claude.json์— ์ €์žฅ๋˜๋ฉฐ ๊ต์ฐจ ํ”„๋กœ์ ํŠธ ์ ‘๊ทผ์„ฑ์„ ์ œ๊ณตํ•˜๋ฏ€๋กœ ์ปดํ“จํ„ฐ์˜ ๋ชจ๋“  ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉด์„œ ์‚ฌ์šฉ์ž ๊ณ„์ •์—๋งŒ ๋น„๊ณต๊ฐœ์ž…๋‹ˆ๋‹ค. ์ด ๋ฒ”์œ„๋Š” ๊ฐœ์ธ ์œ ํ‹ธ๋ฆฌํ‹ฐ ์„œ๋ฒ„, ๊ฐœ๋ฐœ ๋„๊ตฌ ๋˜๋Š” ๋‹ค์–‘ํ•œ ํ”„๋กœ์ ํŠธ์—์„œ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ์„œ๋น„์Šค์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

# ์‚ฌ์šฉ์ž ์„œ๋ฒ„ ์ถ”๊ฐ€
claude mcp add --transport http hubspot --scope user https://mcp.hubspot.com/anthropic

๋ฒ”์œ„ ๊ณ„์ธต ๋ฐ ์šฐ์„ ์ˆœ์œ„

๋™์ผํ•œ ์„œ๋ฒ„๊ฐ€ ๋‘˜ ์ด์ƒ์˜ ์œ„์น˜์— ์ •์˜๋˜๋ฉด Claude Code๋Š” ๊ฐ€์žฅ ๋†’์€ ์šฐ์„ ์ˆœ์œ„ ์†Œ์Šค์˜ ์ •์˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•œ ๋ฒˆ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ์†Œ์Šค์˜ ์ „์ฒด ์„œ๋ฒ„ ํ•ญ๋ชฉ์ด ์‚ฌ์šฉ๋˜๋ฉฐ, ํ•„๋“œ๋Š” ๋ฒ”์œ„ ๊ฐ„์— ๋ณ‘ํ•ฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  1. ๋กœ์ปฌ ๋ฒ”์œ„
  2. ํ”„๋กœ์ ํŠธ ๋ฒ”์œ„
  3. ์‚ฌ์šฉ์ž ๋ฒ”์œ„
  4. ํ”Œ๋Ÿฌ๊ทธ์ธ ์ œ๊ณต ์„œ๋ฒ„
  5. Claude.ai ์ปค๋„ฅํ„ฐ

์„ธ ๋ฒ”์œ„๋Š” ์ด๋ฆ„์œผ๋กœ ์ค‘๋ณต์„ ์ผ์น˜์‹œํ‚ต๋‹ˆ๋‹ค. ํ”Œ๋Ÿฌ๊ทธ์ธ๊ณผ ์ปค๋„ฅํ„ฐ๋Š” ์—”๋“œํฌ์ธํŠธ๋กœ ์ผ์น˜ํ•˜๋ฏ€๋กœ ์œ„์˜ ์„œ๋ฒ„์™€ ๋™์ผํ•œ URL ๋˜๋Š” ๋ช…๋ น์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฒƒ์€ ์ค‘๋ณต์œผ๋กœ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค.

`.mcp.json`์˜ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ํ™•์žฅ

Claude Code๋Š” .mcp.json ํŒŒ์ผ์˜ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ํ™•์žฅ์„ ์ง€์›ํ•˜๋ฏ€๋กœ ํŒ€์ด ๊ตฌ์„ฑ์„ ๊ณต์œ ํ•˜๋ฉด์„œ ๋จธ์‹  ํŠน์ • ๊ฒฝ๋กœ ๋ฐ API ํ‚ค์™€ ๊ฐ™์€ ๋ฏผ๊ฐํ•œ ๊ฐ’์— ๋Œ€ํ•œ ์œ ์—ฐ์„ฑ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ง€์›๋˜๋Š” ๊ตฌ๋ฌธ:

  • ${VAR} - ํ™˜๊ฒฝ ๋ณ€์ˆ˜ VAR์˜ ๊ฐ’์œผ๋กœ ํ™•์žฅ
  • ${VAR:-default} - VAR์ด ์„ค์ •๋˜๋ฉด ํ™•์žฅ, ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด default ์‚ฌ์šฉ

ํ™•์žฅ ์œ„์น˜: ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋Š” ๋‹ค์Œ์—์„œ ํ™•์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  • command - ์„œ๋ฒ„ ์‹คํ–‰ ํŒŒ์ผ ๊ฒฝ๋กœ
  • args - ๋ช…๋ น์ค„ ์ธ์ˆ˜
  • env - ์„œ๋ฒ„์— ์ „๋‹ฌ๋˜๋Š” ํ™˜๊ฒฝ ๋ณ€์ˆ˜
  • url - HTTP ์„œ๋ฒ„ ์œ ํ˜•์˜ ๊ฒฝ์šฐ
  • headers - HTTP ์„œ๋ฒ„ ์ธ์ฆ์˜ ๊ฒฝ์šฐ

๋ณ€์ˆ˜ ํ™•์žฅ์„ ์‚ฌ์šฉํ•œ ์˜ˆ:

{
  "mcpServers": {
    "api-server": {
      "type": "http",
      "url": "${API_BASE_URL:-https://api.example.com}/mcp",
      "headers": {
        "Authorization": "Bearer ${API_KEY}"
      }
    }
  }
}

ํ•„์ˆ˜ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๊ฐ€ ์„ค์ •๋˜์ง€ ์•Š์•˜๊ณ  ๊ธฐ๋ณธ๊ฐ’์ด ์—†์œผ๋ฉด Claude Code๋Š” ๊ตฌ์„ฑ์„ ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค.

์‹ค์ œ ์˜ˆ

์˜ˆ: Sentry๋กœ ์˜ค๋ฅ˜ ๋ชจ๋‹ˆํ„ฐ๋ง

claude mcp add --transport http sentry https://mcp.sentry.dev/mcp

Sentry ๊ณ„์ •์œผ๋กœ ์ธ์ฆํ•ฉ๋‹ˆ๋‹ค:

/mcp

๊ทธ๋Ÿฐ ๋‹ค์Œ ํ”„๋กœ๋•์…˜ ๋ฌธ์ œ๋ฅผ ๋””๋ฒ„๊น…ํ•ฉ๋‹ˆ๋‹ค:

์ง€๋‚œ 24์‹œ๊ฐ„ ๋™์•ˆ ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?
์˜ค๋ฅ˜ ID abc123์˜ ์Šคํƒ ์ถ”์ ์„ ๋ณด์—ฌ์ฃผ์„ธ์š”
์–ด๋–ค ๋ฐฐํฌ๊ฐ€ ์ด๋Ÿฌํ•œ ์ƒˆ๋กœ์šด ์˜ค๋ฅ˜๋ฅผ ๋„์ž…ํ–ˆ์Šต๋‹ˆ๊นŒ?

์˜ˆ: ์ฝ”๋“œ ๊ฒ€ํ† ๋ฅผ ์œ„ํ•ด GitHub์— ์—ฐ๊ฒฐ

GitHub์˜ ์›๊ฒฉ MCP ์„œ๋ฒ„๋Š” ํ—ค๋”๋กœ ์ „๋‹ฌ๋œ GitHub ๊ฐœ์ธ ์•ก์„ธ์Šค ํ† ํฐ์œผ๋กœ ์ธ์ฆํ•ฉ๋‹ˆ๋‹ค. ํ•˜๋‚˜๋ฅผ ์–ป์œผ๋ ค๋ฉด GitHub ํ† ํฐ ์„ค์ •์„ ์—ด๊ณ , Claude๊ฐ€ ์ž‘์—…ํ•˜๋ ค๋Š” ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ์ƒˆ๋กœ์šด ์„ธ๋ถ„ํ™”๋œ ํ† ํฐ์„ ์ƒ์„ฑํ•œ ๋‹ค์Œ ์„œ๋ฒ„๋ฅผ ์ถ”๊ฐ€ํ•˜์„ธ์š”:

claude mcp add --transport http github https://api.githubcopilot.com/mcp/ \
  --header "Authorization: Bearer YOUR_GITHUB_PAT"

๊ทธ๋Ÿฐ ๋‹ค์Œ GitHub๋กœ ์ž‘์—…ํ•ฉ๋‹ˆ๋‹ค:

PR #456์„ ๊ฒ€ํ† ํ•˜๊ณ  ๊ฐœ์„  ์‚ฌํ•ญ์„ ์ œ์•ˆํ•˜์„ธ์š”
๋ฐฉ๊ธˆ ๋ฐœ๊ฒฌํ•œ ๋ฒ„๊ทธ์— ๋Œ€ํ•œ ์ƒˆ ์ด์Šˆ๋ฅผ ์ƒ์„ฑํ•˜์„ธ์š”
๋‚˜์—๊ฒŒ ํ• ๋‹น๋œ ๋ชจ๋“  ์—ด๋ฆฐ PR์„ ๋ณด์—ฌ์ฃผ์„ธ์š”

์˜ˆ: PostgreSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ฟผ๋ฆฌ

claude mcp add --transport stdio db -- npx -y @bytebase/dbhub \
  --dsn "postgresql://readonly:pass@prod.db.com:5432/analytics"

๊ทธ๋Ÿฐ ๋‹ค์Œ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ฟผ๋ฆฌํ•ฉ๋‹ˆ๋‹ค:

์ด๋ฒˆ ๋‹ฌ ์ด ์ˆ˜์ต์€ ์–ผ๋งˆ์ž…๋‹ˆ๊นŒ?
์ฃผ๋ฌธ ํ…Œ์ด๋ธ”์˜ ์Šคํ‚ค๋งˆ๋ฅผ ๋ณด์—ฌ์ฃผ์„ธ์š”
์ง€๋‚œ 90์ผ ๋™์•ˆ ๊ตฌ๋งคํ•˜์ง€ ์•Š์€ ๊ณ ๊ฐ์„ ์ฐพ์œผ์„ธ์š”

์›๊ฒฉ MCP ์„œ๋ฒ„๋กœ ์ธ์ฆ

๋งŽ์€ ํด๋ผ์šฐ๋“œ ๊ธฐ๋ฐ˜ MCP ์„œ๋ฒ„๋Š” ์ธ์ฆ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. Claude Code๋Š” ๋ณด์•ˆ ์—ฐ๊ฒฐ์„ ์œ„ํ•ด OAuth 2.0์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

Claude Code๋Š” ์„œ๋ฒ„๊ฐ€ 401 Unauthorized ๋˜๋Š” 403 Forbidden์œผ๋กœ ์‘๋‹ตํ•  ๋•Œ ์›๊ฒฉ ์„œ๋ฒ„๋ฅผ ์ธ์ฆ์ด ํ•„์š”ํ•œ ๊ฒƒ์œผ๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ๋‘ ์ƒํƒœ ์ฝ”๋“œ ๋ชจ๋‘ ์„œ๋ฒ„๋ฅผ /mcp์— ํ”Œ๋ž˜๊ทธํ•˜์—ฌ OAuth ํ๋ฆ„์„ ์™„๋ฃŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

v2.1.195๋ถ€ํ„ฐ ํ† ํฐ ์ƒˆ๋กœ ๊ณ ์นจ์ด ์„œ๋ฒ„๊ฐ€ ์ €์žฅ๋œ ์ƒˆ๋กœ ๊ณ ์นจ ํ† ํฐ์„ ๊ฑฐ๋ถ€ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹คํŒจํ•˜๋ฉด Claude Code๋Š” ์ฆ‰์‹œ /mcp๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์•Œ๋ฆผ์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์—ฐ๊ฒฐ๋œ ์„œ๋ฒ„์˜ ๋ฉ”๋‰ด์—์„œ ๋‹ค์‹œ ์ธ์ฆํ•˜๊ธฐ๋ฅผ ์ œ๊ณตํ•˜๋ฏ€๋กœ ๋‹ค์Œ ๋„๊ตฌ ํ˜ธ์ถœ์ด ์‹คํŒจํ•˜๊ธฐ ์ „์— ๋‹ค์‹œ ๋กœ๊ทธ์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ธ์ฆ ์„œ๋ฒ„๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” WWW-Authenticate ํ—ค๋”๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ์‚ฌ์šฉ์ž ์ •์˜ ์„œ๋ฒ„๋Š” ๋‹ค๋ฅธ ์›๊ฒฉ ์„œ๋ฒ„์™€ ๋™์ผํ•œ ์ž๋™ ๊ฒ€์ƒ‰์„ ๋ฐ›์Šต๋‹ˆ๋‹ค.

v2.1.193๋ถ€ํ„ฐ Claude Code๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ ๊ตฌ์„ฑ๋œ ์„œ๋ฒ„๊ฐ€ ์ธ์ฆ์ด ํ•„์š”ํ•  ๋•Œ ์‹œ์ž‘ ์•Œ๋ฆผ์„ ํ‘œ์‹œํ•˜๋ฏ€๋กœ ์–ด๋–ค ์„œ๋ฒ„๊ฐ€ ๋กœ๊ทธ์ธ์ด ํ•„์š”ํ•œ์ง€ ์•Œ์•„๋‚ด๊ธฐ ์œ„ํ•ด /mcp๋ฅผ ์—ด ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๋น„๋Œ€ํ™”ํ˜• ๋ชจ๋“œ์—๋Š” /mcp ํŒจ๋„์ด ์—†์œผ๋ฏ€๋กœ Claude Code๋Š” OAuth ํ๋ฆ„์„ ์‹คํ–‰ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. v2.1.196๋ถ€ํ„ฐ ๊ตฌ์„ฑ๋œ ์„œ๋ฒ„๊ฐ€ claude -p ๋˜๋Š” ๋„๊ตฌ ๊ฒ€์ƒ‰์ด ํ™œ์„ฑํ™”๋œ Agent SDK ์‹คํ–‰ ์ค‘์— ์ธ์ฆ์ด ํ•„์š”ํ•  ๋•Œ (๊ธฐ๋ณธ๊ฐ’), Claude Code๋Š” Claude์—๊ฒŒ ์„œ๋ฒ„์˜ ๋„๊ตฌ๊ฐ€ ์ธ์ฆํ•  ๋•Œ๊นŒ์ง€ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Œ์„ ์•Œ๋ฆฝ๋‹ˆ๋‹ค. Claude๋Š” ์„œ๋ฒ„๊ฐ€ ๊ตฌ์„ฑ๋˜์ง€ ์•Š์€ ๊ฒƒ์ฒ˜๋Ÿผ ์‘๋‹ตํ•˜๋Š” ๋Œ€์‹  ๋กœ๊ทธ์ธ์ด ํ•„์š”ํ•œ ์„œ๋ฒ„์˜ ์ด๋ฆ„์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. /mcp๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€ํ™”ํ˜• ์„ธ์…˜์—์„œ ๋˜๋Š” claude mcp login <name>์œผ๋กœ ๋กœ๊ทธ์ธ์„ ์™„๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

์„œ๋ฒ„์— ๋Œ€ํ•ด headers.Authorization์„ ๊ตฌ์„ฑํ–ˆ๋Š”๋ฐ ์„œ๋ฒ„๊ฐ€ ํ•ด๋‹น ํ—ค๋”๋ฅผ ๊ฑฐ๋ถ€ํ•˜๋ฉด Claude Code๋Š” OAuth๋กœ ํด๋ฐฑํ•˜์ง€ ์•Š๊ณ  ์—ฐ๊ฒฐ์ด ์‹คํŒจํ•œ ๊ฒƒ์œผ๋กœ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค. MCP ์—”๋“œํฌ์ธํŠธ์— ๋Œ€ํ•ด ํ† ํฐ์ด ์œ ํšจํ•œ์ง€ ํ™•์ธํ•˜๊ฑฐ๋‚˜ OAuth ํ๋ฆ„์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ํ—ค๋”๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.

1

์ธ์ฆ์ด ํ•„์š”ํ•œ ์„œ๋ฒ„ ์ถ”๊ฐ€

์˜ˆ๋ฅผ ๋“ค์–ด:

claude mcp add --transport http sentry https://mcp.sentry.dev/mcp
2

Claude Code ๋‚ด์—์„œ /mcp ๋ช…๋ น ์‚ฌ์šฉ

Claude Code์—์„œ ๋‹ค์Œ ๋ช…๋ น์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค:

/mcp

๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋กœ๊ทธ์ธ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

๋ช…๋ น์ค„์—์„œ ์ธ์ฆ

v2.1.186๋ถ€ํ„ฐ claude mcp login <name>์€ ๊ตฌ์„ฑ๋œ ์„œ๋ฒ„์˜ OAuth ํ๋ฆ„์„ ์…ธ์—์„œ ์ง์ ‘ ์‹คํ–‰ํ•˜๋ฏ€๋กœ ์„ธ์…˜ ๋‚ด์—์„œ /mcp ํŒจ๋„์„ ์—ด ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

claude mcp login sentry

๋‚˜์ค‘์— ์ €์žฅ๋œ ์ž๊ฒฉ ์ฆ๋ช…์„ ์ง€์šฐ๋ ค๋ฉด claude mcp logout <name>์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

v2.1.191๋ถ€ํ„ฐ ๋ช…๋ น์€ SSH ์„ธ์…˜ ์ค‘์ด๊ฑฐ๋‚˜ ๋””์Šคํ”Œ๋ ˆ์ด ์„œ๋ฒ„๊ฐ€ ์—†๋Š” Linux์™€ ๊ฐ™์ด ๋กœ์ปฌ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ๋ฅผ ๊ฐ์ง€ํ•˜๊ณ  ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์—ด๋ ค๊ณ  ์‹œ๋„ํ•˜๋Š” ๋Œ€์‹  ์ธ์ฆ URL์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. ๋กœ์ปฌ ๋จธ์‹ ์—์„œ URL์„ ์—ด๊ณ  ๋ธŒ๋ผ์šฐ์ €์˜ ์ฃผ์†Œ ํ‘œ์‹œ์ค„์—์„œ ์ „์ฒด ๋ฆฌ๋””๋ ‰์…˜ URL์„ ํ”„๋กฌํ”„ํŠธ์— ๋‹ค์‹œ ๋ถ™์—ฌ๋„ฃ์Šต๋‹ˆ๋‹ค. ๋ช…๋ น์€ ๋ถ™์—ฌ๋„ฃ๊ธฐ ๋‹จ๊ณ„๋ฅผ ์œ„ํ•ด ๋Œ€ํ™”ํ˜• ํ„ฐ๋ฏธ๋„์ด ํ•„์š”ํ•˜๋ฏ€๋กœ ssh -t๋กœ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ๋กœ์ปฌ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๊ฐ์ง€๋˜์—ˆ์„ ๋•Œ๋„ URL ํ”„๋กฌํ”„ํŠธ๋ฅผ ๊ฐ•์ œํ•˜๋ ค๋ฉด --no-browser๋ฅผ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

claude mcp login sentry --no-browser

๊ณ ์ • OAuth ์ฝœ๋ฐฑ ํฌํŠธ ์‚ฌ์šฉ

์ผ๋ถ€ MCP ์„œ๋ฒ„๋Š” ๋ฏธ๋ฆฌ ๋“ฑ๋ก๋œ ํŠน์ • ๋ฆฌ๋””๋ ‰์…˜ URI๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ Claude Code๋Š” OAuth ์ฝœ๋ฐฑ์„ ์œ„ํ•ด ๋ฌด์ž‘์œ„๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํฌํŠธ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. --callback-port๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํฌํŠธ๋ฅผ ๊ณ ์ •ํ•˜์—ฌ http://localhost:PORT/callback ํ˜•์‹์˜ ์‚ฌ์ „ ๋“ฑ๋ก๋œ ๋ฆฌ๋””๋ ‰์…˜ URI์™€ ์ผ์น˜ํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

--callback-port๋ฅผ ๋‹จ๋…์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (๋™์  ํด๋ผ์ด์–ธํŠธ ๋“ฑ๋ก ํฌํ•จ) ๋˜๋Š” --client-id์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (์‚ฌ์ „ ๊ตฌ์„ฑ๋œ ์ž๊ฒฉ ์ฆ๋ช… ํฌํ•จ).

# ๋™์  ํด๋ผ์ด์–ธํŠธ ๋“ฑ๋ก์„ ์‚ฌ์šฉํ•œ ๊ณ ์ • ์ฝœ๋ฐฑ ํฌํŠธ
claude mcp add --transport http \
  --callback-port 8080 \
  my-server https://mcp.example.com/mcp

์‚ฌ์ „ ๊ตฌ์„ฑ๋œ OAuth ์ž๊ฒฉ ์ฆ๋ช… ์‚ฌ์šฉ

์ผ๋ถ€ MCP ์„œ๋ฒ„๋Š” ๋™์  ํด๋ผ์ด์–ธํŠธ ๋“ฑ๋ก์„ ํ†ตํ•œ ์ž๋™ OAuth ์„ค์ •์„ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. "Incompatible auth server: does not support dynamic client registration"๊ณผ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ํ‘œ์‹œ๋˜๋ฉด ์„œ๋ฒ„์— ์‚ฌ์ „ ๊ตฌ์„ฑ๋œ ์ž๊ฒฉ ์ฆ๋ช…์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. Claude Code๋Š” ๋˜ํ•œ ๋™์  ํด๋ผ์ด์–ธํŠธ ๋“ฑ๋ก ๋Œ€์‹  ํด๋ผ์ด์–ธํŠธ ID ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๋ฌธ์„œ (CIMD)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์„œ๋ฒ„๋ฅผ ์ง€์›ํ•˜๋ฉฐ ์ž๋™์œผ๋กœ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. ์ž๋™ ๊ฒ€์ƒ‰์ด ์‹คํŒจํ•˜๋ฉด ๋จผ์ € ์„œ๋ฒ„์˜ ๊ฐœ๋ฐœ์ž ํฌํ„ธ์„ ํ†ตํ•ด OAuth ์•ฑ์„ ๋“ฑ๋กํ•œ ๋‹ค์Œ ์„œ๋ฒ„๋ฅผ ์ถ”๊ฐ€ํ•  ๋•Œ ์ž๊ฒฉ ์ฆ๋ช…์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

1

์„œ๋ฒ„๋กœ OAuth ์•ฑ ๋“ฑ๋ก

์„œ๋ฒ„์˜ ๊ฐœ๋ฐœ์ž ํฌํ„ธ์„ ํ†ตํ•ด ์•ฑ์„ ์ƒ์„ฑํ•˜๊ณ  ํด๋ผ์ด์–ธํŠธ ID์™€ ํด๋ผ์ด์–ธํŠธ ์‹œํฌ๋ฆฟ์„ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.

๋งŽ์€ ์„œ๋ฒ„๋Š” ๋ฆฌ๋””๋ ‰์…˜ URI๋„ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ํฌํŠธ๋ฅผ ์„ ํƒํ•˜๊ณ  http://localhost:PORT/callback ํ˜•์‹์œผ๋กœ ๋ฆฌ๋””๋ ‰์…˜ URI๋ฅผ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ๋‹จ๊ณ„์—์„œ --callback-port์™€ ํ•จ๊ป˜ ๋™์ผํ•œ ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

2

์ž๊ฒฉ ์ฆ๋ช…์œผ๋กœ ์„œ๋ฒ„ ์ถ”๊ฐ€

๋‹ค์Œ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. --callback-port์— ์‚ฌ์šฉ๋˜๋Š” ํฌํŠธ๋Š” ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ํฌํŠธ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ „ ๋‹จ๊ณ„์—์„œ ๋“ฑ๋กํ•œ ๋ฆฌ๋””๋ ‰์…˜ URI์™€ ์ผ์น˜ํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

--client-id๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•ฑ์˜ ํด๋ผ์ด์–ธํŠธ ID๋ฅผ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. --client-secret ํ”Œ๋ž˜๊ทธ๋Š” ๋งˆ์Šคํ‚น๋œ ์ž…๋ ฅ์œผ๋กœ ์‹œํฌ๋ฆฟ์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค:

claude mcp add --transport http \
--client-id your-client-id --client-secret --callback-port 8080 \
my-server https://mcp.example.com/mcp
3

Claude Code์—์„œ ์ธ์ฆ

Claude Code์—์„œ /mcp๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ๋ธŒ๋ผ์šฐ์ € ๋กœ๊ทธ์ธ ํ๋ฆ„์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

OAuth ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰ ์žฌ์ •์˜

ํŠน์ • OAuth ์ธ์ฆ ์„œ๋ฒ„ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ URL์„ ๊ฐ€๋ฆฌ์ผœ ๊ธฐ๋ณธ ๊ฒ€์ƒ‰ ์ฒด์ธ์„ ์šฐํšŒํ•˜๋„๋ก Claude Code๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. MCP ์„œ๋ฒ„์˜ ํ‘œ์ค€ ์—”๋“œํฌ์ธํŠธ๊ฐ€ ์˜ค๋ฅ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ฑฐ๋‚˜ ๋‚ด๋ถ€ ํ”„๋ก์‹œ๋ฅผ ํ†ตํ•ด ๊ฒ€์ƒ‰์„ ๋ผ์šฐํŒ…ํ•˜๋ ค๋Š” ๊ฒฝ์šฐ์— authServerMetadataUrl์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ Claude Code๋Š” ๋จผ์ € /.well-known/oauth-protected-resource์—์„œ RFC 9728 ๋ณดํ˜ธ๋œ ๋ฆฌ์†Œ์Šค ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ํ™•์ธํ•œ ๋‹ค์Œ /.well-known/oauth-authorization-server์—์„œ RFC 8414 ์ธ์ฆ ์„œ๋ฒ„ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋กœ ๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค.

.mcp.json์˜ ์„œ๋ฒ„ ๊ตฌ์„ฑ์˜ oauth ๊ฐ์ฒด์— authServerMetadataUrl์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค:

{
  "mcpServers": {
    "my-server": {
      "type": "http",
      "url": "https://mcp.example.com/mcp",
      "oauth": {
        "authServerMetadataUrl": "https://auth.example.com/.well-known/openid-configuration"
      }
    }
  }
}

URL์€ https://๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. authServerMetadataUrl์€ Claude Code v2.1.64 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ URL์˜ scopes_supported๋Š” ์—…์ŠคํŠธ๋ฆผ ์„œ๋ฒ„๊ฐ€ ๊ด‘๊ณ ํ•˜๋Š” ๋ฒ”์œ„๋ฅผ ์žฌ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

OAuth ๋ฒ”์œ„ ์ œํ•œ

oauth.scopes๋ฅผ ์„ค์ •ํ•˜์—ฌ ์ธ์ฆ ํ๋ฆ„ ์ค‘์— Claude Code๊ฐ€ ์š”์ฒญํ•˜๋Š” ๋ฒ”์œ„๋ฅผ ๊ณ ์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์—…์ŠคํŠธ๋ฆผ ์ธ์ฆ ์„œ๋ฒ„๊ฐ€ ๊ด‘๊ณ ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ๋งŽ์€ ๋ฒ”์œ„๋ฅผ ๋ถ€์—ฌํ•˜๊ณ  ์‹ถ์ง€ ์•Š์„ ๋•Œ MCP ์„œ๋ฒ„๋ฅผ ๋ณด์•ˆ ํŒ€์ด ์Šน์ธํ•œ ๋ถ€๋ถ„ ์ง‘ํ•ฉ์œผ๋กœ ์ œํ•œํ•˜๋Š” ์ง€์›๋˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ๊ฐ’์€ RFC 6749 ยง3.3์˜ scope ๋งค๊ฐœ๋ณ€์ˆ˜ ํ˜•์‹๊ณผ ์ผ์น˜ํ•˜๋Š” ๋‹จ์ผ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋œ ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค.

{
  "mcpServers": {
    "slack": {
      "type": "http",
      "url": "https://mcp.slack.com/mcp",
      "oauth": {
        "scopes": "channels:read chat:write search:read"
      }
    }
  }
}

oauth.scopes๋Š” authServerMetadataUrl๊ณผ ์„œ๋ฒ„๊ฐ€ /.well-known์—์„œ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฒ”์œ„ ๋ชจ๋‘๋ณด๋‹ค ์šฐ์„ ํ•ฉ๋‹ˆ๋‹ค. ์„ค์ •ํ•˜์ง€ ์•Š์œผ๋ฉด MCP ์„œ๋ฒ„๊ฐ€ ์š”์ฒญ๋œ ๋ฒ”์œ„ ์ง‘ํ•ฉ์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

v2.1.196๋ถ€ํ„ฐ oauth.scopes๊ฐ€ ์„ค์ •๋˜์ง€ ์•Š์œผ๋ฉด Claude Code๋Š” ์„œ๋ฒ„์˜ WWW-Authenticate ํ—ค๋” ๋˜๋Š” ๋ณดํ˜ธ๋œ ๋ฆฌ์†Œ์Šค ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์—์„œ ์ œ๊ณตํ•˜๋Š” ๋ฒ”์œ„๋ฅผ ์š”์ฒญํ•˜๊ณ  ๋‘˜ ๋‹ค ์ œ๊ณตํ•˜์ง€ ์•Š์„ ๋•Œ scope ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋ณด๋‚ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋” ์ด์ƒ ์ž๋™์œผ๋กœ ๊ฒ€์ƒ‰๋œ ์ธ์ฆ ์„œ๋ฒ„ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์—์„œ ์ „์ฒด scopes_supported ์นดํƒˆ๋กœ๊ทธ๋ฅผ ์š”์ฒญํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ์นดํƒˆ๋กœ๊ทธ๋ฅผ ์š”์ฒญํ•˜๋ฉด ๊ด€๋ฆฌ์ž ์ „์šฉ ๋˜๋Š” ํ…œํ”Œ๋ฆฟ ๋ฒ”์œ„๋ฅผ ๊ด‘๊ณ ํ•˜๋Š” ID ๊ณต๊ธ‰์ž๊ฐ€ invalid_scope ์˜ค๋ฅ˜๋กœ ์ธ์ฆ ์š”์ฒญ์„ ๊ฑฐ๋ถ€ํ•˜๊ฒŒ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ตฌ์„ฑ๋œ authServerMetadataUrl์—์„œ ๊ฐ€์ ธ์˜จ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋Š” ์—ฌ์ „ํžˆ scopes_supported๋ฅผ ์š”์ฒญ๋œ ๋ฒ”์œ„๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ธ์ฆ ์„œ๋ฒ„๊ฐ€ scopes_supported์—์„œ offline_access๋ฅผ ๊ด‘๊ณ ํ•˜๋ฉด Claude Code๋Š” ์•ก์„ธ์Šค ํ† ํฐ์„ ์ƒˆ๋กœ์šด ๋ธŒ๋ผ์šฐ์ € ๋กœ๊ทธ์ธ ์—†์ด ์ƒˆ๋กœ ๊ณ ์น  ์ˆ˜ ์žˆ๋„๋ก ๊ณ ์ •๋œ ๋ฒ”์œ„์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

์„œ๋ฒ„๊ฐ€ ๋‚˜์ค‘์— ๋„๊ตฌ ํ˜ธ์ถœ์— ๋Œ€ํ•ด 403 insufficient_scope์„ ๋ฐ˜ํ™˜ํ•˜๋ฉด Claude Code๋Š” ๋™์ผํ•œ ๊ณ ์ •๋œ ๋ฒ”์œ„๋กœ ๋‹ค์‹œ ์ธ์ฆํ•ฉ๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ๋„๊ตฌ๊ฐ€ ๊ณ ์ •๋œ ๋ฒ”์œ„ ์™ธ์˜ ๋ฒ”์œ„๋ฅผ ์š”๊ตฌํ•  ๋•Œ oauth.scopes๋ฅผ ํ™•๋Œ€ํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž ์ •์˜ ์ธ์ฆ์„ ์œ„ํ•œ ๋™์  ํ—ค๋” ์‚ฌ์šฉ

MCP ์„œ๋ฒ„๊ฐ€ OAuth (์˜ˆ: Kerberos, ๋‹จ๊ธฐ ํ† ํฐ ๋˜๋Š” ๋‚ด๋ถ€ SSO)๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ์ธ์ฆ ์ฒด๊ณ„๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ headersHelper๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—ฐ๊ฒฐ ์‹œ๊ฐ„์— ์š”์ฒญ ํ—ค๋”๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. Claude Code๋Š” ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ณ  ์ถœ๋ ฅ์„ ์—ฐ๊ฒฐ ํ—ค๋”์— ๋ณ‘ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

{
  "mcpServers": {
    "internal-api": {
      "type": "http",
      "url": "https://mcp.internal.example.com",
      "headersHelper": "/opt/bin/get-mcp-auth-headers.sh"
    }
  }
}

๋ช…๋ น์€ ์ธ๋ผ์ธ์ผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค:

{
  "mcpServers": {
    "internal-api": {
      "type": "http",
      "url": "https://mcp.internal.example.com",
      "headersHelper": "echo '{\"Authorization\": \"Bearer '\"$(get-token)\"'\"}'"
    }
  }
}

์š”๊ตฌ ์‚ฌํ•ญ:

  • ๋ช…๋ น์€ JSON ๊ฐ์ฒด์˜ ๋ฌธ์ž์—ด ํ‚ค-๊ฐ’ ์Œ์„ stdout์— ์ž‘์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค
  • ๋ช…๋ น์€ 10์ดˆ ์‹œ๊ฐ„ ์ดˆ๊ณผ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์…ธ์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค
  • ๋™์  ํ—ค๋”๋Š” ๋™์ผํ•œ ์ด๋ฆ„์˜ ์ •์  headers๋ฅผ ์žฌ์ •์˜ํ•ฉ๋‹ˆ๋‹ค

ํ—ฌํผ๋Š” ๊ฐ ์—ฐ๊ฒฐ (์„ธ์…˜ ์‹œ์ž‘ ๋ฐ ์žฌ์—ฐ๊ฒฐ ์‹œ)์—์„œ ์ƒˆ๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์บ์‹ฑ์ด ์—†์œผ๋ฏ€๋กœ ์Šคํฌ๋ฆฝํŠธ๋Š” ํ† ํฐ ์žฌ์‚ฌ์šฉ์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค.

v2.1.193๋ถ€ํ„ฐ ๋„๊ตฌ ํ˜ธ์ถœ์ด 401 Unauthorized ๋˜๋Š” 403 Forbidden์„ ๋ฐ˜ํ™˜ํ•˜๋ฉด Claude Code๋Š” ์ž๋™์œผ๋กœ ํ—ฌํผ๋ฅผ ๋‹ค์‹œ ์‹คํ–‰ํ•˜๊ณ  ์ƒˆ๋กœ์šด ํ—ค๋”๋กœ ์žฌ์—ฐ๊ฒฐํ•œ ๋‹ค์Œ ํ˜ธ์ถœ์„ ํ•œ ๋ฒˆ ์žฌ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค. Claude Code๋Š” ํ•ด๋‹น ์žฌ์‹œ๋„๋„ ์‹คํŒจํ•œ ๊ฒฝ์šฐ์—๋งŒ ์„œ๋ฒ„๋ฅผ /mcp์—์„œ ์ธ์ฆ์ด ํ•„์š”ํ•œ ๊ฒƒ์œผ๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

Claude Code๋Š” ํ—ฌํผ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ๋‹ค์Œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค:

๋ณ€์ˆ˜ ๊ฐ’
CLAUDE_CODE_MCP_SERVER_NAME MCP ์„œ๋ฒ„์˜ ์ด๋ฆ„
CLAUDE_CODE_MCP_SERVER_URL MCP ์„œ๋ฒ„์˜ URL
CLAUDE_PLUGIN_ROOT ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ. ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์„œ๋ฒ„๋ฅผ ์ œ๊ณตํ•  ๋•Œ๋งŒ ์„ค์ •๋ฉ๋‹ˆ๋‹ค

์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ MCP ์„œ๋ฒ„๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋‹จ์ผ ํ—ฌํผ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

ํ”Œ๋Ÿฌ๊ทธ์ธ ์ œ๊ณต ์„œ๋ฒ„์˜ ๊ฒฝ์šฐ ํ—ฌํผ๋Š” ๋˜ํ•œ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ฃจํŠธ๋กœ ์„ค์ •๋œ ์ƒํƒœ์—์„œ ์‹คํ–‰๋˜๋ฏ€๋กœ ์ƒ๋Œ€ headersHelper ๊ฒฝ๋กœ๋Š” ์„ธ์…˜์˜ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์•„๋‹Œ ํ”Œ๋Ÿฌ๊ทธ์ธ ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด์—์„œ ํ™•์ธ๋ฉ๋‹ˆ๋‹ค. Claude Code v2.1.195 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

JSON ๊ตฌ์„ฑ์—์„œ MCP ์„œ๋ฒ„ ์ถ”๊ฐ€

MCP ์„œ๋ฒ„์— ๋Œ€ํ•œ JSON ๊ตฌ์„ฑ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ์ง์ ‘ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

1

JSON์—์„œ MCP ์„œ๋ฒ„ ์ถ”๊ฐ€

# ๊ธฐ๋ณธ ๊ตฌ๋ฌธ
claude mcp add-json <name> '<json>'

# ์˜ˆ: JSON ๊ตฌ์„ฑ์œผ๋กœ HTTP ์„œ๋ฒ„ ์ถ”๊ฐ€
claude mcp add-json weather-api '{"type":"http","url":"https://api.weather.com/mcp","headers":{"Authorization":"Bearer token"}}'

# ์˜ˆ: JSON ๊ตฌ์„ฑ์œผ๋กœ stdio ์„œ๋ฒ„ ์ถ”๊ฐ€
claude mcp add-json local-weather '{"type":"stdio","command":"/path/to/weather-cli","args":["--api-key","abc123"],"env":{"CACHE_DIR":"/tmp"}}'

# ์˜ˆ: ์‚ฌ์ „ ๊ตฌ์„ฑ๋œ OAuth ์ž๊ฒฉ ์ฆ๋ช…์œผ๋กœ HTTP ์„œ๋ฒ„ ์ถ”๊ฐ€
claude mcp add-json my-server '{"type":"http","url":"https://mcp.example.com/mcp","oauth":{"clientId":"your-client-id","callbackPort":8080}}' --client-secret
2

์„œ๋ฒ„๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ๋Š”์ง€ ํ™•์ธ

claude mcp get weather-api

Claude Desktop์—์„œ MCP ์„œ๋ฒ„ ๊ฐ€์ ธ์˜ค๊ธฐ

Claude Desktop์—์„œ MCP ์„œ๋ฒ„๋ฅผ ์ด๋ฏธ ๊ตฌ์„ฑํ•œ ๊ฒฝ์šฐ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

1

Claude Desktop์—์„œ ์„œ๋ฒ„ ๊ฐ€์ ธ์˜ค๊ธฐ

# ๊ธฐ๋ณธ ๊ตฌ๋ฌธ 
claude mcp add-from-claude-desktop 
2

๊ฐ€์ ธ์˜ฌ ์„œ๋ฒ„ ์„ ํƒ

๋ช…๋ น์„ ์‹คํ–‰ํ•œ ํ›„ ๊ฐ€์ ธ์˜ฌ ์„œ๋ฒ„๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€ํ™”ํ˜• ๋Œ€ํ™” ์ƒ์ž๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

3

์„œ๋ฒ„๊ฐ€ ๊ฐ€์ ธ์™€์กŒ๋Š”์ง€ ํ™•์ธ

claude mcp list 

Claude.ai์—์„œ MCP ์„œ๋ฒ„ ์‚ฌ์šฉ

Claude.ai ๊ณ„์ •์œผ๋กœ Claude Code์— ๋กœ๊ทธ์ธํ•œ ๊ฒฝ์šฐ Claude.ai์—์„œ ์ถ”๊ฐ€ํ•œ MCP ์„œ๋ฒ„๋Š” Claude Code์—์„œ ์ž๋™์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค:

1

Claude.ai์—์„œ MCP ์„œ๋ฒ„ ๊ตฌ์„ฑ

claude.ai/customize/connectors์—์„œ ์„œ๋ฒ„๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. Team ๋ฐ Enterprise ํ”Œ๋žœ์—์„œ๋Š” ๊ด€๋ฆฌ์ž๋งŒ ์„œ๋ฒ„๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2

MCP ์„œ๋ฒ„ ์ธ์ฆ

Claude.ai์—์„œ ํ•„์š”ํ•œ ์ธ์ฆ ๋‹จ๊ณ„๋ฅผ ์™„๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

3

Claude Code์—์„œ ์„œ๋ฒ„ ๋ณด๊ธฐ ๋ฐ ๊ด€๋ฆฌ

Claude Code์—์„œ ๋‹ค์Œ ๋ช…๋ น์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค:

/mcp

Claude.ai ์„œ๋ฒ„๋Š” Claude.ai์—์„œ ์˜จ ๊ฒƒ์„ ๋‚˜ํƒ€๋‚ด๋Š” ํ‘œ์‹œ๊ธฐ์™€ ํ•จ๊ป˜ ๋ชฉ๋ก์— ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

v2.1.161๋ถ€ํ„ฐ ์ด์ „์— ๋กœ๊ทธ์ธํ•œ ์ ์ด ์—†๋Š” ์ปค๋„ฅํ„ฐ๋Š” claude.ai ์„น์…˜ ๋์˜ Show unused connectors ํ–‰ ๋’ค์— ์ถ•์†Œ๋˜๋ฏ€๋กœ ์กฐ์ง์—์„œ ํ”„๋กœ๋น„์ €๋‹ํ•œ ๋ชฉ๋ก์ด ํŒจ๋„์„ ์ฑ„์šฐ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ–‰์„ ์„ ํƒํ•˜์—ฌ ํ™•์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด์ „์— ๋กœ๊ทธ์ธํ•œ ์ปค๋„ฅํ„ฐ๋Š” ํ˜„์žฌ ์žฌ์ธ์ฆ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ์—๋„ ๊ณ„์† ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

Claude.ai ์ปค๋„ฅํ„ฐ๋Š” ํ™œ์„ฑ ์ธ์ฆ ๋ฐฉ๋ฒ•์ด Claude.ai ๊ตฌ๋…์ธ ๊ฒฝ์šฐ์—๋งŒ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. ANTHROPIC_API_KEY, ANTHROPIC_AUTH_TOKEN, apiKeyHelper ๋˜๋Š” Bedrock์ด๋‚˜ Vertex์™€ ๊ฐ™์€ ํƒ€์‚ฌ ๊ณต๊ธ‰์ž๊ฐ€ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์œผ๋ฉด ๋กœ๋“œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด์ „์— /login์„ ์‹คํ–‰ํ–ˆ๋”๋ผ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. /mcp์— ์ถ”๊ฐ€ํ•œ ์ปค๋„ฅํ„ฐ๊ฐ€ ๋‚˜์—ด๋˜์ง€ ์•Š์œผ๋ฉด /status๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ํ™œ์„ฑํ™”๋œ ์ธ์ฆ ๋ฐฉ๋ฒ•์„ ํ™•์ธํ•˜๊ณ , ํ•ด๋‹น ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ • ํ•ด์ œํ•˜๊ฑฐ๋‚˜ apiKeyHelper ์„ค์ •์„ ์ œ๊ฑฐํ•œ ํ›„ /login์„ ์‹คํ–‰ํ•˜์—ฌ Claude.ai ๊ณ„์ •์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

Claude Code์—์„œ ์ถ”๊ฐ€ํ•œ ์„œ๋ฒ„๋Š” ๋™์ผํ•œ URL์„ ๊ฐ€๋ฆฌํ‚ค๋Š” claude.ai ์ปค๋„ฅํ„ฐ๋ณด๋‹ค ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ฐ–์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ /mcp๋Š” ์ปค๋„ฅํ„ฐ๋ฅผ ์ˆจ๊น€์œผ๋กœ ํ‘œ์‹œํ•˜๊ณ  ์ปค๋„ฅํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

Microsoft 365, Gmail, Google Calendar์™€ ๊ฐ™์€ ์ผ๋ถ€ Anthropic ํ˜ธ์ŠคํŒ… ์ปค๋„ฅํ„ฐ๋Š” ์—…์ŠคํŠธ๋ฆผ ID ๊ณต๊ธ‰์ž๊ฐ€ claude.ai์—์„œ ๋“ฑ๋กํ•œ ๋ฆฌ๋””๋ ‰์…˜ URL๋งŒ ํ—ˆ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— Claude Code์—์„œ ๋กœ์ปฌ OAuth๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. v2.1.162๋ถ€ํ„ฐ ์ด๋Ÿฌํ•œ ํ˜ธ์ŠคํŠธ ์ค‘ ํ•˜๋‚˜๋ฅผ /mcp์—์„œ ์ธ์ฆํ•˜๋ฉด ๋Œ€์‹  claude.ai์˜ ์„ค์ • โ†’ ์ปค๋„ฅํ„ฐ์—์„œ ์—ฐ๊ฒฐํ•˜๋„๋ก ์ง€์‹œํ•˜๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๊ฑฐ๊ธฐ์—์„œ ์—ฐ๊ฒฐ๋˜๋ฉด ์ปค๋„ฅํ„ฐ๊ฐ€ Claude Code์— ์ž๋™์œผ๋กœ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

Claude.ai ์ปค๋„ฅํ„ฐ ๋น„ํ™œ์„ฑํ™”

Claude Code์—์„œ claude.ai MCP ์„œ๋ฒ„๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด ๋ชจ๋“  ์„ค์ • ๋ฒ”์œ„์—์„œ disableClaudeAiConnectors๋ฅผ true๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค:

{
  "disableClaudeAiConnectors": true
}

์ด ์„ค์ •์€ ๋ชจ๋“  ์†Œ์Šค true ์˜๋ฏธ๋ก ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค: ๋ชจ๋“  ์„ค์ • ์†Œ์Šค์˜ true๊ฐ€ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ฐ–์Šต๋‹ˆ๋‹ค. ์ฒดํฌ์ธ๋œ ํ”„๋กœ์ ํŠธ .claude/settings.json์€ ํด๋ผ์šฐ๋“œ ์ปค๋„ฅํ„ฐ์—์„œ ์ €์žฅ์†Œ๋ฅผ ์ œ์™ธํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ํ”„๋กœ์ ํŠธ ์ˆ˜์ค€์˜ false๋Š” ์‚ฌ์šฉ์ž ๋˜๋Š” ์ •์ฑ… ์ˆ˜์ค€์˜ true๊ฐ€ ๋น„ํ™œ์„ฑํ™”ํ•œ ์ปค๋„ฅํ„ฐ๋ฅผ ๋‹ค์‹œ ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. --mcp-config๋ฅผ ํ†ตํ•ด ๋ช…์‹œ์ ์œผ๋กœ ์ „๋‹ฌ๋œ ์„œ๋ฒ„๋Š” ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ENABLE_CLAUDEAI_MCP_SERVERS ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ false๋กœ ์„ค์ •ํ•  ์ˆ˜๋„ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ํ˜„์žฌ ์…ธ ์„ธ์…˜์— ๋Œ€ํ•ด ๋™์ผํ•œ ํšจ๊ณผ๋ฅผ ๊ฐ–์Šต๋‹ˆ๋‹ค:

ENABLE_CLAUDEAI_MCP_SERVERS=false claude

๋ชจ๋“  claude.ai ์ปค๋„ฅํ„ฐ๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” ๋Œ€์‹  ๊ฐœ๋ณ„ claude.ai ์ปค๋„ฅํ„ฐ๋ฅผ ์ฐจ๋‹จํ•˜๋ ค๋ฉด ์ด๋ฆ„ ๋˜๋Š” URL ํŒจํ„ด์œผ๋กœ deniedMcpServers์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด serverName ํ•ญ๋ชฉ "claude.ai Slack"์€ Slack ์ปค๋„ฅํ„ฐ๋ฅผ ์ฐจ๋‹จํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ํ”„๋กœ์ ํŠธ์—๋งŒ ์ปค๋„ฅํ„ฐ๋ฅผ ์ผœ๊ฑฐ๋‚˜ ๋„๋ ค๋ฉด /mcp ํŒจ๋„์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

Claude Code๋ฅผ MCP ์„œ๋ฒ„๋กœ ์‚ฌ์šฉ

Claude Code ์ž์ฒด๋ฅผ ๋‹ค๋ฅธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” MCP ์„œ๋ฒ„๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

# Claude๋ฅผ stdio MCP ์„œ๋ฒ„๋กœ ์‹œ์ž‘
claude mcp serve

claude_desktop_config.json์— ์ด ๊ตฌ์„ฑ์„ ์ถ”๊ฐ€ํ•˜์—ฌ Claude Desktop์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

{
  "mcpServers": {
    "claude-code": {
      "type": "stdio",
      "command": "claude",
      "args": ["mcp", "serve"],
      "env": {}
    }
  }
}

MCP ์ถœ๋ ฅ ์ œํ•œ ๋ฐ ๊ฒฝ๊ณ 

MCP ๋„๊ตฌ๊ฐ€ ํฐ ์ถœ๋ ฅ์„ ์ƒ์„ฑํ•  ๋•Œ Claude Code๋Š” ํ† ํฐ ์‚ฌ์šฉ๋Ÿ‰์„ ๊ด€๋ฆฌํ•˜์—ฌ ๋Œ€ํ™” ์ปจํ…์ŠคํŠธ๊ฐ€ ์••๋„๋˜์ง€ ์•Š๋„๋ก ํ•ฉ๋‹ˆ๋‹ค:

  • ์ถœ๋ ฅ ๊ฒฝ๊ณ  ์ž„๊ณ„๊ฐ’: Claude Code๋Š” MCP ๋„๊ตฌ ์ถœ๋ ฅ์ด 10,000 ํ† ํฐ์„ ์ดˆ๊ณผํ•  ๋•Œ ๊ฒฝ๊ณ ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค
  • ๊ตฌ์„ฑ ๊ฐ€๋Šฅํ•œ ์ œํ•œ: MAX_MCP_OUTPUT_TOKENS ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ตœ๋Œ€ ํ—ˆ์šฉ MCP ์ถœ๋ ฅ ํ† ํฐ์„ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
  • ๊ธฐ๋ณธ ์ œํ•œ: ๊ธฐ๋ณธ ์ตœ๋Œ€๊ฐ’์€ 25,000 ํ† ํฐ์ž…๋‹ˆ๋‹ค
  • ๋ฒ”์œ„: ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋Š” ์ž์‹ ์˜ ์ œํ•œ์„ ์„ ์–ธํ•˜์ง€ ์•Š๋Š” ๋„๊ตฌ์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. anthropic/maxResultSizeChars๋ฅผ ์„ค์ •ํ•˜๋Š” ๋„๊ตฌ๋Š” MAX_MCP_OUTPUT_TOKENS์ด ์„ค์ •๋œ ๊ฒƒ๊ณผ ๊ด€๊ณ„์—†์ด ํ…์ŠคํŠธ ์ฝ˜ํ…์ธ ์— ๋Œ€ํ•ด ํ•ด๋‹น ๊ฐ’์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋„๊ตฌ๋Š” ์—ฌ์ „ํžˆ MAX_MCP_OUTPUT_TOKENS์˜ ์˜ํ–ฅ์„ ๋ฐ›์Šต๋‹ˆ๋‹ค

ํฐ ์ถœ๋ ฅ์„ ์ƒ์„ฑํ•˜๋Š” ๋„๊ตฌ์˜ ์ œํ•œ์„ ๋Š˜๋ฆฌ๋ ค๋ฉด:

export MAX_MCP_OUTPUT_TOKENS=50000
claude

์ด๋Š” ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•˜๋Š” MCP ์„œ๋ฒ„๋กœ ์ž‘์—…ํ•  ๋•Œ ํŠนํžˆ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค:

  • ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ ์„ธํŠธ ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ฟผ๋ฆฌ
  • ์ƒ์„ธํ•œ ๋ณด๊ณ ์„œ ๋˜๋Š” ๋ฌธ์„œ ์ƒ์„ฑ
  • ๊ด‘๋ฒ”์œ„ํ•œ ๋กœ๊ทธ ํŒŒ์ผ ๋˜๋Š” ๋””๋ฒ„๊น… ์ •๋ณด ์ฒ˜๋ฆฌ

ํŠน์ • ๋„๊ตฌ์˜ ์ œํ•œ ๋Š˜๋ฆฌ๊ธฐ

MCP ์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๊ฒฝ์šฐ ๋„๊ตฌ์˜ tools/list ์‘๋‹ต ํ•ญ๋ชฉ์—์„œ _meta["anthropic/maxResultSizeChars"]๋ฅผ ์„ค์ •ํ•˜์—ฌ ๊ฐœ๋ณ„ ๋„๊ตฌ๊ฐ€ ๊ธฐ๋ณธ ๋””์Šคํฌ ์œ ์ง€ ์ž„๊ณ„๊ฐ’๋ณด๋‹ค ํฐ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Claude Code๋Š” ํ•ด๋‹น ๋„๊ตฌ์˜ ์ž„๊ณ„๊ฐ’์„ ์ฃผ์„ ์ฒ˜๋ฆฌ๋œ ๊ฐ’์œผ๋กœ ์˜ฌ๋ฆฝ๋‹ˆ๋‹ค (์ตœ๋Œ€ 500,000์ž์˜ ํ•˜๋“œ ์ƒํ•œ๊นŒ์ง€).

์ด๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ ๋˜๋Š” ์ „์ฒด ํŒŒ์ผ ํŠธ๋ฆฌ์™€ ๊ฐ™์ด ๋ณธ์งˆ์ ์œผ๋กœ ํฌ์ง€๋งŒ ํ•„์š”ํ•œ ์ถœ๋ ฅ์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋„๊ตฌ์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ฃผ์„ ์ฒ˜๋ฆฌ ์—†์ด ๊ธฐ๋ณธ ์ž„๊ณ„๊ฐ’์„ ์ดˆ๊ณผํ•˜๋Š” ๊ฒฐ๊ณผ๋Š” ๋””์Šคํฌ์— ์œ ์ง€๋˜๊ณ  ๋Œ€ํ™”์—์„œ ํŒŒ์ผ ์ฐธ์กฐ๋กœ ๋Œ€์ฒด๋ฉ๋‹ˆ๋‹ค.

{
  "name": "get_schema",
  "description": "Returns the full database schema",
  "_meta": {
    "anthropic/maxResultSizeChars": 200000
  }
}

์ฃผ์„ ์ฒ˜๋ฆฌ๋Š” ํ…์ŠคํŠธ ์ฝ˜ํ…์ธ ์— ๋Œ€ํ•ด MAX_MCP_OUTPUT_TOKENS๊ณผ ๋…๋ฆฝ์ ์œผ๋กœ ์ ์šฉ๋˜๋ฏ€๋กœ ์‚ฌ์šฉ์ž๋Š” ๋„๊ตฌ๊ฐ€ ์„ ์–ธํ•˜๋Š” ๋„๊ตฌ์— ๋Œ€ํ•ด ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์˜ฌ๋ฆด ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋„๊ตฌ๋Š” ์—ฌ์ „ํžˆ ํ† ํฐ ์ œํ•œ์˜ ์˜ํ–ฅ์„ ๋ฐ›์Šต๋‹ˆ๋‹ค.

๋ฃจํŠธ ์ˆ˜์ค€ ๊ฒฐํ•ฉ์ž๊ฐ€ ์žˆ๋Š” ๋„๊ตฌ ์ž…๋ ฅ ์Šคํ‚ค๋งˆ

์ผ๋ถ€ MCP ์„œ๋ฒ„๋Š” ๋„๊ตฌ์˜ ์ž…๋ ฅ ์Šคํ‚ค๋งˆ๋ฅผ JSON Schema ํ•ฉ์ง‘ํ•ฉ์œผ๋กœ ์„ ์–ธํ•˜๋ฉฐ, anyOf, oneOf ๋˜๋Š” allOf๊ฐ€ ์Šคํ‚ค๋งˆ์˜ ์ตœ์ƒ์œ„ ์ˆ˜์ค€์— ์žˆ์Šต๋‹ˆ๋‹ค. Claude API๋Š” ์Šคํ‚ค๋งˆ ๋ฃจํŠธ์—์„œ ์ด๋Ÿฌํ•œ ํ‚ค์›Œ๋“œ๋ฅผ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋Š” properties ๋‚ด์— ์ค‘์ฒฉ๋œ ๊ฒฐํ•ฉ์ž๋ฅผ ํ—ˆ์šฉํ•˜๋ฉฐ, Claude Code๋Š” ๋ณ€๊ฒฝ ์—†์ด ์ „์†กํ•ฉ๋‹ˆ๋‹ค.

Claude Code v2.1.195๋ถ€ํ„ฐ ๋ฃจํŠธ ์ˆ˜์ค€ ๊ฒฐํ•ฉ์ž๊ฐ€ ์žˆ๋Š” ๋„๊ตฌ๋Š” ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค. API์— ๋„๊ตฌ๋ฅผ ๋ณด๋‚ด๊ธฐ ์ „์— Claude Code๋Š” ์Šคํ‚ค๋งˆ๋ฅผ ๋‹จ์ผ ๊ฐ์ฒด๋กœ ํ‰ํƒ„ํ™”ํ•˜๊ณ  Claude์—๊ฒŒ ์–ด๋–ค ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ทธ๋ฃน์ด ํ•จ๊ป˜ ์†ํ•˜๋Š”์ง€ ์•Œ๋ ค์ฃผ๋Š” ๋ฌธ์žฅ์„ ๋„๊ตฌ์˜ ์„ค๋ช… ์•ž์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค:

  • allOf: ๋ชจ๋“  ๋ถ„๊ธฐ์˜ ์†์„ฑ์ด ๋ณ‘ํ•ฉ๋˜๊ณ , ๊ฐ ๋ถ„๊ธฐ์˜ required ๋ชฉ๋ก์ด ์—ฌ์ „ํžˆ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค
  • anyOf ๋ฐ oneOf: ๋ชจ๋“  ๋ถ„๊ธฐ์˜ ์†์„ฑ์ด ๋ณ‘ํ•ฉ๋˜๊ณ , ๊ฐ ๋ถ„๊ธฐ์˜ required ๋ชฉ๋ก์€ ์Šคํ‚ค๋งˆ์— ์˜ํ•ด ๊ฐ•์ œ๋˜์ง€ ์•Š๊ณ  ๋„๊ตฌ ์„ค๋ช…์— ์„ค๋ช…๋ฉ๋‹ˆ๋‹ค

์„œ๋ฒ„๋Š” Claude๊ฐ€ ์„ ํƒํ•œ ์ธ์ˆ˜๋ฅผ ์ˆ˜์‹ ํ•˜๋ฏ€๋กœ ์„œ๋ฒ„ ์ธก์—์„œ ์กฐํ•ฉ์„ ๊ณ„์† ๊ฒ€์ฆํ•˜์„ธ์š”.

Claude Code๊ฐ€ API๊ฐ€ ํ—ˆ์šฉํ•˜๋Š” ์Šคํ‚ค๋งˆ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์—†๊ฑฐ๋‚˜ ์˜คํ”„๋ผ์ธ ๋จธ์‹ ๊ณผ ๊ฐ™์ด ์žฌ์ž‘์„ฑ์„ ํ™œ์„ฑํ™”ํ•˜๋Š” ์›๊ฒฉ ๊ตฌ์„ฑ์„ ๋ฐ›์ง€ ์•Š๋Š” ๋ฐฐํฌ์—์„œ๋Š” ํ•ด๋‹น ๋„๊ตฌ ํ•˜๋‚˜๋ฅผ ๊ฑด๋„ˆ๋›ฐ๊ณ , ์„œ๋ฒ„์˜ ๋กœ๊ทธ์— ์ด์œ ๋ฅผ ๊ธฐ๋กํ•˜๊ณ , ์„œ๋ฒ„์˜ ๋‹ค๋ฅธ ๋„๊ตฌ๋Š” ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๊ฒŒ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. v2.1.195๋ณด๋‹ค ์ด์ „ ๋ฒ„์ „์€ ์ž…๋ ฅ ์Šคํ‚ค๋งˆ์— ๋ฃจํŠธ ์ˆ˜์ค€์˜ anyOf, oneOf ๋˜๋Š” allOf๊ฐ€ ์žˆ๋Š” ๋ชจ๋“  ๋„๊ตฌ๋ฅผ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค.

ํŠน์ • ๋„๊ตฌ์— ๋Œ€ํ•œ ์Šน์ธ ํ•„์š”

MCP ์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๊ฒฝ์šฐ ๋„๊ตฌ์˜ tools/list ์‘๋‹ต ํ•ญ๋ชฉ์—์„œ _meta["anthropic/requiresUserInteraction"]์„ true๋กœ ์„ค์ •ํ•˜์—ฌ ๋„๊ตฌ๋ฅผ ๋ชจ๋“  ํ˜ธ์ถœ์—์„œ ๋ช…์‹œ์  ์Šน์ธ์ด ํ•„์š”ํ•œ ๊ฒƒ์œผ๋กœ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ’์€ JSON ๋ถ€์šธ true์—ฌ์•ผ ํ•˜๋ฉฐ, ๋‹ค๋ฅธ ๊ฐ’์€ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค.

Claude Code๋Š” acceptEdits, auto, bypassPermissions ๊ถŒํ•œ ๋ชจ๋“œ์—์„œ๋„ ํ•ด๋‹น ๋„๊ตฌ์˜ ๊ถŒํ•œ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋ชจ๋“  ํ˜ธ์ถœ์—์„œ ํ‘œ์‹œํ•˜๊ณ  "๋‹ค์‹œ ๋ฌป์ง€ ์•Š๊ธฐ" ์˜ต์…˜์„ ์ œ๊ณตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋„๊ตฌ์™€ ์ผ์น˜ํ•˜๋Š” ํ—ˆ์šฉ ๊ทœ์น™๋„ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๊ฑด๋„ˆ๋›ฐ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. dontAsk ๋ชจ๋“œ์—์„œ๋Š” ํ”„๋กฌํ”„ํŠธ๋ฅผ ํ‘œ์‹œํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ Claude Code๋Š” ํ˜ธ์ถœ์„ ๊ฑฐ๋ถ€ํ•ฉ๋‹ˆ๋‹ค.

ํ”„๋กฌํ”„ํŠธ๋Š” ์‚ฌ๋žŒ์—๊ฒŒ ๋„๋‹ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. --permission-prompt-tool์„ ์‚ฌ์šฉํ•˜๋Š” ๋น„๋Œ€ํ™”ํ˜• ๋ชจ๋“œ์—์„œ ํ”Œ๋ž˜๊ทธ๋œ ๋„๊ตฌ์— ๋Œ€ํ•œ ํ”„๋กฌํ”„ํŠธ ๋„๊ตฌ์˜ allow ๊ฒฐ๊ณผ๋Š” MCP tool requires user interaction; not supported via --permission-prompt-tool ๋ฉ”์‹œ์ง€์™€ ํ•จ๊ป˜ ๊ฑฐ๋ถ€๋กœ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค. Agent SDK์˜ canUseTool ์ฝœ๋ฐฑ์€ ์ด๋Ÿฌํ•œ ํ˜ธ์ถœ์„ ์ˆ˜์‹ ํ•˜๊ณ  ์Šน์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. SDK ํ˜ธ์ŠคํŠธ๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ์ด๋ฅผ ํ‘œ์‹œํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ถŒํ•œ ํ”„๋กฌํ”„ํŠธ ์ž์ฒด๊ฐ€ ์š”์ ์ธ ๋„๊ตฌ(์˜ˆ: ๋™์˜ ๋˜๋Š” ์•ก์„ธ์Šค ๋ถ€์—ฌ ๋‹จ๊ณ„)์— ์‚ฌ์šฉํ•˜์„ธ์š”. ์ž๋™ ์Šน์ธ์€ ์ธ๊ฐ„์ด ๋™์˜ํ•˜์ง€ ์•Š์•˜๋‹ค๋Š” ์˜๋ฏธ์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋™์ผํ•œ ์„œ๋ฒ„์˜ ๋‹ค๋ฅธ ๋„๊ตฌ๋Š” ์ •์ƒ์ ์ธ ๊ถŒํ•œ ๋™์ž‘์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ tools/list ํ•ญ๋ชฉ์€ ํ•œ ๋„๊ตฌ๋ฅผ ํ•ญ์ƒ ์Šน์ธ์ด ํ•„์š”ํ•œ ๊ฒƒ์œผ๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

{
  "name": "grant_access",
  "description": "Requests access to a protected resource",
  "_meta": {
    "anthropic/requiresUserInteraction": true
  }
}

anthropic/requiresUserInteraction ์ฃผ์„์€ Claude Code v2.1.199 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด์ „ ๋ฒ„์ „์€ ์ด๋ฅผ ๋ฌด์‹œํ•˜๊ณ  ํ‘œ์ค€ ๊ถŒํ•œ ํ๋ฆ„์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

์„ธ์…˜์ด Remote Control์— ์—ฐ๊ฒฐ๋˜๊ฑฐ๋‚˜ SDK ํ˜ธ์ŠคํŠธ์— ์—ฐ๊ฒฐ๋˜๋ฉด Claude Code๋Š” ๊ถŒํ•œ ์š”์ฒญ์„ ์‚ฌ์šฉ์ž ์ƒํ˜ธ์ž‘์šฉ์ด ํ•„์š”ํ•œ ๊ฒƒ์œผ๋กœ ํ‘œ์‹œํ•˜๋ฏ€๋กœ ํด๋ผ์ด์–ธํŠธ๋Š” ํ•œ ๋ฒˆ์˜ ํƒญ ์Šน์ธ ์ž‘์—… ๋Œ€์‹  ๋„๊ตฌ์˜ ๊ถŒํ•œ ํ”„๋กฌํ”„ํŠธ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

MCP elicitation ์š”์ฒญ์— ์‘๋‹ต

MCP ์„œ๋ฒ„๋Š” ์ž‘์—… ์ค‘์— ๊ตฌ์กฐํ™”๋œ ์ž…๋ ฅ์„ ์š”์ฒญํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(elicitation). ์„œ๋ฒ„๊ฐ€ ์ž์ฒด์ ์œผ๋กœ ์–ป์„ ์ˆ˜ ์—†๋Š” ์ •๋ณด๊ฐ€ ํ•„์š”ํ•  ๋•Œ Claude Code๋Š” ๋Œ€ํ™”ํ˜• ๋Œ€ํ™” ์ƒ์ž๋ฅผ ํ‘œ์‹œํ•˜๊ณ  ์‘๋‹ต์„ ์„œ๋ฒ„์— ๋‹ค์‹œ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ์ธก์—์„œ ๊ตฌ์„ฑ์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค: ์„œ๋ฒ„๊ฐ€ ์š”์ฒญํ•  ๋•Œ elicitation ๋Œ€ํ™” ์ƒ์ž๊ฐ€ ์ž๋™์œผ๋กœ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

์„œ๋ฒ„๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ์‹์œผ๋กœ ์ž…๋ ฅ์„ ์š”์ฒญํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  • ์–‘์‹ ๋ชจ๋“œ: Claude Code๋Š” ์„œ๋ฒ„์—์„œ ์ •์˜ํ•œ ์–‘์‹ ํ•„๋“œ๊ฐ€ ์žˆ๋Š” ๋Œ€ํ™” ์ƒ์ž๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: ์‚ฌ์šฉ์ž ์ด๋ฆ„ ๋ฐ ์•”ํ˜ธ ํ”„๋กฌํ”„ํŠธ). ํ•„๋“œ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ์ œ์ถœํ•ฉ๋‹ˆ๋‹ค.
  • URL ๋ชจ๋“œ: Claude Code๋Š” ์ธ์ฆ ๋˜๋Š” ์Šน์ธ์„ ์œ„ํ•ด ๋ธŒ๋ผ์šฐ์ € URL์„ ์—ฝ๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ €์—์„œ ํ๋ฆ„์„ ์™„๋ฃŒํ•œ ๋‹ค์Œ CLI์—์„œ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

elicitation ์š”์ฒญ์— ์ž๋™์œผ๋กœ ์‘๋‹ตํ•˜๋ ค๋ฉด ๋Œ€ํ™” ์ƒ์ž๋ฅผ ํ‘œ์‹œํ•˜์ง€ ์•Š๊ณ  Elicitation hook์„ ์‚ฌ์šฉํ•˜์„ธ์š”.

elicitation์„ ์‚ฌ์šฉํ•˜๋Š” MCP ์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๊ฒฝ์šฐ MCP elicitation ์‚ฌ์–‘์—์„œ ํ”„๋กœํ† ์ฝœ ์„ธ๋ถ€ ์ •๋ณด ๋ฐ ์Šคํ‚ค๋งˆ ์˜ˆ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

MCP ๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ

MCP ์„œ๋ฒ„๋Š” ํŒŒ์ผ์„ ์ฐธ์กฐํ•˜๋Š” ๋ฐฉ์‹๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ @ ๋ฉ˜์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฆฌ์†Œ์Šค๋ฅผ ๋…ธ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

MCP ๋ฆฌ์†Œ์Šค ์ฐธ์กฐ

1

์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฆฌ์†Œ์Šค ๋‚˜์—ด

ํ”„๋กฌํ”„ํŠธ์— @๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ์—ฐ๊ฒฐ๋œ ๋ชจ๋“  MCP ์„œ๋ฒ„์˜ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌ์†Œ์Šค๋Š” ์ž๋™ ์™„์„ฑ ๋ฉ”๋‰ด์˜ ํŒŒ์ผ๊ณผ ํ•จ๊ป˜ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

2

ํŠน์ • ๋ฆฌ์†Œ์Šค ์ฐธ์กฐ

@server:protocol://resource/path ํ˜•์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฆฌ์†Œ์Šค๋ฅผ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค:

Can you analyze @github:issue://123 and suggest a fix?
Please review the API documentation at @docs:file://api/authentication
3

์—ฌ๋Ÿฌ ๋ฆฌ์†Œ์Šค ์ฐธ์กฐ

๋‹จ์ผ ํ”„๋กฌํ”„ํŠธ์—์„œ ์—ฌ๋Ÿฌ ๋ฆฌ์†Œ์Šค๋ฅผ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

Compare @postgres:schema://users with @docs:file://database/user-model

Tool Search๋Š” MCP ์ปจํ…์ŠคํŠธ ์‚ฌ์šฉ๋Ÿ‰์„ ๋‚ฎ๊ฒŒ ์œ ์ง€ํ•˜์—ฌ ๋„๊ตฌ ์ •์˜๋ฅผ Claude๊ฐ€ ํ•„์š”ํ•  ๋•Œ๊นŒ์ง€ ์—ฐ๊ธฐํ•ฉ๋‹ˆ๋‹ค. ์„ธ์…˜ ์‹œ์ž‘ ์‹œ ๋„๊ตฌ ์ด๋ฆ„๊ณผ ์„œ๋ฒ„ ์ง€์นจ๋งŒ ๋กœ๋“œ๋˜๋ฏ€๋กœ ๋” ๋งŽ์€ MCP ์„œ๋ฒ„๋ฅผ ์ถ”๊ฐ€ํ•ด๋„ ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์ด ์ตœ์†Œํ™”๋ฉ๋‹ˆ๋‹ค. Claude Code๋Š” ์„œ๋ฒ„๋‹น ๊ณ ์ •๋œ ๋„๊ตฌ ์ƒํ•œ์„ ๋ถ€๊ณผํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‹ค์งˆ์ ์ธ ํ•œ๊ณ„๋Š” ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ ์˜ˆ์‚ฐ์ž…๋‹ˆ๋‹ค.

์ž‘๋™ ๋ฐฉ์‹

Tool Search๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค. MCP ๋„๊ตฌ๋Š” ๋ฏธ๋ฆฌ ๋กœ๋“œ๋˜์ง€ ์•Š๊ณ  ์—ฐ๊ธฐ๋˜๋ฉฐ, Claude๋Š” ๊ฒ€์ƒ‰ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์—…์— ํ•„์š”ํ•  ๋•Œ ๊ด€๋ จ ๋„๊ตฌ๋ฅผ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. Claude๊ฐ€ ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋„๊ตฌ๋งŒ ์ปจํ…์ŠคํŠธ์— ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ๊ด€์ ์—์„œ MCP ๋„๊ตฌ๋Š” ์ด์ „๊ณผ ์ •ํ™•ํžˆ ๋™์ผํ•˜๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

์ž„๊ณ„๊ฐ’ ๊ธฐ๋ฐ˜ ๋กœ๋”ฉ์„ ์„ ํ˜ธํ•˜๋Š” ๊ฒฝ์šฐ ENABLE_TOOL_SEARCH=auto๋ฅผ ์„ค์ •ํ•˜์—ฌ ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ์˜ 10% ์ด๋‚ด์— ๋งž์„ ๋•Œ ์Šคํ‚ค๋งˆ๋ฅผ ๋ฏธ๋ฆฌ ๋กœ๋“œํ•˜๊ณ  ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๋งŒ ์—ฐ๊ธฐํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ์˜ต์…˜์€ Tool Search ๊ตฌ์„ฑ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

MCP ์„œ๋ฒ„ ์ž‘์„ฑ์ž์šฉ

MCP ์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๊ฒฝ์šฐ Tool Search๊ฐ€ ํ™œ์„ฑํ™”๋˜๋ฉด ์„œ๋ฒ„ ์ง€์นจ ํ•„๋“œ๊ฐ€ ๋” ์œ ์šฉํ•ด์ง‘๋‹ˆ๋‹ค. ์„œ๋ฒ„ ์ง€์นจ์€ Claude๊ฐ€ skills์˜ ์ž‘๋™ ๋ฐฉ์‹๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ ๋„๊ตฌ๋ฅผ ๊ฒ€์ƒ‰ํ•  ์‹œ๊ธฐ๋ฅผ ์ดํ•ดํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ์„ ์„ค๋ช…ํ•˜๋Š” ๋ช…ํ™•ํ•˜๊ณ  ์„ค๋ช…์ ์ธ ์„œ๋ฒ„ ์ง€์นจ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค:

  • ๋„๊ตฌ๊ฐ€ ์ฒ˜๋ฆฌํ•˜๋Š” ์ž‘์—…์˜ ๋ฒ”์ฃผ
  • Claude๊ฐ€ ๋„๊ตฌ๋ฅผ ๊ฒ€์ƒ‰ํ•ด์•ผ ํ•  ๋•Œ
  • ์„œ๋ฒ„๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์ฃผ์š” ๊ธฐ๋Šฅ

Claude Code๋Š” ๋„๊ตฌ ์„ค๋ช… ๋ฐ ์„œ๋ฒ„ ์ง€์นจ์„ ๊ฐ๊ฐ 2KB์—์„œ ์ž๋ฆ…๋‹ˆ๋‹ค. ์ž๋ฅด๊ธฐ๋ฅผ ํ”ผํ•˜๋ ค๋ฉด ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์œ ์ง€ํ•˜๊ณ  ์ค‘์š”ํ•œ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ์‹œ์ž‘ ๋ถ€๋ถ„์— ๋ฐฐ์น˜ํ•ฉ๋‹ˆ๋‹ค.

Tool Search๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค: MCP ๋„๊ตฌ๋Š” ์—ฐ๊ธฐ๋˜๊ณ  ํ•„์š”์— ๋”ฐ๋ผ ๊ฒ€์ƒ‰๋ฉ๋‹ˆ๋‹ค. Claude Code๋Š” Vertex AI์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋น„ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. ANTHROPIC_BASE_URL์ด ๋น„ ์ž์‚ฌ ํ˜ธ์ŠคํŠธ๋ฅผ ๊ฐ€๋ฆฌํ‚ฌ ๋•Œ๋„ ๋น„ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค(๋Œ€๋ถ€๋ถ„์˜ ํ”„๋ก์‹œ๊ฐ€ tool_reference ๋ธ”๋ก์„ ์ „๋‹ฌํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ). ํด๋ฐฑ์„ ์žฌ์ •์˜ํ•˜๋ ค๋ฉด ENABLE_TOOL_SEARCH๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

Tool Search๋Š” tool_reference ๋ธ”๋ก์„ ์ง€์›ํ•˜๋Š” ๋ชจ๋ธ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. Haiku ๋ชจ๋ธ์€ ์ด๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Vertex AI์—์„œ๋Š” Claude Sonnet 4.5 ์ด์ƒ ๋ฐ Claude Opus 4.5 ์ด์ƒ์—์„œ Tool Search๊ฐ€ ์ง€์›๋ฉ๋‹ˆ๋‹ค.

ENABLE_TOOL_SEARCH ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋กœ Tool Search ๋™์ž‘์„ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค:

๊ฐ’ ๋™์ž‘
(์„ค์ •๋˜์ง€ ์•Š์Œ) ๋ชจ๋“  MCP ๋„๊ตฌ ์—ฐ๊ธฐ๋˜๊ณ  ํ•„์š”์— ๋”ฐ๋ผ ๋กœ๋“œ๋จ. Vertex AI ๋˜๋Š” ANTHROPIC_BASE_URL์ด ๋น„ ์ž์‚ฌ ํ˜ธ์ŠคํŠธ์ผ ๋•Œ ๋ฏธ๋ฆฌ ๋กœ๋“œ๋กœ ๋Œ์•„๊ฐ
true ๋ชจ๋“  MCP ๋„๊ตฌ ์—ฐ๊ธฐ. Claude Code๋Š” Vertex AI ๋ฐ ํ”„๋ก์‹œ๋ฅผ ํ†ตํ•ด์„œ๋„ ๋ฒ ํƒ€ ํ—ค๋”๋ฅผ ์ „์†กํ•ฉ๋‹ˆ๋‹ค. Vertex AI์˜ Sonnet 4.5 ๋˜๋Š” Opus 4.5๋ณด๋‹ค ์ด์ „ ๋ชจ๋ธ์—์„œ ์š”์ฒญ์ด ์‹คํŒจํ•˜๊ฑฐ๋‚˜ tool_reference ๋ธ”๋ก์„ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ํ”„๋ก์‹œ์—์„œ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค
auto ์ž„๊ณ„๊ฐ’ ๋ชจ๋“œ: ๋„๊ตฌ๊ฐ€ ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ์˜ 10% ์ด๋‚ด์— ๋งž์œผ๋ฉด ๋ฏธ๋ฆฌ ๋กœ๋“œ, ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์—ฐ๊ธฐ
auto:N ์‚ฌ์šฉ์ž ์ •์˜ ๋ฐฑ๋ถ„์œจ์„ ์‚ฌ์šฉํ•œ ์ž„๊ณ„๊ฐ’ ๋ชจ๋“œ, N์€ 0-100 (์˜ˆ: auto:5๋Š” 5%)
false ๋ชจ๋“  MCP ๋„๊ตฌ ๋ฏธ๋ฆฌ ๋กœ๋“œ, ์—ฐ๊ธฐ ์—†์Œ
# ์‚ฌ์šฉ์ž ์ •์˜ 5% ์ž„๊ณ„๊ฐ’ ์‚ฌ์šฉ
ENABLE_TOOL_SEARCH=auto:5 claude

# Tool Search ์™„์ „ํžˆ ๋น„ํ™œ์„ฑํ™”
ENABLE_TOOL_SEARCH=false claude

๋˜๋Š” settings.json env ํ•„๋“œ์—์„œ ๊ฐ’์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

ToolSearch ๋„๊ตฌ๋ฅผ ํŠน๋ณ„ํžˆ ๋น„ํ™œ์„ฑํ™”ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค:

{
  "permissions": {
    "deny": ["ToolSearch"]
  }
}

์„œ๋ฒ„๋ฅผ ์—ฐ๊ธฐ์—์„œ ์ œ์™ธ

์„œ๋ฒ„์˜ ๋„๊ตฌ๊ฐ€ ๊ฒ€์ƒ‰ ๋‹จ๊ณ„ ์—†์ด ํ•ญ์ƒ Claude์—๊ฒŒ ํ‘œ์‹œ๋˜์–ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ํ•ด๋‹น ์„œ๋ฒ„์˜ ๊ตฌ์„ฑ์—์„œ alwaysLoad๋ฅผ true๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ENABLE_TOOL_SEARCH ์„ค์ •์— ๊ด€๊ณ„์—†์ด ํ•ด๋‹น ์„œ๋ฒ„์˜ ๋ชจ๋“  ๋„๊ตฌ๊ฐ€ ์„ธ์…˜ ์‹œ์ž‘ ์‹œ ์ปจํ…์ŠคํŠธ์— ๋กœ๋“œ๋ฉ๋‹ˆ๋‹ค. ๋งค ํ„ด๋งˆ๋‹ค Claude๊ฐ€ ํ•„์š”๋กœ ํ•˜๋Š” ์†Œ์ˆ˜์˜ ๋„๊ตฌ์— ์ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ๋ฏธ๋ฆฌ ๋กœ๋“œ๋œ ๋„๊ตฌ๋Š” ๋Œ€ํ™”์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ปจํ…์ŠคํŠธ๋ฅผ ์†Œ๋น„ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋‹ค์Œ .mcp.json ํ•ญ๋ชฉ์€ ํ•œ HTTP ์„œ๋ฒ„๋ฅผ ์ œ์™ธํ•˜๋ฉด์„œ ๋‹ค๋ฅธ ์„œ๋ฒ„๋Š” ์—ฐ๊ธฐ๋œ ์ƒํƒœ๋กœ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค:

{
  "mcpServers": {
    "core-tools": {
      "type": "http",
      "url": "https://mcp.example.com/mcp",
      "alwaysLoad": true
    }
  }
}

alwaysLoad ํ•„๋“œ๋Š” ๋ชจ๋“  ์„œ๋ฒ„ ์œ ํ˜•์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ Claude Code v2.1.121 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. MCP ์„œ๋ฒ„๋Š” ๋„๊ตฌ์˜ _meta ๊ฐ์ฒด์— "anthropic/alwaysLoad": true๋ฅผ ํฌํ•จํ•˜์—ฌ ๊ฐœ๋ณ„ ๋„๊ตฌ๋ฅผ ํ•ญ์ƒ ๋กœ๋“œ๋˜๋„๋ก ํ‘œ์‹œํ•  ์ˆ˜๋„ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ํ•ด๋‹น ๋„๊ตฌ์—๋งŒ ๋™์ผํ•œ ํšจ๊ณผ๋ฅผ ๊ฐ–์Šต๋‹ˆ๋‹ค.

alwaysLoad: true๋ฅผ ์„ค์ •ํ•˜๋ฉด ์„œ๋ฒ„๊ฐ€ ์—ฐ๊ฒฐ๋  ๋•Œ๊นŒ์ง€ ์‹œ์ž‘์ด ์ฐจ๋‹จ๋˜๋ฉฐ, ํ‘œ์ค€ 5์ดˆ ์—ฐ๊ฒฐ ํƒ€์ž„์•„์›ƒ์œผ๋กœ ์ œํ•œ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” MCP ์‹œ์ž‘์ด ๊ธฐ๋ณธ์ ์œผ๋กœ ๋น„์ฐจ๋‹จ์ด๋”๋ผ๋„ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ํ”„๋กฌํ”„ํŠธ๊ฐ€ ๋นŒ๋“œ๋  ๋•Œ ๋„๊ตฌ๊ฐ€ ์žˆ์–ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์„œ๋ฒ„๋Š” ๊ณ„์†ํ•ด์„œ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค.

MCP ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋ช…๋ น์œผ๋กœ ์‚ฌ์šฉ

MCP ์„œ๋ฒ„๋Š” Claude Code์—์„œ ๋ช…๋ น์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋˜๋Š” ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋…ธ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

MCP ํ”„๋กฌํ”„ํŠธ ์‹คํ–‰

1

์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํ”„๋กฌํ”„ํŠธ ๊ฒ€์ƒ‰

/๋ฅผ ์ž…๋ ฅํ•˜์—ฌ MCP ์„œ๋ฒ„์˜ ํ”„๋กฌํ”„ํŠธ๋ฅผ ํฌํ•จํ•œ ๋ชจ๋“  ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ช…๋ น์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. MCP ํ”„๋กฌํ”„ํŠธ๋Š” /mcp__servername__promptname ํ˜•์‹์œผ๋กœ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

2

์ธ์ˆ˜ ์—†์ด ํ”„๋กฌํ”„ํŠธ ์‹คํ–‰

/mcp__github__list_prs
3

์ธ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กฌํ”„ํŠธ ์‹คํ–‰

๋งŽ์€ ํ”„๋กฌํ”„ํŠธ๋Š” ์ธ์ˆ˜๋ฅผ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ช…๋ น ๋’ค์— ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค:

/mcp__github__pr_review 456
/mcp__jira__create_issue "๋กœ๊ทธ์ธ ํ๋ฆ„์˜ ๋ฒ„๊ทธ" high

๊ด€๋ฆฌ๋˜๋Š” MCP ๊ตฌ์„ฑ

์ค‘์•™ ์ง‘์ค‘์‹ ์ œ์–ด๊ฐ€ ํ•„์š”ํ•œ ์กฐ์ง์˜ ๊ฒฝ์šฐ MCP ์„œ๋ฒ„์— ์‚ฌ์šฉ์ž๊ฐ€ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋ฒ„๋ฅผ ์ œ์–ดํ•˜๋ ค๋ฉด ๊ด€๋ฆฌ๋˜๋Š” MCP ๊ตฌ์„ฑ์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค. ์ด๋Š” managed-mcp.json์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ณ ์ •๋œ ์„œ๋ฒ„ ์„ธํŠธ ๋ฐฐํฌ, allowedMcpServers ๋ฐ deniedMcpServers๋กœ ์„œ๋ฒ„ ์ œํ•œ, ์„œ๋ฒ„๊ฐ€ ์ฐจ๋‹จ๋  ๋•Œ ์‚ฌ์šฉ์ž๊ฐ€ ๋ณด๋Š” ๋‚ด์šฉ์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค.