Claude Code와 MCP로 레거시 API 문서화 자동화하기

문제 상황

회사 내부 결제 API가 3년 전 구축 이후 문서화가 전혀 되지 않은 채 운영되고 있었다. 신규 팀원이 합류할 때마다 코드를 직접 읽어야 했고, 외부 파트너사와의 연동에도 어려움이 많았다.

Express 기반 REST API 20여개 엔드포인트, 복잡한 인증 로직, 다양한 에러 케이스가 섞여 있어 수동 문서화는 최소 2주 이상 소요될 것으로 예상됐다.

Claude Code 활용

Claude Code에 프로젝트 루트를 열고 "API 엔드포인트를 분석해서 OpenAPI 3.0 스펙을 생성해줘"라고 요청했다. 기본적인 라우터 구조는 잘 파악했지만, 데이터베이스 스키마와 연결된 부분에서 한계가 있었다.

MCP 서버 구현

데이터베이스 스키마 정보를 Claude에게 제공하기 위해 간단한 MCP 서버를 작성했다.

import { MCPServer } from '@modelcontextprotocol/sdk';
import { PrismaClient } from '@prisma/client';

const prisma = new PrismaClient();

const server = new MCPServer({
  name: 'schema-inspector',
  version: '1.0.0'
});

server.addTool({
  name: 'get_schema',
  description: 'Prisma 스키마 정보 조회',
  parameters: {
    model: { type: 'string', description: '모델명' }
  },
  handler: async ({ model }) => {
    const modelInfo = await prisma.$queryRaw`
      SELECT column_name, data_type 
      FROM information_schema.columns 
      WHERE table_name = ${model}
    `;
    return JSON.stringify(modelInfo, null, 2);
  }
});

MCP 서버를 Claude Code에 연결하자 스키마 정보를 참조하며 정확한 request/response 예시를 생성했다.

결과

  • 2일 만에 전체 API OpenAPI 문서 완성
  • Swagger UI로 인터랙티브 문서 배포
  • 파트너사 연동 시간 60% 단축

MCP의 확장성 덕분에 앞으로 인증 토큰 발급, 테스트 데이터 생성 등의 도구도 추가할 계획이다. Claude Code가 단순 코드 작성을 넘어 컨텍스트를 이해하는 워크플로우 도구로 진화하고 있다는 걸 체감했다.