현재 사이트는 개발 중입니다. 일부 기능이 정상 작동하지 않을 수 있습니다.
PROCPA
·1분 읽기

전자공시시스템(OpenDART) MCP 웹 서버 개발

클로드 엑셀(Claude for Excel)을 실무에 본격적으로 활용하다 보니, 한국 기업의 공시 데이터를 AI가 직접 가져와 분석하면 훨씬 효율적이겠다는 생각이 들었습니다. 이를 구현하기 위해 전자공시시스템(OpenDART) API를 연동한 MCP 서버를 직접 개발했고, 누구나 클로드 화면에서 커스텀 커넥터로 쉽게 연결해 사용할 수 있도록 웹에 배포했습니다.

클로드 엑셀(Claude for Excel)을 실무에 본격적으로 활용하다 보니, 한국 기업의 공시 데이터를 AI가 직접 가져와 분석하면 훨씬 효율적이겠다는 생각이 들었습니다. 이를 구현하기 위해 전자공시시스템(OpenDART) API를 연동한 MCP 서버를 직접 개발했고, 누구나 클로드 화면에서 커스텀 커넥터로 쉽게 연결해 사용할 수 있도록 웹에 배포했습니다.


1. 핵심 구조 요약

기존에도 파이썬(Python) 기반의 OpenDART MCP 서버가 Github에 올라와 있었지만, 이를 사용하려면 로컬에서 별도로 서버를 띄우고 터널링을 해야 하는 등 부가적인 설정이 많았습니다.

그래서 저는 로컬 환경 구축 없이, URL 하나만 클로드에 등록하면 바로 쓸 수 있는 서버를 목표로 개발 방향을 잡았습니다.(Claude Code 사용)

  • 기술 스택: Next.js 16 (TypeScript), Vercel, mcp-handler
  • 통신 방식: Streamable HTTP를 활용하여 웹소켓 없이 서버리스 환경(Vercel)에서 원활하게 MCP 프로토콜 처리
  • 도구 설계: OpenDART에서 제공하는 83개 API 전면 지원 (팩토리 패턴을 사용해 구조 최적화)
  • 성능 최적화: 9만 여개에 달하는 기업 고유번호(Corp Code)를 인메모리 캐싱하여, 번거로운 고유번호 입력 없이 기업명만으로 바로 검색 가능하도록 구현

2. 커넥터 연결하기

이 서버는 웹 브라우저나 데스크톱 앱에서 곧바로 연결할 수 있습니다.

2.1. OpenDART API 키 발급받기

금융감독원 데이터에 접근하려면 개인 API 키가 필요합니다.

  1. 전자공시 오픈API 사이트에 접속합니다.
  2. 회원가입 후, [인증키 신청] 메뉴에서 API 인증키를 발급받습니다.

2.2. 클로드(Claude)에 커스텀 커넥터 추가하기

클로드 데스크톱 앱이나 일반 대화창(웹) 설정에서 손쉽게 커넥터를 연동할 수 있습니다.

  1. 클로드 화면을 열고 설정 메뉴 중 **사용자 지정(Custom) > 커넥터(Connectors)**로 이동합니다.
  2. [사용자 지정 커넥터 추가] (또는 Add Custom Connector) 버튼을 클릭합니다.
  3. 커넥터 URL 입력란에 아래 주소를 입력합니다. (끝부분 YOUR_API_KEY 자리에 발급받은 본인의 API 키를 넣습니다.) https://open-dart-mcp-server.vercel.app/api/mcp?opendart_key=YOUR_API_KEY
  4. 연결을 완료하면 곧바로 모든 준비가 끝납니다.

3. 활용방법

커넥터 연결이 마무리되었다면, 클로드 대화창에 다음과 같은 질문들을 던져 업무에 바로 적용해 보세요.

  • "삼성전자의 올해 재무제표 주요 계정을 요약하고, 이를 바탕으로 수익성 지표를 분석해 줘."
  • "SK하이닉스의 최신 최대주주 현황 변동을 알려줘."
  • "카카오의 최근 공시 10건을 검색해서 제목만 보기 쉽게 마크다운 표로 정리해 줘."
  • "LG에너지솔루션에 유상증자나 전환사채 발행 결정이 있었는지 최근 공시를 찾아 알려줘."

질문을 받은 클로드가 의도를 파악하고, 서버에 등록된 83개의 OpenDART 도구 중 알맞은 API를 스스로 선택해 원본 데이터를 조회합니다. 그 후 수신받은 데이터를 읽기 좋은 마크다운 포맷이나 체계적인 분석 글로 정리해 줄 것입니다.

관련 링크