AI가 찾아주는 서비스 만들기 — MCP·llms.txt로 설계하는 4단계
Claude에게 "우리 회사 API 문서 찾아줘"라고 물었더니 정확히 우리 문서를 읽고 답했습니다. 검색창에 회사 이름을 치지도 않았는데요. AI 어시스턴트가 직접 우리 사이트를 "발견"한 겁니다.
이 글을 읽고 나면 ChatGPT나 Claude 같은 AI 도구가 여러분 서비스를 스스로 찾고, 내용을 이해하고, 사용자에게 추천할 수 있게 설정하는 방법을 알게 됩니다. 검색엔진 최적화(SEO)만으론 부족한 시대, AI 발견성(AEO)을 직접 설계해보죠.
준비물
웹사이트 루트 경로에 파일을 올릴 수 있는 권한이 필요합니다. 텍스트 에디터만 있으면 되고, 특별한 프레임워크나 라이브러리는 쓰지 않아요. 구조화 데이터 검증 도구는 있으면 좋지만 필수는 아닙니다. 전부 무료 설정이라 추가 비용은 들지 않습니다.
llms.txt 파일 만들기
사이트 루트에 llms.txt 파일을 만들어야 합니다. 이 파일은 AI 에이전트가 "이 사이트엔 뭐가 있고 어디서 찾을 수 있나"를 단번에 파악하는 안내서예요.
제가 실제로 만든 파일 구조는 이렇습니다:
# Thundo 블로그
> AI 자동화와 개발 도구 실습 가이드를 제공하는 기술 블로그입니다.
블로그 글은 how-to 실습, 도구 리뷰, 기술 오피니언 세 가지 형식으로 작성됩니다.
## 주요 콘텐츠
- [블로그 홈](https://www.thundo.kr): 최신 글 목록
- [sitemap.xml](https://www.thundo.kr/sitemap.xml): 전체 페이지 목록
llms.txt 규격 저장소에 따르면 H1으로 프로젝트명을 쓰고, 인용 블록에 한 줄 요약을 넣고, 그 아래 상세 설명을 붙입니다. 마지막으로 H2 섹션에 링크 목록을 마크다운 형식으로 나열하면 돼요.
저장하고 브라우저로 접속해보세요. 파일이 그대로 보이면 성공입니다. OpenAI, Anthropic, Google Gemini 팀도 자기네 개발자 문서에 이 파일을 달아뒀습니다. 2024년 제안 이후 지금까지 수천 사이트가 채택했거든요.
sitemap.xml 연결하기
AI 에이전트는 llms.txt를 보고 사이트 구조를 파악한 뒤, sitemap.xml을 따라 개별 페이지를 크롤합니다. sitemap이 없으면 에이전트가 어떤 페이지가 있는지 모르죠.
제가 확인한 thundo.kr의 sitemap은 이렇게 생겼어요:
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://www.thundo.kr/blog/python-mcp-server-quickstart</loc>
<lastmod>2026-08-10</lastmod>
</url>
</urlset>
각 페이지의 URL과 최종 수정일이 들어갑니다. Next.js나 Astro 같은 프레임워크를 쓴다면 빌드 시 자동 생성되는 경우가 많아요. 수동으로 만든다면 페이지를 새로 올릴 때마다 이 파일에 URL을 추가해야 합니다.
sitemap을 만들었으면 llms.txt의 링크 목록에 추가하세요. 에이전트가 "전체 페이지가 어딨지?"라고 물을 때 바로 찾을 수 있게요.
구조화 데이터는 어떻게 추가하나요?
HTML 안에 JSON-LD 형식으로 구조화 데이터를 심으면 AI가 "이 페이지는 블로그 글이고, 저자는 누구고, 발행일은 언제다"를 기계적으로 이해합니다.
BlogPosting 스키마는 이렇게 생겼어요:
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "글 제목",
"author": {
"@type": "Person",
"name": "작성자 이름"
},
"datePublished": "2026-08-15",
"description": "글 요약"
}
이 JSON을 HTML의 <head> 안에 <script type="application/ld+json"> 태그로 넣으면 됩니다. schema.org 공식 문서에서 BlogPosting 항목을 보면 필수 속성과 선택 속성이 나와 있어요.
제가 확인한 thundo.kr는 Organization과 WebSite 구조화 데이터만 있고, 개별 글에 BlogPosting은 아직 없더라고요. 여기가 다음 단계로 채워야 할 구멍입니다.
MCP 서버를 고려해야 할까요?
MCP(Model Context Protocol)는 AI 앱이 외부 시스템을 표준화된 방식으로 연결하는 프로토콜입니다. MCP 공식 문서 표현을 빌리면 "AI 앱을 위한 USB-C 포트"예요.
Claude Desktop이나 VS Code 같은 도구는 MCP 서버를 통해 로컬 파일, 데이터베이스, API를 직접 읽고 씁니다. 여러분이 제공하는 서비스가 API라면 MCP 서버를 만들어두면 개발자들이 AI 도구로 바로 연결할 수 있죠.
다만 MCP는 "서비스 제공자가 능동적으로 연결 포인트를 만드는" 쪽이고, llms.txt나 구조화 데이터는 "AI가 수동적으로 발견하게 돕는" 쪽입니다. 둘 다 AI 발견성을 높이지만 방향이 달라요. 문서 사이트라면 llms.txt만으로도 충분하고, API 서비스라면 MCP까지 고려할 만합니다.
흔한 실수와 해결법
처음 llms.txt를 만들 때 마크다운 링크 형식을 빼먹고 그냥 URL만 나열했더니 규격 검증에서 걸렸어요. [제목](URL) 형식을 꼭 지켜야 에이전트가 제대로 파싱합니다.
sitemap.xml을 만들었는데 robots.txt에서 크롤을 막아둔 경우도 있었습니다. User-agent: * 다음 줄에 Disallow: / 가 있으면 모든 봇이 차단되니 확인하세요.
구조화 데이터를 넣었는데 JSON 문법 오류로 아예 인식이 안 됐던 적도 있어요. 쉼표 하나 빠뜨렸는데 2시간 날렸습니다. Google의 Rich Results Test 도구로 검증하면 이런 실수를 미리 잡을 수 있습니다.
다음 단계
지금까지 llms.txt 파일 작성, sitemap 연결, 구조화 데이터 추가, MCP 고려까지 4단계를 봤습니다. 여러분 사이트에 llms.txt부터 올려보세요. 파일 하나로 AI 발견성이 확 달라집니다.
RSS 피드를 아직 안 만들었다면 그것도 다음 과제예요. 저희 사이트도 rss.xml이 404로 떨어지는 구멍이 남아 있거든요.
자주 묻는 질문
Q. llms.txt는 어떤 AI 도구가 지원하나요?
A. OpenAI, Anthropic, Google Gemini가 자체 문서에 적용했고, Chrome Lighthouse가 agentic browsing 감사 항목으로 추가했습니다. 2024년 제안 이후 2년간 수천 사이트가 채택했어요.
Q. sitemap.xml과 llms.txt 둘 다 필요한가요?
A. 네. sitemap은 모든 페이지 URL을 나열하고, llms.txt는 그중 핵심 정보가 어디 있는지 안내합니다. sitemap 없이 llms.txt만 있으면 에이전트가 개별 페이지를 못 찾아요.
Q. 구조화 데이터를 안 넣으면 어떻게 되나요?
A. AI가 HTML을 파싱해서 내용을 추측하긴 하지만 정확도가 떨어집니다. 저자, 발행일, 카테고리 같은 메타데이터를 명시하지 않으면 AI가 잘못된 정보를 학습할 수 있어요.
Q. MCP 서버는 꼭 만들어야 하나요?
A. 문서나 블로그 사이트라면 llms.txt만으로 충분합니다. API를 제공하거나 AI 도구와 실시간 상호작용이 필요한 서비스라면 MCP 서버를 고려할 만해요. 우선순위는 llms.txt → 구조화 데이터 → MCP 순입니다.