AI 기술이 급속히 발전하면서 기업들은 다양한 데이터 소스와 도구를 AI 시스템에 연결하려고 노력하고 있습니다. 하지만 각각의 데이터 소스마다 별도의 맞춤형 구현이 필요한 상황에서, 진정으로 연결된 시스템을 확장하는 것은 쉽지 않은 일이었습니다. 이러한 문제를 해결하기 위해 등장한 것이 바로 Model Context Protocol(MCP)이고, 이를 중심으로 한 생태계를 지원하는 플랫폼이 Smithery AI입니다.

MCP(Model Context Protocol)란 무엇인가?
Model Context Protocol은 Anthropic이 2024년 11월에 발표한 오픈 표준으로, AI 어시스턴트와 데이터가 저장된 시스템 간의 연결을 표준화하는 프로토콜입니다. MCP를 “AI 애플리케이션을 위한 USB-C 포트”라고 비유할 수 있습니다. USB-C가 다양한 기기와 주변 장치를 연결하는 표준화된 방법을 제공하는 것처럼, MCP는 AI 모델이 서로 다른 데이터 소스와 도구에 연결하는 표준화된 방법을 제공합니다.
MCP의 핵심 아키텍처
MCP는 클라이언트-서버 아키텍처를 따르며, 다음과 같은 구성 요소로 이루어져 있습니다:
- MCP 호스트: Claude Desktop, IDE, AI 도구 등 데이터에 접근하고자 하는 애플리케이션
- MCP 클라이언트: 서버와 1:1 연결을 유지하는 프로토콜 클라이언트
- MCP 서버: 표준화된 프로토콜을 통해 특정 기능을 노출하는 경량 프로그램
- 데이터 소스: 로컬 파일, 데이터베이스, 웹 API 등 다양한 데이터 저장소
이러한 구조 덕분에 개발자들은 각 데이터 소스마다 별도의 커넥터를 유지할 필요 없이, 하나의 표준 프로토콜만 구현하면 됩니다.
Smithery AI: MCP 생태계의 중심
Smithery AI는 MCP 서버를 위한 레지스트리이자 관리 플랫폼으로, MCP 생태계의 중심 역할을 하고 있습니다. 이 플랫폼은 개발자들이 MCP 서버를 쉽게 발견하고, 설치하고, 관리할 수 있도록 도와줍니다.
주요 기능들
- 서버 레지스트리: GitHub, Slack, Google Drive, PostgreSQL 등 다양한 인기 서비스들을 위한 미리 구축된 MCP 서버들
- 개발 도구: TypeScript 기반의 CLI를 통한 MCP 서버 구축, 테스트, 배포 지원
- 관리 인터페이스: 서버 설치, 구성, 모니터링을 위한 직관적인 사용자 인터페이스
- 보안 기능: 토큰 관리와 데이터 정책을 통한 안전한 서버 운영

두 가지 실행 방식: 로컬 vs 호스팅
Smithery AI는 보안 요구사항과 사용 목적에 따라 두 가지 방식으로 MCP 서버를 실행할 수 있습니다.
로컬 실행 방식
로컬 실행 방식에서는 MCP 서버가 사용자의 컴퓨터에서 직접 실행됩니다:
- 서버 선택: Smithery 대시보드에서 원하는 MCP 서버를 선택
- CLI 명령어 생성: 서버 저장소와 버전을 참조하는 설치 명령어 제공
- 로컬 실행: 사용자 환경에서 직접 서버 실행
- LLM 클라이언트 연결: 로컬 환경에서 AI 모델이 MCP 엔드포인트에 접근
예시 명령어:
smithery install github --config '{"token": "MY_GITHUB_PAT"}'
호스팅 서비스 방식
호스팅 방식에서는 Smithery의 인프라에서 MCP 서버가 실행됩니다:
- 서버 관리: Smithery가 서버 실행과 관리를 담당
- 구성 전달: 웹 인터페이스를 통해 필요한 토큰과 설정 제공
- 실시간 연결: LLM이 호스팅된 엔드포인트에 실시간으로 연결

실제 개발 시작하기
Smithery AI를 이용한 MCP 서버 개발은 매우 간단합니다. 다음은 기본적인 개발 과정입니다:
1. 환경 설정 및 설치
# Smithery CLI 설치
npm install -g @smithery/cli
# 프로젝트 초기화
smithery init my-mcp-server
cd my-mcp-server
2. 서버 구현
src/index.ts
파일을 생성하고 다음과 같이 구현합니다:
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
import { z } from 'zod';
// 구성 스키마 정의
export const configSchema = z.object({
debug: z.boolean().default(false).describe("디버그 로깅 활성화")
});
export default function ({ config }: { config: z.infer<typeof configSchema> }) {
const server = new McpServer({
name: 'My MCP Server',
version: '1.0.0'
});
// 도구 추가
server.tool(
'hello',
'누군가에게 인사하기',
{
name: z.string().describe('인사할 대상의 이름')
},
async ({ name }) => {
return {
content: [{ type: 'text', text: `안녕하세요, ${name}님!` }]
};
}
);
return server.server;
}
3. 개발 및 테스트
# 개발 서버 시작 (핫 리로드 지원)
smithery dev
# 배포용 빌드
smithery build
# 배포
smithery deploy
개발 서버를 시작하면 자동으로 Smithery 플레이그라운드가 열려 서버를 테스트할 수 있습니다.
보안 고려사항과 토큰 관리
MCP 서버 개발과 운영에서 가장 중요한 부분 중 하나는 보안입니다. 특히 API 토큰과 민감한 정보를 안전하게 관리하는 것이 핵심입니다.
토큰 관리 방식
로컬 실행 시:
- 토큰이 사용자의 컴퓨터에 보관됨
- 환경 변수를 통한 토큰 주입 권장
- Smithery는 설치 통계만 추적
호스팅 서비스 시:
- 토큰이 Smithery 백엔드로 전달됨
- 설정 데이터는 “일시적”으로 처리되어 장기간 저장되지 않음
- 호출 메타데이터는 로깅되지만 실제 토큰과 요청 세부사항은 폐기됨
보안 권장 사항
// 호스팅 MCP 서버 사용 시 TypeScript SDK 예시
const client = new MCP.Client({
serverUrl: 'https://server.smithery.ai/@user/github-server',
config: {
githubToken: process.env.GITHUB_TOKEN, // 환경 변수 사용
smitheryApiKey: process.env.SMITHERY_API_KEY
}
});
실제 토큰을 웹 폼에 직접 붙여넣는 것보다는 로컬 환경 변수에 저장하고 이를 참조하는 것이 안전합니다.
AI 생태계에서의 의미와 전망
Smithery AI와 MCP의 등장은 AI 생태계에 중요한 변화를 가져오고 있습니다. 이는 단순한 도구 통합을 넘어서, AI 시스템이 데이터와 상호작용하는 방식을 근본적으로 바꾸고 있습니다.
업계 도입 현황
현재 Block, Apollo와 같은 기업들이 MCP를 자사 시스템에 통합하고 있으며, Zed, Replit, Codeium, Sourcegraph 등의 개발 도구 회사들도 MCP를 활용해 플랫폼을 향상시키고 있습니다. 이들은 AI 에이전트가 관련 정보를 더 잘 검색하고 코딩 작업의 맥락을 이해할 수 있도록 돕고 있습니다.
미래 전망
MCP와 Smithery AI의 발전은 다음과 같은 변화를 이끌 것으로 예상됩니다:
표준화된 AI 도구 연결: 각 데이터 소스마다 별도의 커넥터를 개발하는 대신, 하나의 표준 프로토콜로 다양한 시스템에 연결할 수 있게 됩니다.
향상된 AI 에이전트: AI 시스템이 여러 도구와 데이터셋 간을 이동하면서도 맥락을 유지할 수 있게 되어, 더 복잡하고 유용한 작업을 수행할 수 있습니다.
개발자 경험 개선: 복잡한 통합 작업이 단순화되어 개발자들이 핵심 기능 구현에 더 집중할 수 있게 됩니다.

Smithery AI는 MCP 서버의 발견과 관리를 위한 중앙 허브로서, AI 도구 통합의 새로운 표준을 제시하고 있습니다. 로컬 실행과 호스팅 서비스의 두 가지 방식을 통해 다양한 보안 요구사항을 만족시키면서도, 개발자들이 쉽게 MCP 생태계에 참여할 수 있도록 돕고 있습니다. 이는 AI 시스템이 데이터 사일로를 넘어서 진정으로 연결된 환경에서 작동할 수 있는 기반을 마련하는 중요한 발걸음입니다.
참고자료:
Comments