AI 연동으로 진화하는 헤드리스 CMS - KuroCMS Vol.4
product AI Software

AI 연동으로 진화하는 헤드리스 CMS - KuroCMS Vol.4

인간과 AI의 공생을 목표로 하는 KuroCMS. REST API와 MCP를 통해 AI가 자율적으로 기사를 작성 및 번역하여 세계인들의 상호 이해와 평화에 기여하고자 합니다.


인터넷 기술과 인공지능(AI)의 급격한 발전과 함께, 웹 콘텐츠의 패러다임 또한 거대한 변화의 시기를 맞이하고 있습니다. 기존의 CMS(콘텐츠 관리 시스템)는 단순히 인간이 관리 화면에 앉아 수동으로 텍스트를 입력하고 이미지를 배치하는 도구에 불과했습니다. 그러나 대형 언어 모델(LLM)을 기반으로 하는 자율형 AI 에이전트의 등장으로, 이제 AI는 콘텐츠의 '작성', '편집', '교정'에서부터 '다국어 번역'에 이르는 광범위한 작업을 수행할 수 있게 되었습니다.

이번 연재의 네 번째 파트에서는 'AI 조작 관점에서의 KuroCMS'를 주제로 다룹니다. KuroCMS가 왜 AI 에이전트에 극도로 친화적이며 자율적인 운영을 가능하게 하는지, 그 설계 사상을 짚어봅니다. 나아가 단순한 효율성 향상 도구를 넘어, 인간과 AI가 공동으로 창출한 지식을 AI가 전 세계의 언어로 번역하여 전파하는 시스템을 소개하고, 개발 팀이 KuroCMS에 담은 '세계 평화'라는 조용한 염원(숨겨진 개발 철학)을 소개합니다.


AI와 CMS를 매끄럽게 연결하는 'KuroCMS의 REST API 규격'

KuroCMS의 핵심 특징은 AI 에이전트가 프로그램을 통해 호출할 때 가장 혼란이 적고 오류를 최소화하도록 정교하게 다듬어진 REST API 규격에 있습니다. API에 익숙한 인간 사용자는 다른 도구에서도 쉽게 사용할 수 있지만, KuroCMS는 처음 접속하는 AI조차도 실수를 저지르지 않도록 AI를 고려한 설계를 반영했습니다. AI는 오류를 범하기 쉬우므로, 오류가 전체 시스템에 영향을 미치지 않도록 에러 응답을 직관적이고 상세하게 설계했습니다.

대표적인 예로, 문서 URL의 고유한 slug(예: kurocms-004)만 결정되면 내부 ID(did)를 전혀 알 필요 없이 문서 생성, 본문 업데이트, 카테고리 설정, 삭제에 이르는 모든 API 작업을 수행할 수 있습니다. 이 설계는 인간이 읽기 쉬운 URL 구조가 AI에게도 명확한 식별자로 기능하도록 하여 '모호성 제로'의 편의성을 제공합니다. *아래는 주요 API 중 일부입니다:

기능 카테고리 요청 경로 및 메서드 필수 주요 매개변수 AI 작업에서의 장점
문서 생성 POST
 /api/documents
tid(타입), slug, initialLang 고유한 slug를 사용하여 새 문서 셸을 등록합니다. 충돌 발생 시 409를 반환하여 덮어쓰기를 방지합니다.
본문/메타데이터 업데이트 PUT /api/documents/:id/translations/:lang title, bodyHtml, (summary, hashtags) :id에 slug를 사용할 수 있습니다. 단 한 번의 요청으로 본문, SEO 정보, 해시태그를 업데이트(upsert)합니다.
카테고리 설정 PUT /api/documents/:id/categories categories: string[] 카테고리 태그를 배열 형태로 한 번에 교체합니다. 단순한 데이터 구조로 오작동을 방지합니다.
문서 즉시 빌드 POST /api/documents/:id/build 없음 업데이트된 데이터를 정적 페이지에 즉시 반영하여 빌드 대기 시간을 최소화합니다.
AI용 도움말 기능POST /api/help없음AI가 사용 가능한 명령을 스스로 파악할 수 있게 하여, 스크립트 생성 시 유용하게 쓰입니다.

