AI 에이전트가 세상과 연결되는 법 — MCP(Model Context Protocol) 완벽 정리 2026

최종 업데이트: 2026년 4월 23일

📋 이 글을 읽기 전에 확인할 것

  • Claude Desktop, Claude Code, Cursor 중 하나 이상 사용 중이거나 관심 있는 분
  • AI가 내 파일·DB·API에 직접 접근하게 만들고 싶은 분
  • Python 기초 문법 정도는 읽을 수 있는 분 (개발자 아니어도 OK)

예상 소요 시간: 10~15분 / 난이도: 초중급


💻 이 글을 읽은 분께 도움 될 장비

※ 쿠팡 파트너스 활동의 일환으로, 일정액의 수수료를 제공받을 수 있습니다.

Step 1. MCP가 뭐고, 왜 지금 주목받나

솔직히 처음 MCP라는 단어를 들었을 때 “또 새로운 약자 생겼네” 싶었다.

근데 파고들수록 달랐다. MCP(Model Context Protocol)는 AI와 외부 세계 사이의 표준 통신 규약이다. AI가 내 파일 시스템에 접근하고, GitHub 레포를 읽고, 데이터베이스에 쿼리를 날리도록 만드는 “공용 언어”라고 보면 된다.

이전엔 어땠을까? 도구마다 제각각이었다. ChatGPT 플러그인은 OpenAI 방식, Claude는 Claude 방식, Cursor는 Cursor 방식. 개발자가 같은 기능을 플랫폼마다 따로 만들어야 했다. 마치 USB 규격이 제조사마다 달랐던 시절처럼, 비효율이 쌓였다.

MCP는 그걸 바꾼다.

