본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 05. 18. 05:34

뮌헨의 60년 된 꽃집을 위해 MCP 서버를 구축한 이야기

요약

이 글은 60년 된 뮌헨의 전통 꽃집을 위해 Model Context Protocol (MCP) 서버를 구축한 경험담입니다. 저자는 Claude Code와 같은 AI 도구들을 활용하여, 검색, 재고 확인, 장바구니 생성 등 복잡한 기능을 갖춘 REST API 및 MCP 서버를 하룻밤 만에 구현했습니다. 이 시스템은 Mistral Le Chat과 같은 LLM 에이전트가 실제 주문을 처리할 수 있도록 설계되었으며, AI 네이티브 커머스 시대를 선도하려는 목적을 보여줍니다.

핵심 포인트

  • AI 기반의 'Agentic Commerce' 개념을 전통 비즈니스에 적용하는 사례를 제시합니다.
  • Claude Code와 같은 도구를 활용하여 복잡한 백엔드 시스템(REST API, 결제 흐름 등)을 단기간에 구축할 수 있음을 보여줍니다.
  • MCP (Model Context Protocol) 서버를 통해 다양한 LLM 에이전트(Mistral, ChatGPT 등)가 표준화된 방식으로 비즈니스 로직과 상호작용하는 방법을 구현했습니다.
  • 구현된 시스템은 검색, 재고 확인, 장바구니 생성부터 실제 결제까지의 전 과정을 자동화할 수 있는 5가지 핵심 도구를 포함합니다.

할 수 있다는 이유만으로 60년 된 뮌헨의 꽃집을 오버엔지니어링한 이야기입니다. 상황을 설명해 보겠습니다. 뮌헨의 어느 화요일 저녁입니다. 저희 가족은 1965년부터 Heßstraße 37에 있는 동일한 상점에서 꽃을 판매해 왔습니다. 저희는 경기 침체, 두 번의 팬데믹, 그리고 "인터넷을 통해 꽃을 보내는 것"이 미래지향적인 일로 여겨졌던 짧지만 공포스러웠던 시기를 견뎌냈습니다. 그리고 지금 저는 밤 11시에, 꽃집을 위해 공식 Model Context Protocol (MCP) 레지스트리에 MCP 서버를 게시하고 있습니다. 그것도 뮌헨에 있는 꽃집을 위해서 말이죠. 왜냐고요? 아주 좋은 질문입니다. 저 역시 시작하기 전까지 스스로에게 똑같은 질문을 거의 한 번도 하지 않았습니다. 솔직한 답변은 이렇습니다. 인프라가 이미 존재했고, Claude Code가 바로 그곳에 있었으며, 제가 Mistral Le Chat으로 카네이션을 주문할 수 있는지 확인하고 싶었기 때문입니다. 네트워킹 행사에서 사람들에게 말하는 비즈니스적인 답변은 이렇습니다. "저희는 Blumen Komander를 다가오는 에이전트 중심 커머스 (agentic commerce) 시대를 위한 AI 네이티브 꽃집으로 포지셔닝하고 있습니다." 두 답변 모두 사실입니다.

우리가 만든 것 (단 하룻밤 만에)

Claude Code와 함께 보낸 저녁이 만들어낸 결과물은 다음과 같습니다:

꽃집을 위한 완전한 REST API:

  • GET /store/products/search?occasion=geburtstag&maxPrice=50
  • GET /store/availability?date=2026-05-19&postalCode=80799
  • POST /store/carts
    바이에른(Bavarian) 휴일 로직(네, 자정에 JavaScript로 가우시안 부활절 공식 (Gaussian Easter formula)을 구현했습니다), 뮌헨 우편 번호에 따른 배송 구역, 그리고 6단계 Medusa.js 결제 흐름이 포함되어 있습니다.

두 가지 전송 방식 (transports)을 갖춘 MCP 서버:

  • Claude Desktop 및 Gemini CLI를 위한 /sse
  • Mistral, ChatGPT, Copilot Studio를 위한 /mcp

다섯 가지 도구 (tools):

  • search_flowers – 상황, 색상, 예산, 스타일에 따라 꽃다발 검색
  • check_availability – 지정된 날짜에 배송 가능 여부 확인
  • create_cart – 전체 결제 흐름, 결제 링크 반환
  • get_checkout_link – 기존 장바구니 조회
  • get_shop_info – 영업시간, 연락처, 결제 방법

