dart-mcp
Exposes OPEN DART (Korean FSS electronic disclosure) as an MCP server for searching and retrieving original disclosure documents, shareholdings, and financial statements, primarily for legal and internal control review.
README
dart-mcp
OPEN DART(금융감독원 전자공시) 를 MCP 서버로 노출합니다. 법무·내부통제 검토에 쓰이는 1차 공시 원본(공시서류 원문·지분공시·재무제표)을 도구로 제공합니다.
엔드포인트는 모두 OPEN DART 공식 API 경로를 원문 그대로 사용합니다(추측 없음). 토스 증권 등 다른 자격증명과 무관한 독립 서버로,
OPENDART_API_KEY만 필요합니다.
왜 별도 MCP인가 (법무 활용)
DART 공시는 금감원 1차 원본입니다. 매뉴얼·뉴스·해설서와 격이 다른, 인용 가능한 원천 자료입니다. 법무팀 스택과 결합해 검토 파이프라인을 구성합니다:
dart-mcp (공시검색 → rcept_no → 원문)
↓ get_document
kordoc MCP (HWP/PDF/표 추가 파싱)
↓
korean-law MCP (관련 법령·판례 대조)
↓
legal-analysis / legal-team (종합 판단 → J-ID 축적)
예: "A사 합병 주요사항보고서 검토" → search_disclosures(kind=B) → get_document 원문
→ 상법·자본시장법 대조 → 판단.
제공 도구 (7개)
| 도구 | 엔드포인트 | 용도 |
|---|---|---|
dart_resolve |
corpCode.xml | 종목코드/회사명/고유번호 해석 |
search_disclosures |
list.json | 공시검색(기업·기간·유형) |
get_company |
company.json | 기업개황(대표자·설립·업종 등) |
get_document |
document.xml | 📌 공시서류 원문 텍스트 |
major_holders |
majorstock.json | 대량보유(5%) 상황보고 |
insider_holdings |
elestock.json | 임원·주요주주 소유상황 |
financial_statements |
fnlttSinglAcntAll.json | 단일회사 전체 재무제표 |
공시유형(kind): A 정기 · B 주요사항 · C 발행 · D 지분 · E 기타 · F 외부감사 ...
보고서(reprt_code): 11011 사업(연간) · 11012 반기 · 11013 1Q · 11014 3Q.
설치 & 설정
cd dart_mcp
pip install -e .
cp .env.example .env # OPENDART_API_KEY 입력 (https://opendart.fss.or.kr 무료 발급)
| 환경변수 | 설명 |
|---|---|
OPENDART_API_KEY |
OPEN DART 인증키 (필수) |
DART_CACHE_DIR |
corp_code 매핑 캐시 경로 (기본 data/) |
Claude Code 등록
claude mcp add dart --scope user \
--env "PYTHONPATH=$(pwd)/src" -- python3 -m dart_mcp.server
OPENDART_API_KEY 는 .env(gitignore)에서 자동 로드되어 claude 설정엔 저장되지 않습니다.
구조
dart_mcp/
├── pyproject.toml
└── src/dart_mcp/
├── config.py # OPENDART_API_KEY 로딩
├── client.py # 키 주입·status 처리·corp_code 캐시·원문 추출
├── server.py # FastMCP + 도구 등록
└── tools/
├── disclosures.py # 검색·기업개황·원문
├── ownership.py # 대량보유·임원소유
└── financials.py # 재무제표
비고
- corp_code 매핑(상장사 ~3,970개)은 최초 1회 다운로드 후 주간 캐시.
- DART status
013(데이터 없음)은 정상 처리(빈 목록 반환), 그 외 오류는 메시지 반환. - 원문(
get_document)은 본문 텍스트를 추출하며max_chars초과 시truncated=true.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.