금융감독원 API MCP 연동 방법 — 전자공시 데이터를 Claude에서 활용
금융감독원 OpenDART API를 MCP 서버로 연결해 Claude에서 전자공시·재무제표를 바로 조회하는 단계별 연동 가이드입니다. FSS API MCP 설치부터 API 키 발급, 설정 파일 작성까지 한 번에 해결합니다.
금융감독원 OpenDART API를 MCP로 연결하면 Claude 또는 Cursor에서 전자공시 데이터·재무제표를 자연어 한 줄로 조회할 수 있습니다. API 키 발급은 무료이고 10분 내에 완료되며, MCP 설정 파일 추가 후 클라이언트를 재시작하면 바로 사용 가능합니다. 이 가이드에서는 키 발급부터 서버 선택, 설정 파일 작성, 동작 확인, 오류 해결까지 한 번에 다룹니다.
왜 금융감독원 API를 MCP로 연결하나요?
한국 상장기업의 사업보고서, 감사보고서, 주요사항보고서는 모두 금융감독원 DART(전자공시시스템)에 의무 공시됩니다. DART는 OpenAPI를 통해 이 데이터를 무료로 제공하지만, 직접 API를 호출하려면 HTTP 요청 코드를 작성하고, JSON 응답을 파싱하고, 기업코드를 별도로 매핑하는 작업이 필요합니다.
MCP(Model Context Protocol) 서버가 이 모든 과정을 대신합니다. 한 번 연결해 두면 AI 클라이언트가 직접 DART API 도구를 호출하므로, 사용자는 “삼성전자 작년 영업이익 알려줘”처럼 자연어로 물어보기만 하면 됩니다.
사용자 질문
│
▼
Claude / Cursor (MCP 클라이언트)
│ MCP 프로토콜 (JSON-RPC)
▼
DART MCP 서버 (로컬 프로세스)
│ HTTPS REST API
▼
opendart.fss.or.kr (금융감독원 OpenDART)
│
▼
전자공시 데이터 (재무제표, 공시 목록 등)
준비물
| 항목 | 필요 여부 | 비고 |
|---|---|---|
| OpenDART API 키 | 필수 | opendart.fss.or.kr 무료 발급 |
| Node.js 18+ (npx) | 서버에 따라 | korea-stock-mcp, korean-dart-mcp |
| Python 3.10+ + uv | 서버에 따라 | dart-mcp |
| Claude Desktop 또는 Claude Code 또는 Cursor | 필수 | MCP 클라이언트 역할 |
1단계 — OpenDART API 키 발급
DART MCP 서버 세 가지 모두 금융감독원 OpenDART API 키가 필요합니다.
- opendart.fss.or.kr 에 접속합니다.
- 우측 상단 회원가입을 클릭해 이메일 인증을 완료합니다.
- 로그인 후 상단 메뉴 인증키 신청/관리로 이동합니다.
- “인증키 신청” 버튼을 누르고 이용 목적을 입력하면 즉시 40자리 인증키가 발급됩니다.
- 발급된 키를 안전한 곳에 복사해 두세요. 이후 단계에서 설정 파일에 사용합니다.
일일 호출 한도: 기본 10,000건/일. 개인 학습·분석 용도라면 충분합니다.
2단계 — MCP 서버 선택
목적에 맞는 서버를 선택합니다. 세 서버 모두 OpenDART를 기반으로 하지만 범위와 설치 방식이 다릅니다.
| 서버 | 주요 특징 | 설치 방식 | GitHub |
|---|---|---|---|
| Korean DART MCP | OpenDART 83개 API를 15개 도구로 압축, 가장 쉬운 시작 | npx | github.com/chrisryugj/korean-dart-mcp |
| Korea Stock MCP | DART + KRX 주가 데이터 동시 지원 | npx | github.com/jjlabsio/korea-stock-mcp |
| DART MCP | Python 기반, uv로 실행 | uvx | github.com/2geonhyup/dart-mcp |
처음 시작하는 분께는 Korean DART MCP를 권장합니다. npx 한 줄로 설치되고, 도구 수가 적어 모델이 올바른 도구를 선택하기 쉽습니다.
3단계 — 설정 파일에 MCP 서버 등록
Claude Desktop 설정 (~/Library/Application Support/Claude/claude_desktop_config.json)
Korean DART MCP 사용 시
{
"mcpServers": {
"korean-dart-mcp": {
"command": "npx",
"args": ["-y", "korean-dart-mcp"],
"env": {
"DART_API_KEY": "여기에_40자리_OpenDART_키_입력"
}
}
}
}
Korea Stock MCP 사용 시 (DART + KRX 주가)
{
"mcpServers": {
"korea-stock-mcp": {
"command": "npx",
"args": ["-y", "korea-stock-mcp@latest"],
"env": {
"DART_API_KEY": "여기에_40자리_OpenDART_키_입력"
}
}
}
}
DART MCP (Python/uv) 사용 시
먼저 저장소를 클론합니다.
git clone https://github.com/2geonhyup/dart-mcp ~/Downloads/dart-mcp
그 다음 설정 파일에 아래와 같이 추가합니다.
{
"mcpServers": {
"dart-mcp": {
"command": "uv",
"args": ["--directory", "/Users/사용자명/Downloads/dart-mcp", "run", "dart.py"],
"env": {
"DART_API_KEY": "여기에_40자리_OpenDART_키_입력"
}
}
}
}
Claude Code 설정 (~/.claude/settings.json)
Claude Code는 mcpServers 키 위치가 동일하지만 파일 경로가 다릅니다.
{
"mcpServers": {
"korean-dart-mcp": {
"command": "npx",
"args": ["-y", "korean-dart-mcp"],
"env": {
"DART_API_KEY": "여기에_40자리_OpenDART_키_입력"
}
}
}
}
4단계 — 클라이언트 재시작 및 연결 확인
설정 파일 저장 후 반드시 AI 클라이언트를 완전히 종료하고 재시작해야 MCP 서버가 로드됩니다.
Claude Code에서 확인하는 방법
/mcp
터미널 내에서 /mcp 명령을 실행하면 등록된 서버 목록과 상태(connected / disconnected)가 표시됩니다. korean-dart-mcp 또는 선택한 서버 이름이 connected 상태로 나타나면 정상입니다.
Claude Desktop에서 확인하는 방법
채팅 입력창 왼쪽에 도구(망치) 아이콘이 생기면 MCP 서버가 연결된 것입니다. 아이콘을 클릭하면 사용 가능한 도구 목록을 확인할 수 있습니다.
5단계 — 자연어 질의로 전자공시 데이터 조회
연결이 완료되면 자연어 프롬프트로 DART 데이터를 바로 조회할 수 있습니다.
재무제표 조회 예시
삼성전자의 2023년 연결 재무제표에서 매출액, 영업이익, 당기순이익을 표로 정리해줘.
기업 비교 분석 예시
현대자동차와 기아의 최근 3개년 부채비율을 비교하고 추이를 분석해줘.
공시 목록 조회 예시
SK하이닉스가 지난 한 달 동안 제출한 공시 목록을 날짜순으로 보여줘.
배당 정보 조회 예시
코스피 시가총액 상위 10개 기업의 올해 배당금과 배당수익률을 정리해줘.
AI가 MCP 도구를 호출해 기업코드를 매핑하고, DART API에서 해당 데이터를 가져와 분석 결과를 반환합니다. 사람이 공시 문서를 일일이 열어볼 필요가 없습니다.
흔한 오류와 해결 방법
오류 1: spawn npx ENOENT
Node.js가 설치되어 있지 않거나 PATH에 등록되지 않은 경우입니다.
# Node.js 설치 확인
node --version
npx --version
Node.js가 없다면 nodejs.org에서 LTS 버전을 설치하세요.
오류 2: DART_API_KEY is not set 또는 API 인증 오류
설정 파일의 env 블록에 키를 정확히 입력했는지 확인하세요. 키 앞뒤 공백이나 불필요한 문자가 포함되지 않도록 주의합니다.
"env": {
"DART_API_KEY": "공백없이_정확히_40자리_입력"
}
오류 3: 설정 파일 저장 후에도 서버가 나타나지 않음
JSON 문법 오류가 가장 흔한 원인입니다. 설정 파일을 열어 다음을 확인합니다.
- 마지막 항목 뒤에 쉼표가 없는지
- 모든 문자열이 큰따옴표로 감싸여 있는지
- 중괄호와 대괄호 쌍이 맞는지
아래 명령으로 JSON 문법을 빠르게 검증할 수 있습니다.
# Claude Desktop 설정 파일 문법 검사
python3 -m json.tool ~/Library/Application\ Support/Claude/claude_desktop_config.json
오류 4: uv: command not found (dart-mcp 사용 시)
dart-mcp는 Python 패키지 관리자 uv가 필요합니다.
# uv 설치 (macOS/Linux)
curl -LsSf https://astral.sh/uv/install.sh | sh
설치 후 새 터미널 세션을 열어 PATH를 갱신하세요.
자주 묻는 질문
OpenDART API 키는 유료인가요?
아닙니다. OpenDART API 키는 무료로 발급되며, 일일 호출 한도(기본 10,000건) 내에서 자유롭게 사용할 수 있습니다. opendart.fss.or.kr에서 회원가입 후 즉시 신청 가능합니다.
DART MCP 서버를 Claude Desktop과 Claude Code 중 어디에 써야 하나요?
두 환경 모두 지원됩니다. Claude Desktop은 ~/Library/Application Support/Claude/claude_desktop_config.json에, Claude Code는 ~/.claude/settings.json의 mcpServers 블록에 동일한 형식으로 설정을 추가합니다.
korea-stock-mcp, dart-mcp, korean-dart-mcp 중 어떤 서버를 써야 하나요?
재무·공시 정보만 필요하면 Korean DART MCP(OpenDART 83개 API를 15개 도구로 압축)가 가장 쓰기 편합니다. KRX 주가 데이터까지 필요하면 Korea Stock MCP를 선택하세요. dart-mcp는 Python 환경(uv)이 설치된 개발자에게 적합합니다.
MCP 서버 연결 후 ‘tool not found’ 오류가 나타납니다.
설정 파일 저장 후 반드시 AI 클라이언트를 완전 재시작해야 합니다. Claude Code라면 /mcp 명령으로 서버 목록과 상태를 확인하세요. 설정 파일의 JSON 문법 오류(쉼표 누락, 따옴표 불일치)도 자주 발생하는 원인입니다.
DART API로 비상장 기업 데이터도 조회할 수 있나요?
DART에는 비상장 법인의 공시도 상당수 포함되어 있습니다. 다만 비상장사는 공시 의무가 상장사보다 적으므로 재무제표가 없는 기업도 있습니다. 조회 전 기업명 또는 사업자번호로 먼저 기업 존재를 확인하는 것을 권장합니다.
API 키를 설정 파일에 직접 넣어도 되나요?
로컬 환경에서는 설정 파일에 직접 넣어도 무방하지만, 파일을 Git에 커밋하거나 공유하면 키가 노출됩니다. 운영 환경에서는 OS 환경변수나 비밀 관리 도구를 사용하고, 설정 파일은 .gitignore에 추가하는 것을 권장합니다.
다음 단계
금융감독원 API MCP 연동을 마쳤다면, 아래 서버와 가이드도 함께 살펴보세요.
- Korean DART MCP 서버 상세 정보 — OpenDART 83개 API를 15개 도구로 제공하는 가장 완성도 높은 DART MCP
- Korea Stock MCP 서버 상세 정보 — DART와 KRX 주가 데이터를 동시에 활용
- DART MCP 서버 상세 정보 — Python 기반 전자공시 분석 서버
- 금융 카테고리 MCP 서버 전체 보기 — 국내 금융 데이터를 다루는 다양한 MCP 서버 목록
- MCP 서버 전체 디렉토리 — 분야별 한국산 MCP 서버 한눈에 보기