Contents
see ListMCP란 무엇인가
MCP(Model Context Protocol)는 Anthropic이 2024년 말 공개한 오픈 프로토콜로, AI 모델이 외부 도구, 데이터베이스, API 등과 표준화된 방식으로 통신할 수 있게 해주는 규격이다. 2026년 4월 현재, OpenAI, Microsoft, Google, Amazon 등 주요 벤더가 모두 이 표준을 채택했으며, 1,600개 이상의 MCP 서버가 운영되고 있다.
MCP의 핵심 아키텍처
MCP는 클라이언트-서버 모델을 따른다. AI 에이전트(클라이언트)가 MCP 서버에 요청을 보내면, 서버가 외부 시스템과의 상호작용을 처리하고 결과를 반환한다.
주요 구성 요소
- MCP Host: Claude Desktop, IDE 플러그인 등 AI가 실행되는 환경
- MCP Client: 호스트 내에서 서버와 1:1 연결을 유지하는 프로토콜 클라이언트
- MCP Server: 특정 기능을 노출하는 경량 프로그램(도구, 리소스, 프롬프트 제공)
MCP 서버 만들기 - TypeScript 예제
MCP SDK를 사용하면 몇 줄의 코드로 서버를 구축할 수 있다.
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
const server = new McpServer({
name: "weather-server",
version: "1.0.0"
});
// 도구 정의
server.tool(
"get-weather",
"지정한 도시의 현재 날씨를 조회합니다",
{ city: z.string().describe("도시 이름") },
async ({ city }) => {
const response = await fetch(
`https://api.weatherapi.com/v1/current.json?q=${city}`
);
const data = await response.json();
return {
content: [{
type: "text",
text: `${city}: ${data.current.temp_c}도, ${data.current.condition.text}`
}]
};
}
);
// 리소스 정의
server.resource(
"config",
"config://app",
async (uri) => ({
contents: [{
uri: uri.href,
mimeType: "application/json",
text: JSON.stringify({ version: "1.0", region: "kr" })
}]
})
);
// 서버 시작
const transport = new StdioServerTransport();
await server.connect(transport);MCP 서버 설정 (claude_desktop_config.json)
만든 서버를 Claude Desktop에 등록하려면 설정 파일에 추가한다.
{
"mcpServers": {
"weather": {
"command": "node",
"args": ["./weather-server/index.js"],
"env": {
"WEATHER_API_KEY": "your-api-key"
}
},
"database": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres",
"postgresql://localhost/mydb"]
}
}
}2026년 MCP 로드맵 핵심 변화
1. 전송 계층 확장
기존 stdio 방식 외에 Streamable HTTP 전송이 표준으로 추가되었다. 이를 통해 원격 서버 배포와 클라우드 환경에서의 MCP 서버 운영이 가능해졌다.
2. 인증 및 보안 강화
OAuth 2.1 기반 인증 프레임워크가 도입되었다. SSO 통합, 감사 로그, 게이트웨이 동작 정의 등 엔터프라이즈 요구사항을 충족하는 보안 기능이 추가되었다.
// OAuth 2.1 인증이 적용된 MCP 서버 예제
const server = new McpServer({
name: "secure-server",
version: "1.0.0",
auth: {
type: "oauth2",
authorizationUrl: "https://auth.example.com/authorize",
tokenUrl: "https://auth.example.com/token",
scopes: ["read", "write"]
}
});3. 에이전트 간 통신
A2A(Agent-to-Agent) 통신 프로토콜이 로드맵에 포함되어, 여러 AI 에이전트가 MCP를 통해 협력하는 워크플로우를 구성할 수 있게 된다.
실무 활용 시나리오
데이터베이스 자연어 쿼리
PostgreSQL MCP 서버를 연결하면 AI가 자연어로 데이터를 조회하고 분석할 수 있다.
# PostgreSQL MCP 서버 실행
npx -y @modelcontextprotocol/server-postgres \
"postgresql://user:password@localhost:5432/mydb"파일 시스템 접근
# 파일 시스템 MCP 서버 (특정 디렉토리만 허용)
npx -y @modelcontextprotocol/server-filesystem \
/home/user/projects /home/user/documentsGit 저장소 관리
# Git MCP 서버
npx -y @modelcontextprotocol/server-git \
--repository /path/to/repoMCP 도입 시 주의사항
- 최소 권한 원칙: 서버에 필요한 최소한의 권한만 부여한다
- 입력 검증: 모든 도구 입력에 Zod 등의 스키마 검증을 적용한다
- 비용 관리: 외부 API 호출이 포함된 도구는 rate limiting을 설정한다
- 로깅: 모든 도구 호출을 기록하여 디버깅과 감사에 활용한다
MCP는 AI 에이전트의 외부 시스템 통합을 표준화하는 핵심 프로토콜로 자리잡았다. 직접 서버를 구축하거나 커뮤니티에서 제공하는 1,600개 이상의 서버를 활용하여 AI 워크플로우를 확장해보자.
ai
| No | 작성일 | Title |
|---|---|---|
| 3376 | 2026. 08. 19. | MCP 도구를 안전하게 연결하는 방법: 권한 분리·입력 검증·감사 로그 설계 |
| 3344 | 2026. 08. 10. | RAG 검색 품질 높이는 방법: 청크 분할·메타데이터·재순위화 실전 설계 |
| 3312 | 2026. 08. 02. | LLM 서비스 응답 품질을 안정화하는 구조화 출력과 검증 파이프라인 |
| 3280 | 2026. 07. 25. | MCP 서버 운영 가이드: 권한 범위와 입력 스키마로 AI 도구 호출 통제하기 |
| 3251 | 2026. 07. 17. | RAG 검색 품질 높이는 실전 설계: 청킹·메타데이터·하이브리드 검색 적용법 |
| 3198 | 2026. 07. 08. | LLM 도구 호출 안전 설계: 입력 검증, 승인 단계, 실행 로그 만들기 |
| 3165 | 2026. 06. 30. | LLM 답변 품질 평가 운영 가이드: 골든셋과 자동 채점으로 회귀를 막기 |
| 3109 | 2026. 06. 22. | RAG 검색 품질을 높이는 문서 청킹과 메타데이터 설계 가이드 |
| 3051 | 2026. 06. 14. | AI 에이전트 도구 호출 운영 가이드: 권한, 타임아웃, 재시도 설계 |
| 2964 | 2026. 06. 06. | LLM 응답 품질 평가 자동화: 테스트셋과 회귀 점검으로 답변 흔들림 줄이기 |