
왜 우리의 모바일 백엔드를 위한 MCP 서버를 구축했는가? (Build in public #1)
요약
AppAmbit가 Claude 및 Cursor와 같은 AI 에이전트가 모바일 백엔드를 직접 제어할 수 있도록 MCP(Model Context Protocol) 서버를 출시했습니다. 에이전트가 데이터베이스 생성, 클라우드 함수 배포, 로그 검토 등을 채팅창 내에서 직접 수행하여 개발 워크플로우의 단절을 방지합니다.
핵심 포인트
- MCP를 통해 AI 에이전트가 백엔드 인프라를 직접 조작 가능
- 데이터베이스 생성부터 함수 배포까지 컨텍스트 스위칭 없이 수행
- 에이전트의 정확한 도구 사용을 위해 정교한 도구 설명(description)이 핵심
- 범위 제한된 액세스 토큰을 통한 보안 및 제어 권한 제공
당신의 AI는 이미 앱을 작성할 수 있습니다. 하지만 지금까지는 그 뒤에 있는 백엔드를 실행할 수는 없었습니다.
이 모든 것을 가능하게 만든 아이디어부터 시작해 보겠습니다. 왜냐하면 다른 모든 것은 여기서부터 시작되기 때문입니다. MCP, 즉 Model Context Protocol (모델 컨텍스트 프로토콜)은 Claude나 Cursor와 같은 AI 에이전트가 단순히 코드만 작성하는 대신, 채팅을 통해 실제로 당신의 앱 백엔드를 운영할 수 있게 해주는 방법입니다. 이 단 하나의 변화가 이 포스트 전체의 핵심이며, 우리가 AppAmbit를 위해 방금 출시한 기능이기도 합니다.
이것이 메우는 간극은 다음과 같습니다. 만약 당신이 AI로 개발을 한다면 그 기분을 알 것입니다. 에이전트가 기능을 설계하고 완벽하게 작성하지만, 실제 백엔드가 개입되는 순간, 즉 데이터를 저장할 장소, 회원가입 시 실행될 함수, 실제로 존재해야 하는 라이브 요소가 필요한 순간에 멈춰버립니다. AI는 작업을 설명할 수는 있지만, 수행할 수는 없습니다. 그래서 당신은 에디터를 떠나 수동으로 설정을 마친 뒤 다시 돌아와야 합니다. AppAmbit의 MCP 서버는 이러한 우회 과정을 제거합니다. Claude나 Cursor를 당신의 워크스페이스로 지정하면, AI가 AppAmbit를 대상으로 직접 구축합니다. 데이터베이스를 생성하고, 클라우드 함수(cloud functions)를 배포하며, 이를 호출하는 앱을 연결합니다. 그런 다음 동일한 채팅창에서 계속 운영하며, 플래그를 전환하고, 업데이트를 배포하며, 대화를 떠나지 않고도 크래시(crashes), 이벤트, 결제 내역을 검토할 수 있습니다.
우리는 당신이 이미 사용 중인 도구인 Claude와 Cursor를 위해 이를 특별히 구축했으며, 에이전트가 당신이 허용한 것에만 접근할 수 있도록 범위가 제한된 액세스 토큰(scoped access tokens)을 제공합니다. 새로 배울 앱도 없고, 컨텍스트 스위칭(context-switching)도 필요 없습니다. 당신이 이미 작업하고 있는 바로 그 자리에서 지원합니다.
가장 중요한 설계 선택은 이것이었습니다: 우리는 모든 것을 다 하려고 시도하는 하나의 거대한 마법 버튼을 만들지 않았습니다. 대신 각 작업에 특화된 개별 도구(tool)를 만들었습니다. 데이터베이스를 생성하는 도구, 클라우드 함수(cloud function)를 배포하는 도구, 피처 플래그(feature flag)를 전환하는 도구, 빌드(build)를 전송하는 도구, 그리고 콘솔에서 바로 크래시(crash)를 검토하고, 이벤트를 확인하며, 빌링(billing)을 볼 수 있는 도구들이 있습니다. 각 도구는 단 하나의 명확한 일만 수행합니다. 따라서 "프로필용 데이터베이스를 생성하고 회원가입 함수를 배포해줘"라는 요청은 하나의 대화가 됩니다. 에이전트(agent)가 데이터베이스를 생성하고, 함수를 배포하며, 이를 호출하는 앱을 연결합니다. 별도로 구축해야 할 백엔드(backend)는 없습니다.
이제 솔직한 이야기를 해보겠습니다. 이것이 바로 'Build in public'을 하는 이유니까요. 도구를 만드는 것은 쉬운 절반에 불과했습니다. 진짜 어려운 절반은 에이전트가 적절한 순간에 신뢰할 수 있게 올바른 도구를 선택하도록 만드는 것이었습니다. 그리고 이는 거의 전적으로 우리가 각 도구를 어떻게 설명(description)하느냐에 달려 있었습니다. 모호한 설명이 붙은 도구는 에이전트가 잘못 사용하는 도구가 됩니다. 잘못된 동작을 수행하거나, 존재하지 않는 파라미터(parameter)를 만들어내곤 합니다. 좋은 도구의 동작은 마법이 아니라, 좋은 글쓰기(writing)에서 나옵니다.
MCP 서버 URL
[
클라이언트 MCP 설정 (Client MCP Configuration)
[
AppAmbit 문서 (AppAmbit Docs)
[
그리고 그것이 진정한 교훈으로 이어졌습니다. 도구 설명 (tool descriptions)은 그들만의 작은 세상에 머물러 있어서는 안 되며, 우리의 문서 (documentation) 및 API와 정확히 일치해야 했습니다. 도구의 설명이 문서에 적힌 내용과 어긋나는 순간, 두 가지 문제가 동시에 발생했습니다. 에이전트 (agent)가 혼란에 빠졌고, 문서를 읽는 개발자 또한 혼란에 빠졌습니다. 그래서 우리는 문서와 도구 설명을 하나의 단일 진실 공급원 (single source of truth)으로 취급하기 시작했습니다. 무언가의 작동 방식이 변경되면, 문서와 도구 설명도 의도적으로 함께 변경됩니다. 이러한 정렬 (alignment)이야말로 에이전트를 신뢰할 수 있게 만드는 조용한 핵심입니다. 에이전트와 당신의 팀이 항상 동일한 이야기를 읽게 되는 것입니다.
사용자가 얻는 보상은 간단합니다. 당신이 원하는 것을 설명하기만 하면, AppAmbit의 에이전트가 Claude나 Cursor에서 실제로 이를 수행합니다. 실제 데이터베이스, 실제 클라우드 코드, 그리고 당신의 크래시 (crashes), 이벤트 (events), 빌링 (billing) 정보가 단 한 문장 거리에 있게 됩니다. 백엔드 (Backend)와 앱 (app)을 하나의 대화 속에서 구축하고 운영할 수 있습니다.
Claude MCP AppAmbit

이 글은 우리가 AppAmbit를 어떻게 구축하고 있는지, 그 유용한 부분들과 교훈들을 공유하는 build-in-public 시리즈의 첫 번째 포스트입니다. 만약 당신이 직접 MCP 서버를 구축해 본 경험이 있다면, 도구 설명과 API 문서가 서로 어긋나지 않도록 어떻게 관리하는지 꼭 듣고 싶습니다. X에서 팔로우하세요 » AppAmbit.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기