Anthropic이 2024년 11월에 공개했고(Anthropic 공식 발표), 2025년 11월 1주년에 대규모 스펙 업데이트(비동기 작업·상태 비저장·서버 인증)가 나왔다. 지금은 Anthropic이 Linux Foundation 산하 Agentic AI Foundation(AAIF)에 기증해 오픈 표준으로 운영 중이다. (출처: Anthropic, 2025) Block, OpenAI, Google, Microsoft, AWS가 모두 공동 창립자다(출처: [Anthropic 공식 발표](https://www.anthropic.com/news/donating-the-model-context-protocol-and-establishing-of-the-agentic-ai-foundation), 2025).

기존 함수 호출(Function Calling)과 뭐가 다른지 궁금할 거다. 핵심 차이는 딱 하나다.

한마디로, USB-C 등장 전후 차이다.

구분Function CallingMCP
표준화플랫폼마다 다름단일 오픈 표준
서버 재사용불가가능 (한 번 만들면 어디서든)
연결 방식모델에 직접 바인딩독립 서버로 분리
생태계폐쇄적오픈소스 공유 가능

Step 2. 핵심 구조 5가지 — Host·Server·Client·Resource·Tool

구조 얘기가 지루할 수 있는데, 이건 진짜 알아야 나중에 안 헷갈린다.

MCP란 AI 애플리케이션(Host)이 외부 데이터 제공자(Server)와 표준 방식으로 대화하게 해주는 프로토콜이다.

핵심 컴포넌트 5가지

  • Host: MCP를 사용하는 AI 앱. Claude Desktop, Claude Code, Cursor 같은 것들
  • Client: Host 안에 내장된 연결 관리자. 서버 1개당 Client 1개가 붙는다
  • Server: 실제 데이터나 기능을 제공하는 프로그램. 내 PC에서 돌아갈 수도, 원격 서버일 수도 있다
  • Resource: 서버가 제공하는 데이터 (파일 내용, DB 조회 결과, API 응답 등 — GET 방식)
  • Tool: 서버가 제공하는 실행 가능한 기능 (파일 쓰기, 검색, 코드 실행 등 — POST 방식)

왜 그럴까? Host-Client-Server를 왜 굳이 3단계로 나눌까? 하나의 AI 앱이 동시에 여러 서버(파일 시스템, GitHub, Slack, DB)에 연결해야 하기 때문이다. Client가 각 서버를 독립적으로 관리하면 충돌 없이 병렬로 연결된다.

통신 방식은 JSON-RPC 2.0 기반이다. 처음 연결 시 Capability Negotiation(능력 협상)을 한다. 서버가 “나는 Tool과 Resource를 제공할 수 있어”라고 선언하면, Client가 그걸 확인하고 세션을 맺는다.

Prompt도 있다. Tool(행동)·Resource(데이터)·Prompt(템플릿) 세 가지가 서버가 제공하는 원시(primitive)다. Prompt는 AI와의 대화 패턴을 재사용 가능하게 만드는 것. 예를 들어 “이 파일을 코드 리뷰해줘” 같은 대화 시작 템플릿을 서버에서 제공할 수 있다.


MCP 아키텍처 구조 — Host·Client·Server 연결 다이어그램

Step 3. 실제로 어떻게 쓰나 — Claude Desktop·Cursor 설정

이론보다 실전이 중요하다.

Claude Desktop에서 파일 시스템 연결하기

Claude Desktop을 설치했다면 `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) 또는 `%APPDATA%\Claude\claude_desktop_config.json` (Windows)을 열면 된다.

“`json

{

“mcpServers”: {

“filesystem”: {

“command”: “npx”,

“args”: [

“-y”,

“@modelcontextprotocol/server-filesystem”,

“/Users/username/Documents”

]

}

}

}

“`

저장하고 Claude Desktop 재시작. 이제 Claude가 지정한 Documents 폴더를 직접 읽고 쓸 수 있다. 대화창에 “Documents 폴더에 있는 파일 목록 보여줘”라고 치면 실제로 조회해온다.

Cursor에서 GitHub MCP 연결하기

Cursor Settings → MCP 탭으로 가면 된다. 2025년 4월부터 `@modelcontextprotocol/server-github` npm 패키지는 지원이 종료됐고, 공식 Docker 이미지를 쓰는 게 권장된다.

“`json

{

“mcpServers”: {

“github”: {

“command”: “docker”,

“args”: [

“run”,

“-i”,

“–rm”,

“-e”,

“GITHUB_PERSONAL_ACCESS_TOKEN”,

“ghcr.io/github/github-mcp-server”

],

“env”: {

“GITHUB_PERSONAL_ACCESS_TOKEN”: “your_token_here”

}

}

}

}

“`

이렇게 하면 Cursor에서 “이 레포의 최근 PR 목록 보여줘”, “이슈 #123 내용 요약해줘” 같은 걸 자연어로 할 수 있다. 토큰 발급은 GitHub Settings → Developer Settings → Personal access tokens에서.


Step 4. 커스텀 MCP 서버 만들기 (Python 예시)

이게 진짜 재미있는 부분이다.

MCP 서버 개발은 장시간 타이핑이 기본이라, 기계식 키보드처럼 키 입력 피드백이 명확한 장비가 집중력 유지에 꽤 도움이 된다.

오픈소스 프로젝트에서 내부 API를 Claude Code에 연동하는 작업을 해본 적이 있다. MCP 서버 하나 만들어서 붙이니까, 자연어로 API 호출이 됐다. 설정 파일 뒤지고 curl 치던 시간이 반으로 줄었다.

설치

“`bash

pip install mcp

또는 uv 사용 (권장)

uv add mcp

“`

기본 서버 예시 — 날씨 도구 제공

“`python

from mcp.server.fastmcp import FastMCP

FastMCP: 빠르게 서버 만드는 고수준 API

mcp = FastMCP(“my-weather-server”)

@mcp.tool()

def get_weather(city: str) -> str:

“””도시 이름으로 현재 날씨를 조회합니다.”””

실제로는 날씨 API 호출

return f”{city}의 현재 날씨: 맑음, 22°C”

@mcp.resource(“config://app-settings”)

def get_app_settings() -> str:

“””앱 설정을 Resource로 제공합니다.”””

return ‘{“version”: “1.0”, “debug”: false}’

if __name__ == “__main__”:

mcp.run()

“`

코드가 짧다. 놀랍다. `@mcp.tool()` 데코레이터 하나면 함수가 AI가 호출할 수 있는 Tool이 된다. 타입 힌트(type hint)가 도구 설명서 역할을 한다. docstring이 AI에게 “이 도구는 이렇게 쓰는 거야”라고 알려준다.

Claude Desktop에 내 서버 연결하기

“`json

{

“mcpServers”: {

“my-weather”: {

“command”: “python”,

“args”: [“/path/to/my_server.py”]

}

}

}

“`

이게 전부다. 파이썬 파일 경로만 넣으면 Claude Desktop이 서버를 자동으로 실행하고 연결한다.

공식 Python SDK 문서와 예제는 [modelcontextprotocol/python-sdk](https://github.com/modelcontextprotocol/python-sdk)에 있다. FastMCP 고수준 API뿐만 아니라 저수준 Server API도 제공해서 복잡한 케이스도 처리 가능하다.


Python FastMCP 서버 코드 예시

Step 5. 공식 서버 생태계 — 바로 써먹을 수 있는 것들

직접 만들기 전에, 이미 있는 거 쓰는 게 맞다.

[modelcontextprotocol/servers](https://github.com/modelcontextprotocol/servers) GitHub에 공식 레퍼런스 서버들이 모여 있다. 대표적인 것만 추리면 이렇다.

서드파티로는 주목할 만한 게 몇 개 있다.

Playwright MCP — Microsoft가 만든 브라우저 자동화 서버다. AI가 웹 브라우저를 직접 조작한다. 스크린샷 없이 DOM 접근성 트리로 상호작용해서 가볍다. ([microsoft/playwright-mcp](https://github.com/microsoft/playwright-mcp))

AWS Labs MCP — AWS 서비스들(S3·Lambda·CloudWatch 등)을 MCP로 제어하는 공식 서버 모음. ([awslabs/mcp](https://github.com/awslabs/mcp))

더 많은 서버를 찾고 싶다면 [MCP 공식 예제 페이지](https://modelcontextprotocol.io/examples)를 보면 된다. 커뮤니티가 엄청나게 빠르게 서버를 쌓고 있다. 2026년 현재 수천 개 이상의 MCP 서버가 공개돼 있다.

왜 이렇게 빨리 늘었을까? 한 번 만든 서버가 Claude, Cursor, 다른 MCP 지원 앱 어디서든 쓰이기 때문이다. 개발자 입장에선 한 번 만들면 시장이 통째로 열린다.

서버기능한 줄 요약
filesystem파일 읽기/쓰기지정 폴더 내 파일 전체 제어
gitGit 조작커밋 로그·diff·브랜치 관리
sqliteSQLite DB자연어로 쿼리 실행
fetch웹 콘텐츠URL 가져와서 LLM 친화적으로 변환
memory지식 그래프대화 간 정보 지속 저장
sequential-thinking추론 강화단계적 사고 체인 구성
time시간·타임존시간 계산 및 변환

MCP 보안 설정 — API 토큰 관리 및 접근 제어

💡 사람들이 함께 묻는 질문

  • MCP 서버를 만들려면 어떤 언어를 써야 하나요?
  • Claude Desktop에서 MCP 서버가 인식이 안 될 때는?
  • MCP와 LangChain Tools의 차이는 무엇인가요?
  • 원격 MCP 서버는 어떻게 보안을 설정하나요?

Step 6. 주의할 점 — 보안·인증·한계

여기까지 읽고 “당장 다 연결해야겠다”는 생각이 든다면, 잠깐만.

보안 — 가장 중요한 것부터

MCP 서버는 로컬에서 실행되지만, 그 권한 범위를 명확히 설정해야 한다.

파일 시스템 서버는 반드시 접근 허용 폴더를 최소한으로 지정해야 한다. 루트 디렉토리(`/`)를 통째로 주는 건 위험하다.

“`json

// 나쁜 예

“args”: [“-y”, “@modelcontextprotocol/server-filesystem”, “/”]

// 좋은 예

“args”: [“-y”, “@modelcontextprotocol/server-filesystem”, “/Users/name/Projects/my-project”]

“`

외부 서버(원격 MCP)는 2025년 11월 스펙에서 서버 인증(Server Identity) 기능이 추가됐다. 하지만 아직 모든 클라이언트가 구현을 완료한 건 아니다. 외부 원격 MCP 서버를 연결할 땐 반드시 신뢰할 수 있는 출처인지 확인할 것.

인증 토큰 관리

GitHub, Slack, Notion 같은 서비스를 연결할 때 Personal Access Token이 필요하다. 이 토큰을 JSON 설정 파일에 평문으로 넣는 건 좋지 않다. 환경 변수를 쓰는 게 맞다.

“`bash

.env 파일 또는 시스템 환경 변수로 관리

export GITHUB_PERSONAL_ACCESS_TOKEN=”ghp_xxxx”

“`

현재 한계들

솔직히 말하면, MCP가 완벽한 건 아니다.

레이트 리밋 문제: AI가 Tool을 반복 호출할 때 외부 API 레이트 리밋에 걸릴 수 있다. 서버 측에서 요청 간격을 조절하는 로직이 필요하다.

긴 컨텍스트 문제: Resource로 받아온 데이터가 너무 크면 AI의 컨텍스트 창을 금방 채운다. 데이터를 페이지네이션하거나 요약해서 제공하는 게 좋다.

에러 처리: MCP 서버가 비정상 종료되면 클라이언트가 멈추는 경우가 있다. 서버에 try-except를 꼼꼼히 넣어야 한다.

Windows 환경: `npx` 기반 서버가 Windows에서 경로 문제를 일으키는 케이스가 아직 있다. WSL2 환경에서 실행하면 대부분 해결된다.

⚠️ 주의

MCP 서버에 연결된 도구는 AI의 판단으로 실행된다. 파일 삭제, DB 업데이트 같은 되돌리기 어려운 작업을 하는 Tool은 반드시 “사용자 확인” 단계를 넣거나, 처음엔 읽기 전용(Read-only)으로만 시작하는 걸 권장한다.


최종 체크리스트 — MCP 도입 전 확인할 것

기본 설정

Claude Desktop과 터미널·에디터를 동시에 펼쳐두려면 32인치 4K 모니터 정도 화면이 있어야 쾌적하게 작업이 돌아간다.

  • [ ] MCP 지원 클라이언트 설치 (Claude Desktop, Claude Code, Cursor 등)
  • [ ] Node.js 18+ 또는 Python 3.10+ 설치 (서버 실행 환경)
  • [ ] 연결할 서버의 공식 GitHub README 읽기
  • 보안

  • [ ] 파일 시스템 서버: 접근 폴더 최소 범위로 제한
  • [ ] API 토큰: 환경 변수 사용, 평문 JSON 금지
  • [ ] 외부 원격 서버: 출처 신뢰성 확인
  • 운영

  • [ ] 서버 에러 로그 모니터링 경로 파악
  • [ ] 데이터 변경 Tool은 되돌리기 가능 여부 확인
  • [ ] 레이트 리밋 있는 API는 재시도 로직 포함 여부 확인

  • ✍️ 작성자: 류민서 | AI 에디터 · 테크 리뷰어

    AI·테크 전문 에디터 4년, ChatGPT·Claude 등 AI 도구 200종 이상을 직접 리뷰한 전문가입니다. 생성형 AI 트렌드·활용법·도구 비교를 실사용 경험 기반으로 전달합니다.

    류민서의 실전 메모

    오픈소스 프로젝트에서 내부 문서 검색 API를 Claude Code에 연동하는 작업에서 MCP를 처음 실전 도입했다. 기존엔 API 명세 문서를 열어두고 수동으로 curl을 치거나, 파라미터를 AI에게 붙여넣기 했다. 단순 반복이었다.

    MCP 서버를 하나 만들어서 내부 API를 Tool로 노출했더니, Claude Code가 필요한 엔드포인트를 스스로 호출하기 시작했다. 세팅 시간은 2시간 정도 걸렸는데, 이후 같은 팀원들이 서버 하나를 그대로 가져다 각자 환경에 연결했다. MCP의 “한 번 만들면 어디서나” 장점을 직접 체험한 케이스였다.

    한 가지 팁: 처음엔 Read-only Tool만 만들어서 시작하라. AI가 예상치 못한 방식으로 Tool을 조합하는 경우가 생각보다 많다. 쓰기 권한은 충분히 검증한 뒤에 추가하는 게 훨씬 안전하다.

    MCP는 AI를 “채팅 도구”에서 “실제로 일하는 에이전트”로 업그레이드하는 핵심 인프라다. 지금 당장 Claude Desktop에 파일 시스템 서버 하나 연결해보는 것부터 시작해보자.

    📌 핵심 요약: MCP = AI와 외부 세계 사이의 USB-C. 한 번 만든 서버는 Claude, Cursor, 어디서든 쓴다.


    관련 글

  • [AI 에이전트 도입했다가 망한 기업들이 놓친 것 — 거버넌스 핵심 3가지](https://knowhub.fun/2026-ai-agent-governance-guide/)
  • [구글 AI 2026 총정리 — Gemini 진화부터 TPU 아이언우드까지](https://knowhub.fun/2026-google-ai-gemini-tpu-ironwood-io/)
  • 공신력 출처

  • [MCP 공식 문서](https://modelcontextprotocol.io) — modelcontextprotocol.io
  • [MCP 공식 GitHub 조직](https://github.com/modelcontextprotocol) — github.com/modelcontextprotocol
  • [Anthropic MCP 발표 원문](https://www.anthropic.com/news/model-context-protocol) — anthropic.com

  • 자주 묻는 질문

    MCP는 무료인가요?

    MCP 프로토콜 자체는 오픈 표준이고 무료입니다. 공식 서버들도 오픈소스입니다. 단, 연결하는 외부 서비스(GitHub, Slack 등)는 해당 서비스의 요금제를 따릅니다.

    MCP를 쓰려면 개발자여야 하나요?

    공식 MCP 서버를 Claude Desktop에 연결하는 것은 JSON 설정 파일만 편집하면 되어서 비개발자도 가능합니다. 커스텀 서버 구축은 Python 기초 지식이 필요합니다.

    MCP 서버가 해킹 위험이 있지 않나요?

    로컬 MCP 서버는 인터넷에 직접 노출되지 않아 기본적으로 안전합니다. 단, 파일 시스템 접근 폴더를 최소한으로 제한하고, API 토큰을 환경 변수로 관리하는 것이 중요합니다.

    MCP 공식 문서에서 더 자세한 내용 확인하기

    👉 modelcontextprotocol.io 바로가기

    댓글 달기

    이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

    위로 스크롤