=================
== The Archive ==
=================

[Microsoft Build 2025] MCP 서버 설계의 올바른 접근법

|

Your API is not an MCP

MCP란 무엇인가?

MCP의 핵심 특징

MCP는 다음과 같은 주요 구성 요소로 이루어져 있다.

기존 API와 MCP의 차이점

설계 목적의 차이

동적 발견(Dynamic Discovery)

표준화된 인터페이스

실시간 통신과 양방향 통신

MCP는 실시간 통신을 지원하며, AI 모델이 데이터를 가져오는 것뿐만 아니라 작업을 수행할 수도 있다.

예를 들어:

왜 단순한 API 변환은 문제인가?

David Gomes의 발표에서 강조된 핵심 메시지는 많은 기업들이 기존 API를 단순히 MCP 서버로 자동 변환하는 것은 올바른 접근이 아니라는 것이다.

그 이유는 다음과 같다:

1. 설계 철학의 차이

2. 컨텍스트 제공 방식

3. 에러 처리와 피드백

올바른 MCP 서버 설계

세션 관리의 중요성

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
const transports = {}; // 세션 ID별로 전송 인스턴스 저장

app.post('/mcp', async (req, res) => {
  const isInitRequest = req.body && req.body.method === 'initialize';

  if (isInitRequest) {
    const sessionId = uuidv4();
    const transport = new StreamableHTTPServerTransport();
    transport.sessionId = sessionId;
    transports[sessionId] = transport;
    res.setHeader('Mcp-Session-Id', sessionId);
  }
  // ... 나머지 처리
});

인증과 보안

프로덕션 환경에서는 OAuth 2.1 with PKCE를 사용한 적절한 인증이 필요하다.

이는 다음과 같은 단계로 구성된다:

  1. 초기 도구 요청: LLM 애플리케이션이 서버 접근 시도
  2. 인증 챌린지: 서버가 “401 Unauthorized” 응답
  3. OAuth 발견: LLM 애플리케이션이 권한 서버 정보 획득
  4. 사용자 로그인 리디렉션: 사용자를 로그인 페이지로 안내
  5. 토큰 교환: 인증 코드를 액세스 토큰으로 교환
  6. 인증된 도구 접근: 토큰을 사용한 권한 있는 요청

실제 활용 사례

개발 환경에서의 활용

Neon의 MCP 서버는 자연어로 PostgreSQL 데이터베이스와 상호작용할 수 있게 해준다. 예를 들어:

1
2
"my-database"라는 새로운 Postgres 데이터베이스를 만들고,
id, name, email, password 컬럼을 가진 users 테이블을 생성해주세요.

AI 에이전트 통합

AI 에이전트는 MCP를 통해 다양한 시스템과 통합될 수 있다:

결론: MCP의 미래

References

Categories:

Tags: