MCP(Model Context Protocol)는 AI가 파일 시스템, 데이터베이스, 클라우드 서비스와 다양한 데이터 소스와 표준화된 방식으로 상호작용할 수 있게 합니다.
# MCP 서버 코드 예시 (GitHub API 연동)
@mcp.tool()
def analyze_github_repo(repo_url: str):
repo = github_api.get_repo(repo_url)
open_issues = repo.get_issues(state='open')
return {
"issues": [issue.title for issue in open_issues],
"last_commit": repo.get_commits()[0].sha
}
# Claude Desktop에서의 사용 예시
질문: "내 'AI-project' 리포지토리의 열린 이슈 목록 알려줘"
→ MCP 서버가 GitHub API 호출 → JSON 응답 반환 → LLM이 자연어로 변환
git clone https://github.com/supabase/mcp-server
npm install @supabase/mcp-server
{
"connectionString": "postgresql://user:password@host:port/dbname",
"port": 5433
}
-- 사용자 입력: "최근 1주일간 회원 가입 수 추이"
SELECT DATE(created_at), COUNT(*)
FROM users
WHERE created_at >= NOW() - INTERVAL '7 days'
GROUP BY DATE(created_at);
@mcp.resource("gdrive://my-docs")
def search_documents(query: str):
docs = drive_api.search(q=query)
return [doc['name'] for doc in docs]
@mcp.tool()
def analyze_slack_channel(channel_id: str):
messages = slack_api.get_channel_history(channel_id)
sentiments = NLPModel.analyze([msg['text'] for msg in messages])
return {"messages": messages, "sentiments": sentiments}
@mcp.tool()
def get_sensor_data(sensor_id: str):
client = mqtt.Client()
client.connect("iot.example.com", 1883)
data = client.get_latest(sensor_id)
return {"temperature": data.temp, "vibration": data.vib}
- path: "/projects/*"
allow: ["read", "metadata"]
- path: "/system/*"
deny: all
@mcp.resource("file:///projects")
def read_project_files(project_name: str):
return open(f"/projects/{project_name}/README.md").read()
표준화된 인터페이스
실시간 스트리밍
확장성
엔터프라이즈 보안
MCP를 통한 데이터 소스 연동은 AI와 실제 업무, 다양한 시스템, 그리고 방대한 데이터의 경계를 허물고 있습니다.
표준화된 프로토콜 덕분에 개발자는 복잡한 커스텀 연동 없이 손쉽게 다양한 데이터 소스와 AI를 연결할 수 있고, 기업은 실시간 분석, 자동화, 보안까지 모두 만족하는 혁신적인 업무 환경을 구축할 수 있습니다.