Claude가 내 SaaS 분석 데이터를 직접 조회할 수 있도록 MCP 서버 구축하기
요약
SaaS 분석 데이터를 Claude와 같은 AI 클라이언트가 직접 조회할 수 있도록 Model Context Protocol(MCP) 서버를 구축하는 방법을 소개합니다. MCP를 통해 원자적 도구(atomic tools)를 정의하면, LLM이 스스로 도구를 체이닝하여 복잡한 데이터 분석을 수행할 수 있습니다.
핵심 포인트
- MCP는 AI 클라이언트가 외부 도구와 리소스를 호출할 수 있게 하는 프로토콜임
- 데이터 반환 시 자연어 요약과 JSON을 함께 제공하는 것이 효과적임
- 원자적 도구 설계 시 LLM이 스스로 도구를 조합해 복잡한 분석 수행 가능
- Claude Desktop 및 Cursor 등 MCP 호환 클라이언트와 연동 가능
지난주에 저는 제 분석 SaaS(SaaS analytics)를 위한 Model Context Protocol (MCP) 서버를 출시했습니다. 이제 Claude Desktop, Cursor, 그리고 모든 MCP 호환 클라이언트가 트래픽, 매출, 퍼널(funnel) 데이터를 직접 조회할 수 있습니다. 이 글은 제가 이를 어떻게 구축했는지, 무엇이 효과적이었는지, 그리고 저를 놀라게 했던 몇 가지 패턴에 대한 가이드입니다.
MCP란 무엇인가: 간단히 말해 MCP는 AI 클라이언트가 외부 서버로부터 도구(tools)를 호출하고 리소스(resources)를 읽을 수 있게 해주는 프로토콜입니다. 안정적인 스키마(schema)와 디스커버리(discovery) 기능을 갖춘, LLM 도구 호출을 위한 REST라고 생각하면 됩니다.
서버 스켈레톤 (Server skeleton)
import { Server } from ' @modelcontextprotocol/sdk/server/index.js '
import { StdioServerTransport } from ' @modelcontextprotocol/sdk/server/stdio.js '
const server = new Server ({
name : ' zenovay ' ,
version : ' 1.0.0 ' ,
}, {
capabilities : {
tools : {},
resources : {}
}
})
도구 정의 (Defining tools)
server . setRequestHandler ( ' tools/list ' , async () => ({
tools : [
{
name : ' get_traffic ' ,
description : ' 특정 날짜 범위 동안 사이트의 페이지뷰 및 방문자 수를 가져옵니다 '
inputSchema : {
type : ' object ' ,
properties : {
site : { type : ' string ' },
from : { type : ' string ' },
to : { type : ' string ' }
},
required : [ ' site ' , ' from ' , ' to ' ]
}
}
]
}))
나를 놀라게 했던 패턴: 구조화된 반환 (structured returns)
가공되지 않은 JSON (raw JSON)보다 훨씬 나은 방법은 짧은 자연어 요약과 데이터를 함께 반환하는 것입니다. Claude는 요약을 응답에 사용하고, JSON은 후속 질문을 위해 사용합니다.
예상치 못했던 점
사용자들이 제가 대시보드를 만들어 놓지 않은 것들을 Claude에게 요청하기 시작했습니다:
"이번 주 유료 트래픽 전환율을 지난주와 비교해줘"
"페이지뷰가 전주 대비 가장 많이 감소한 페이지 5개는 무엇인가요?"
"지난 30일 동안 퍼널 완료율(funnel completion rate)에서 무엇이 변했는지 요약해줘"
Claude는 여러 번의 도구 호출(tool calls)을 체이닝(chaining)함으로써 이를 수행합니다. 저는 이러한 뷰(views)를 전혀 구축할 필요가 없었습니다. 도구는 원자적(atomic)이며, Claude가 이를 조합합니다. 이것이 MCP에서 진정으로 새롭다고 생각하는 부분입니다. 인터페이스는 LLM이며, 백엔드는 잘 형성된 도구들일 뿐입니다.
설치: npm install -g @zenovay/mcp를 실행한 다음 Claude Desktop 설정에 추가하세요. 사이트: zenovay.com 오픈 소스 MCP 서버 작업도 여기서 진행 중인가요? 다른 분들은 어떤 패턴을 발견했는지 궁금합니다. Valerio
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기