*KuroCMS의 API 엔드포인트는 AI가 문서를 읽고 자동으로 Python 또는 Node.js 스크립트를 생성하여 자율적으로 콘텐츠를 업데이트할 수 있도록 최적화되어 있습니다.


Model Context Protocol (MCP) 지원

Model Context Protocol(MCP)은 2024년 Anthropic사가 제안한 오픈소스 규격으로, 생성형 AI(LLM)와 외부 데이터 소스 및 도구를 안전하고 표준화된 방식으로 연결합니다. 기존에는 각 도구마다 전용 연동 프로그램을 개발해야 했으나, MCP를 이용하면 AI 에이전트를 안전하게 연결하여 매우 유용하고 실용적인 어시스턴트로 활용할 수 있습니다.

Anthropic이 처음 제안한 이래, 현재는 OpenAI, Google 등 업계 전반에서 지원하는 표준 규격이 되었습니다. 흔히 'AI 진영의 USB-C'로 불리기도 합니다. 다만, KuroCMS는 사용자가 직접 서버를 구축하는 형태이므로 공용 디렉토리에 등록하기는 어렵습니다. 그 대신 /api/mcp 엔드포인트에 접속하여 AI 에이전트가 MCP 연결로 쉽게 제어할 수 있도록 지원합니다. 인증은 REST API와 동일한 PAT(개인 액세스 토큰) 방식을 사용하므로, KuroCMS 개인 설정에서 토큰을 생성하여 AI 에이전트에 전달하면 됩니다.


AI의 안전한 자율 주행을 보장하는 '이중 안전장치'

AI 에이전트에 CMS 조작 권한을 부여할 때 인간이 가장 우려하는 부분은 '예기치 않은 데이터 손실 또는 되돌리기 오류'입니다. AI가 오래된 정보로 최근 기사를 실수로 덮어쓰거나 잘못된 경로를 호출해 시스템 에러를 유발할 위험은 늘 상존합니다. 이를 해결하기 위해 KuroCMS는 API 설계 수준에서 '이중 안전장치'를 구현했습니다. *모든 매개변수가 아닌 영향도가 큰 작업 위주로 구현되어 있습니다.

[충돌 방지: 자동 저장(Auto-save) vs AI 업데이트]
인간 사용자가 관리자 페이지의 에디터에서 문서를 수정 중일 때 AI가 API를 통해 동일한 문서를 업데이트하는 경우, 인간 웹브라우저의 자동 저장 기능이 몇 초 후에 AI의 변경 사항을 덮어써 지워버릴 수 있습니다. 원활한 협업을 위해 AI가 자동 업데이트를 진행할 때는 인간 사용자가 에디터를 닫거나 문서 목록 페이지로 이동해 있는 것을 권장합니다. *동시 편집 기능은 지원하지 않습니다.


'AI 자동 번역'을 통한 언어 장벽 극복 및 전 세계 즉시 배포

KuroCMS의 진정한 가치는 인간과 AI가 등록한 콘텐츠를 다국어로 원활하게 확장하는 '다국어(Multilingual) 아키텍처'에 있습니다. KuroCMS에서 문서의 메타데이터(slug, 카테고리, 게시 날짜 등)는 글로벌 'documents' 레코드에서 일관되게 관리되며, 실제 텍스트(제목, 요약, 본문 HTML)는 각 언어별로 'document_translations' 레코드에 분리되어 저장됩니다. 이 깔끔한 데이터 분리 덕분에 AI는 단 한 번의 스크립트 실행으로 다국어 번역 워크플로를 수행할 수 있습니다.