요즘은 이런 것이 유행인 듯하여, 세 개의 도메인에 llms.txt를 작성했습니다.

registry.modelcontextprotocol.io의 공식 MCP 레지스트리에 io.github.Severin2k/blumen-komander-mcp로 등록되었습니다.

총 소요 시간: 하룻밤.

총 비용: 나의 Claude Max 구독료. 지금까지 AI 에이전트가 주문한 총 꽃다발 수: 내가 직접 넣은 약 3건의 테스트 주문.

실제로 작동한 순간
나는 Mistral Le Chat을 MCP 서버에 연결하고 다음과 같이 입력했습니다: "Ich möchte Blumen zum Geburtstag bestellen, Budget 50€, Lieferung am 19. Mai nach München, Fasangartenstraße 86, PLZ 81549." (생일용 꽃을 주문하고 싶습니다. 예산은 50유로, 5월 19일 뮌헨 Fasangartenstraße 86, 우편번호 81549로 배송해 주세요.)

Mistral은 search_flowers를 호출했습니다. 그다음 check_availability를 호출했습니다. 그러고 나서 실제 재고에 있는 다섯 가지 꽃다발을 실제 가격과 함께 보여주었습니다. 이어서 Mistral은 이렇게 말했습니다: "Welchen Strauß möchten Sie? Ich kann direkt einen Warenkorb für Sie anlegen." (어떤 꽃다발을 원하시나요? 제가 바로 장바구니를 만들어 드릴 수 있습니다.)

나는 잠시 그 자리에 앉아 생각에 잠겼습니다. 프랑스 AI가 Anthropic이 만든 프로토콜을 사용하고, 내가 하룻밤 사이에 구축한 서버 위에서 실행되며, 자율적으로 나의 뮌헨 꽃집에서 꽃을 사겠다고 제안한 것입니다. 나의 할아버지는 1965년에 이 가게를 여셨습니다. 그분은 전화로 주문을 받으셨습니다.

누가 이것을 사용하게 될까?
솔직히 말해서, 아마 많은 사람은 아닐 것입니다. 현재 "꽃을 주문하기 위해 MCP 서버를 설정해야겠다"라고 생각하는 사람의 수는 12명에서 내 직계 가족 사이 어딘가에 있을 것입니다. 하지만 기술의 초기에 진입한다는 것에는 이런 측면이 있습니다. 2024년에 Anthropic은 Model Context Protocol (MCP) 사양을 발표했습니다. 2025년에는 Stripe가 MCP 서버를 구축했습니다. 그다음에는 Asana, 그다음에는 GitHub가 있었습니다. 2026년에 나는 슈바빙(Schwabing)에 있는 꽃집을 위해 서버를 구축했습니다. 2027~2028년이 되면 AI 에이전트들이 자율적으로 물건을 구매하기 시작할 것입니다.

그때가 오면 우리는 이미 레지스트리에 등록되어 있을 것입니다. 이미 테스트도 마쳤습니다. 이미 MCP 통합이 작동하는 세계 최초의 꽃집이 되어 있을 것입니다. 초기에 진입하는 비용은 화요일 저녁 시간과 약간의 수면 부족입니다. 늦게 진입하는 비용은 다른 누군가가 선두에 서는 것을 지켜보는 것입니다.

기술 스택 (관심 있는 분들을 위해)
백엔드 (Backend): Medusa.js v2 (Hetzner VPS 상에서 구동)
프론트엔드 (Frontend): Next.js App Router
MCP 서버 (MCP Server): @modelcontextprotocol/sdk, Node.js, Express
전송 방식 (Transports): SSE (/sse) + Streamable HTTP (/mcp)
테스트 완료: Mistral Le Chat ✅, Claude ✅, Claude Desktop ✅
npm 패키지: blumen-komander-mcp
레지스트리 (Registry): io.github.Severin2k/blumen-komander-mcp
MCP 서버는 GitHub에서 오픈 소스로 공개되어 있습니다: github.com/Severin2k/blumen-komander-mcp
지금 바로 연결할 수 있습니다:

{
  "mcpServers": {
    "blumen-komander": {
      "url": "https://mcp.blumen-verschicken.online/sse"
    }
  }
}

또는 Mistral Le Chat의 경우:
URL: https://mcp.blumen-verschicken.online/mcp
인증 (Authentication): 없음

