MCP 서버 구축의 성공 요인
-
유용한 문서: MCP 문서는 간결하지만 유용하여, 단시간 내에 작동하는 서버를 구축할 수 있었습니다.
-
Claude Desktop의 코드 생성 능력: Claude Desktop은 MCP 서버 코드 생성에 탁월한 성능을 보였으며, 이는 MCP를 개발한 회사에서 제공하는 LLM의 특성상 놀라운 일은 아닙니다.
-
TypeScript의 이상적인 활용: LLM이 TypeScript에 대한 방대한 지식을 가지고 있어, MCP 서버 언어로 TypeScript를 활용하는 것이 매우 효과적이었습니다.
MCP 구현 시 직면한 도전 과제
-
실질적인 엔지니어링 작업 필요: MCP는 ‘노코드’ 또는 ‘로우코드’ 솔루션이 아니며, 질문과 도구 간의 결합도가 높아 상당한 엔지니어링 노력이 요구됩니다. 복잡한 쿼리를 처리하려면 정교한 MCP 서버 구현이 필수적입니다.
-
데이터 품질 문제 (Garbage In, Garbage Out): MCP는 데이터의 불완전성이나 모호성을 해결해주지 않습니다. 예를 들어, ‘전투 승리’와 같은 개념이 데이터마다 다르게 정의될 경우, LLM은 정확하고 의미 있는 답변을 제공하기 어렵습니다. 이는 데이터의 의미론적 이해와 추가적인 소프트웨어 개발의 필요성을 시사합니다.
-
보안 문제: LLM에 민감한 클라이언트 데이터를 제공하는 것은 심각한 보안 위험을 초래할 수 있습니다. 이러한 위험성에 대한 충분한 논의와 해결책 마련이 시급합니다.
개선을 위한 제언
-
데이터 제약 해결: 데이터 저장소 사용자 설문조사를 통해 데이터 사용 방식을 파악하고, 이를 LLM 프롬프트에 활용하여 더 나은 답변을 유도할 수 있습니다. 특히 SQL MCP의 경우, LLM에 데이터베이스 스키마를 제공하는 것이 많은 시간을 절약할 수 있습니다.
-
에이전트 프로그래밍 고려: MCP를 활용한다면 에이전트 프로그래밍을 함께 고려하는 것이 효율적입니다. 이는 LLM이 이미 작성한 코드에 대해 다시 설명하는 불필요한 시간을 줄일 수 있습니다.