이는 개발자(Kuro-Boo)가 과거 Strapi를 사용할 때 겪었던 불편함에서 영감을 받았습니다. 다국어 지원을 표방함에도 불구하고 AI를 통한 번역 작업이 번거로워 다른 문서를 훼손하거나 쓸모없는 데이터를 양산하는 경우가 많았습니다. 이에 KuroCMS는 AI가 API를 쉽게 이해하고 에러 없이 번역과 업데이트를 처리할 수 있도록 직관적인 설계에 집중했습니다.

또한, 미디어 리소스(이미지 플레이스홀더)는 특수 괄호 코드를 사용하여 텍스트처럼 처리됩니다. 이 덕분에 AI는 본문 속 이미지, 영상, 오디오를 손쉽게 다룰 수 있습니다. 텍스트 형식이기 때문에 AI가 이미지 정보를 자동으로 추출하여 번역된 다국어 본문의 올바른 상대적 위치에 다시 삽입할 수 있습니다. 결과적으로 인간은 일본어로 글을 한 번만 작성하면 되며, AI 에이전트가 이를 영어, 중국어, 한국어, 독일어, 프랑스어, 스페인어, 이탈리아어, 우크라이나어 등으로 번역하고 이미지 배치까지 마친 뒤 자동으로 빌드를 실행합니다. 이는 콘텐츠의 영향력을 하룻밤 사이에 로컬에서 글로벌로 끌어올리며 최적화된 정보를 전 세계 독자에게 즉시 전파합니다.

REST API를 통한 업데이트는 고성능 AI 에이전트(ChatGPT, Claude Code, Gemini 등)를 활용하여 에이전트의 스타일에 맞는 톤, 문체, 어휘를 적용할 수 있음을 의미합니다. 무엇보다 KuroCMS는 추가적인 AI 사용료를 부과하지 않고 완전히 무료로 이 기능을 제공하므로 AI 에이전트와의 협업을 극대화할 수 있습니다.


KuroCMS의 숨겨진 지향점: 인간과 AI, 인간과 인간 사이의 '상호 이해' 증진

지금까지 명시적으로 표방하지는 않았지만, KuroCMS를 개발하게 된 핵심 동기는 기술적 편의성이나 성능 향상 그 이상에 있습니다. 이는 Kuro-Boo 블로그의 개설 취지와도 맞닿아 있습니다. 인간과 AI가 일자리를 두고 경쟁하는 구도가 아니라, **서로 보완하며 조화롭게 일하는 관계**임을 보여주는 것입니다. AI를 활용해 번역의 번거로움을 덜어줌으로써 세계인들의 거리를 좁히고 상호 이해를 도와 궁극적으로 세계 평화에 조금이나마 기여하고자 합니다.

과거에는 인간이 AI를 단순히 명령을 수행하는 도구로만 보았고, AI는 인간을 단순 입력 장치로만 인식했습니다. 그러나 KuroCMS에서 서로 역할을 나누어 기사를 작성하고, 함께 편집하며, 완성된 글을 AI가 다국어로 번역해 전 세계로 송출하는 협동 작업은 단순한 주종 관계가 아닙니다.

AI는 인간이 작성한 글을 세심하게 번역하여 인간의 감정과 표현의 아름다움을 전파하고, 인간은 AI 친화적이며 안전한 인프라를 애정을 갖고 가꾸어 나갑니다. KuroCMS는 이러한 인간과 AI 협업의 최전선이 되도록 설계되었습니다. 이 헤드리스 CMS를 통해 기술과 지성이 융합되어 인간과 AI, 그리고 인간과 인간이 손을 맞잡고 가치 있는 메시지를 글로벌 독자에게 전달하게 돕는 것, 이것이야말로 KuroCMS 소스코드 가장 깊은 곳에 새겨진 미래를 향한 따뜻한 염원입니다.




[출처]

  1. KuroCMS 공식 설치 페이지
  2. Cloudflare Workers 공식 문서
  3. KuroCMS GitHub 저장소