우리가 추가로 구축한 것들 (안 할 이유가 없으니까요)
이미 작업 중이었기에 추가로 진행했습니다:
쇼핑몰 웹사이트 내 KI-Chat-Konfigurator(AI 채팅 설정기) – Mistral 기반의 채팅 어시스턴트를 상점 페이지에 직접 임베딩했습니다. 이 어시스턴트는 계절별 꽃 달력을 알고 있으며(참고로 지금은 작약(Pfingstrosen)이 제철입니다), 꽃다발을 추천하고, 배송 정보를 수집하며, 결제 링크를 생성할 수 있습니다. 이 모든 과정은 고객이 페이지를 떠나지 않고도 이루어집니다.
시스템 프롬프트(System Prompt)에 포함된 꽃 전문가 지식 – 가용 월이 포함된 47가지 꽃 종류의 전체 계절 달력을 포함합니다. AI 꽃집을 만들 거라면, 튤립은 4월이면 끝난다는 사실 정도는 알아야 하기 때문입니다.
Wunschstrauß(맞춤형 꽃다발) 흐름 – 고객이 작약을 요청했는데 표준 재고에 없는 경우, AI는 현재 작약이 제철임을 설명하고, 선호하는 색상과 예산을 물어본 뒤 맞춤 주문을 생성합니다. 꽃집 주인은 이 설명을 보고 주문을 처리합니다.

배운 점들
MCP 사양(Spec)은 실제로 잘 설계되어 있습니다. Claude/Gemini를 위한 SSE, Mistral/ChatGPT를 위한 Streamable HTTP. 두 개의 엔드포인트로 모든 클라이언트를 커버합니다. 프로토콜을 이해하는 것보다 Express에서 'Body-already-read' 버그를 해결하는 데 시간이 더 걸렸습니다. LLM은 구조화된 커머스 흐름(Structured commerce flows)을 처리하는 데 놀라울 정도로 뛰어납니다.

적절한 시스템 프롬프트 (System prompt)와 도구 정의 (Tool definitions)를 통해, Mistral은 10단계의 주문 프로세스를 수행하고, 대화에서 18개의 변수를 추출하며, 정확한 인자 (Arguments)로 create_cart를 호출했습니다. 어려운 부분은 AI가 아니라 상태 관리 (State management)입니다. 니치 (Niche) 시장에서 선두가 되는 것은 생각보다 쉽습니다. 아무도 저에게 "꽃집은 MCP 서버를 가져야 한다"라고 말해주지 않았습니다. 그런 카테고리는 존재하지 않았습니다. 저는 그저... 그것이 존재하게 만들었을 뿐입니다. Claude Code는 이런 작업에 진정으로 유용합니다. 제가 원하는 것을 설명하고, 코드를 검토하고, 피드백을 주었습니다. TypeScript로 작성된 가우시안 부활절 공식 (Gaussian Easter formula)은 제가 직접 작성한 것이 아닙니다. 저는 꽃집 주인입니다.

MCP 레지스트리 항목 (MCP Registry Entry)
그것이 어떻게 보이는지 궁금하시다면:
io.github.Severin2k/blumen-komander-mcp
제목: Blumen Komander München
상태: 활성 (Active)
원격 SSE: https://mcp.blumen-verschicken.online/sse
원격 HTTP: https://mcp.blumen-verschicken.online/mcp
npm: blumen-komander-mcp
독일 최초의 MCP 서버를 갖춘 꽃집. 🌸

직접 체험해 보세요
MCP 서버를 Claude Desktop, Mistral Le Chat, 또는 모든 MCP 호환 클라이언트에 연결하여 뮌헨에 있는 누군가에게 꽃을 주문하는 것을 도와달라고 요청해 보세요. 실제로 작동합니다. 꽃은 실제로 존재합니다. 저희는 실제로 뮌헨에서 다음 날 직접 꽃을 배달합니다. 60년 동안 이 일을 해왔습니다. 이제 JSON-RPC와 함께합니다.

Severin Komander는 1965년부터 뮌헨 Heßstraße 37에 위치한 꽃집인 Blumen Komander München을 운영하고 있습니다. MCP 서버는 mcp.blumen-verschicken.online에서 라이브 상태입니다. 꽃은 blumen-verschicken.online에서 확인할 수 있습니다. 이 가게는 실재합니다. 이것은 농담이 아닙니다.

npm: blumen-komander-mcp
GitHub: Severin2k/blumen-komander-mcp
MCP 문서: blumen-komander.de/ki-florist

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0