TechFeedTechFeed
AI / LLM

MCP(Model Context Protocol) 완벽 가이드

Anthropic이 만든 MCP의 개념, 구조, 서버 구축, 실전 활용법을 정리한다. stdio/SSE 전송 방식, 도구·리소스 정의, Claude Code·Cursor 연동과 보안 고려사항까지 포함한다.

한 줄 요약: MCP(Model Context Protocol)는 AI 모델이 외부 도구·데이터 소스와 표준화된 방식으로 연결되는 개방형 프로토콜로, AI 에이전트 생태계의 USB-C에 해당한다.

Anthropic이 주도하고 OpenAI, Google, Microsoft가 지원을 선언한 MCP는 AI 코딩 도구가 데이터베이스, API, 파일 시스템, Git 저장소 등에 안전하게 접근하는 표준이다. 이 가이드는 MCP의 구조, 서버 구축법, 실전 활용 패턴을 정리한다.

MCP란 무엇인가

Model Context Protocol(MCP)은 AI 모델이 외부 도구와 데이터 소스에 연결되는 표준 프로토콜입니다. Anthropic이 오픈 표준으로 공개했으며, AI 에이전트가 Google Drive, Slack, Jira, 데이터베이스 등과 소통하는 방법을 정의합니다.

MCP란 무엇인가 — 모델 성능 벤치마크 비교 차트
MCP(Model Context Protocol) 완벽 가이드 — 모델 성능 벤치마크 비교 차트 (출처: 공식 문서 및 벤치마크 데이터 기반)

MCP 이전에는 각 AI 도구가 자체적인 플러그인/확장 시스템을 사용했다. Cursor는 Cursor 전용 확장을, Copilot은 VS Code 확장을, Claude Code는 자체 도구 시스템을 갖고 있었다. MCP는 이를 하나의 표준으로 통합한다. 하나의 MCP 서버를 만들면 Claude Code, Cursor, Windsurf, Zed 등 모든 MCP 지원 클라이언트에서 사용할 수 있다.

MCP의 구조는 클라이언트-서버 모델이다. AI 도구(클라이언트)가 MCP 서버에 연결하면, 서버는 자신이 제공하는 도구 목록(Tool), 리소스(Resource), 프롬프트 템플릿을 클라이언트에 알린다. AI 모델이 특정 도구가 필요하다고 판단하면 서버에 요청을 보내고, 서버가 실행 결과를 반환한다.

Claude Code에서 MCP 서버 연결
# claude_desktop_config.json 또는 .claude/settings.json { "mcpServers": { "postgres": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-postgres", "postgresql://user:pass@localhost/mydb"] }, "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"], "env": { "GITHUB_TOKEN": "ghp_xxxx" } } } }

MCP 서버 구조

MCP 서버는 3가지 요소로 구성됩니다:

  • Resources: AI가 읽을 수 있는 데이터 (파일, DB 레코드 등)
  • Tools: AI가 실행할 수 있는 기능 (검색, 생성, 수정 등)
  • Prompts: 미리 정의된 프롬프트 템플릿
MCP 서버 구조 — 시스템 아키텍처 다이어그램
MCP(Model Context Protocol) 완벽 가이드 — 시스템 아키텍처 다이어그램 (출처: 공식 문서 및 벤치마크 데이터 기반)

실전: 나만의 MCP 서버 만들기

TypeScript로 간단한 MCP 서버를 만들 수 있습니다. @modelcontextprotocol/sdk 패키지를 설치하고, 도구와 리소스를 정의하면 됩니다. Claude Code나 Claude Desktop에서 바로 연결 가능합니다.

실전: 나만의 MCP 서버 만들기 — 비용 대비 성능 분석 도표
MCP(Model Context Protocol) 완벽 가이드 — 비용 대비 성능 분석 도표 (출처: 공식 문서 및 벤치마크 데이터 기반)

주요 MCP 서버 목록

이미 사용 가능한 MCP 서버들: Google Drive, Slack, GitHub, PostgreSQL, Puppeteer(웹 브라우징), Filesystem(파일 접근) 등. mcp.so에서 전체 목록 확인 가능.

나만의 MCP 서버 만들기

MCP 서버는 TypeScript 또는 Python으로 구축할 수 있다. @modelcontextprotocol/sdk(TS) 또는 mcp(Python) 패키지가 공식 SDK다. 서버는 도구(Tool)를 정의하고, 각 도구의 입력 스키마와 실행 로직을 구현한다.

TypeScript MCP 서버 기본 구조
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; const server = new McpServer({ name: "my-server" }); server.tool("query_db", { sql: { type: "string", description: "SQL query" } }, async ({ sql }) => { const result = await db.query(sql); return { content: [{ type: "text", text: JSON.stringify(result) }] }; } ); server.run();

@modelcontextprotocol/server-postgres: PostgreSQL 데이터베이스를 AI에 연결. 스키마 조회, 쿼리 실행, 테이블 구조 분석이 가능하다. server-github: GitHub API를 통해 이슈 관리, PR 생성, 코드 검색을 수행한다. server-filesystem: 로컬 파일 시스템 접근을 제공하되, 허용된 디렉토리만 접근 가능하도록 샌드박스를 설정할 수 있다.

보안 주의: MCP 서버는 AI 모델에 실제 시스템 접근 권한을 부여한다. 프로덕션 DB 연결 시 읽기 전용 사용자를 사용하고, 파일 시스템 서버는 특정 디렉토리만 허용해야 한다. 민감한 환경 변수는 .env 파일이 아닌 시스템 키체인이나 시크릿 매니저를 통해 주입하라.
MCPmodel-context-protocolanthropic통합서버

관련 도구

관련 포스트

에이전틱 AI 파운데이션(AAIF) 출범 — MCP, AGENTS.md, Goose가 하나로2026-03-17에이전틱 AI 파운데이션(AAIF) — MCP·AGENTS.md·goose가 리눅스 재단으로 간 이유2026-03-20AAIF 출범 — MCP·AGENTS.md·goose, AI 에이전트 표준화 시대2026-03-20개발자를 위한 프롬프트 엔지니어링 실전 가이드2026-02-06