Skip to main content
Glama
abubaman

DART-MCP

by abubaman

DART-MCP: 재무 분석을 위한 Claude 확장 프로그램

DART API를 활용한 재무 분석 MCP(Model-assisted Capability Package)입니다. Claude를 이용하여 상장 기업의 재무 데이터를 쉽게 분석하고 시각화할 수 있습니다.

가능한 것 / 불가능한 것

가능한 것 (O)

  • 주요 재무 분석

  • 상세 재무 분석

  • 기업의 사업부별 매출

  • 클로드를 이용한 시각화

  • 재무지표를 활용한 벨류에이션 (DCF 등)

불가능한 것 (X)

  • 주가 및 시가총액 제공

  • 해외기업 분석

  • 클로드 무료 사용량 이상의 사용

  • 한 채팅창에서 다량 사용 (잘 안되면 채팅창 새로 만들어서 쓰기)

  • 100% 정확한 정보

Related MCP server: DART 재무제표 분석 MCP 서버

사용 예시

재무 데이터 분석 및 시각화

파마리서치의 2023, 2024년 매출액, 영업이익 추이 분기별로 그래프로 보여줘. 그리고 매출비중이 어떻게 되는지 알려줘. 영업이익이나 매출액 변동 이유도 분석해줘.

기업 비교 분석

카카오와 네이버 2024년 수익성지표를 비교해서 분기별로 보여주고, 각 기업들은 어떤 사업부가 성장을 이끌지 알려줘.

재무 위험 평가

한국전력의 최근 부채상황을 조사하고, 상세하게 어떤 부분이 문제인지 분석해줘.

사전 준비

DART API 키 발급

  1. DART 오픈API 웹사이트에 접속

  2. 회원가입 및 로그인

  3. [인증키 신청/관리] - [오픈API 이용 신청] 메뉴 클릭

  4. 이용정보 입력 후 신청

  5. [인증키 신청/관리] - [오픈API 이용현황] 메뉴에서 발급된 인증키 확인

Claude 데스크톱 앱 설치

  1. Claude 데스크톱 앱 다운로드

  2. 계정 가입 및 로그인

  3. 다음 코드를 이용하여 설정 파일에 입력

{
  "mcpServers": {
    "dart-mcp": {
      "command": "uv",
      "args": ["--directory", "/Users/{컴퓨터이름}/Downloads/dart-mcp", "run", "dart.py"],
      "env": {
        "DART_API_KEY": "{DART_API_KEY}"
      }
    }
  }
}

Claude 재시작 및 사용 시작

설정 파일을 저장하고 Claude 앱을 닫은 후 다시 시작합니다. 이제 Claude에게 질문하면 DART API를 호출하여 답변을 제공합니다.

사용시 주의사항

  • 기업명은 공식적으로 상장된 이름으로 제공해야 합니다.

  • 주가나 시가총액과 같은 실시간 정보들은 앞으로 연동할 계획입니다.

Available Tools

5 tools
get_current_dateA

현재 날짜를 YYYYMMDD 형식으로 반환하는 도구

Args: ctx: MCP Context 객체 (선택 사항)

Returns: YYYYMMDD 형식의 현재 날짜 문자열

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only mentions the return format and does not clarify whether the operation is read-only, timezone-dependent, or side-effect-free.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is brief and front-loaded with the core purpose. The Args/Returns sections are structured, but the Args section includes the misleading `ctx` entry, which slightly detracts from overall clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool, the description covers the return format and purpose adequately. However, the undocumented `ctx` parameter and absence of behavioral details (since there are no annotations) leave gaps in completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, yet the description documents a `ctx` argument that is not present in the schema. This introduces confusion and misleads the agent about what inputs are accepted.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool returns the current date in YYYYMMDD format, using a specific verb and resource. This unambiguously distinguishes it from the sibling search tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly specify when to use this tool or mention any alternatives. Its purpose is self-evident, but there is no guidance about exclusions or preferred contexts.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_business_informationA

회사의 사업 관련 현황 정보를 제공하는 도구

Args: company_name: 회사명 (예: 삼성전자, 네이버 등) start_date: 시작일 (YYYYMMDD 형식, 예: 20230101) end_date: 종료일 (YYYYMMDD 형식, 예: 20231231) information_type: 조회할 정보 유형 '사업의 개요' - 회사의 전반적인 사업 내용 '주요 제품 및 서비스' - 회사의 주요 제품과 서비스 정보 '원재료 및 생산설비' - 원재료 조달 및 생산 설비 현황 '매출 및 수주상황' - 매출과 수주 현황 정보 '위험관리 및 파생거래' - 리스크 관리 방안 및 파생상품 거래 정보 '주요계약 및 연구개발활동' - 주요 계약 현황 및 R&D 활동 '기타 참고사항' - 기타 사업 관련 참고 정보 ctx: MCP Context 객체

Returns: 요청한 정보 유형에 대한 해당 회사의 사업 정보 텍스트

ParametersJSON Schema
NameRequiredDescriptionDefault
end_dateYes
start_dateYes
company_nameYes
information_typeYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral transparency. It discloses that the tool returns text for the requested information type, and the search/provide semantics imply read-only behavior. However, it omits any details about error handling, date range validation, rate limits, or whether certain companies might have no available data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a one-line purpose, a clear Args list, and a Returns section. It is not overly verbose for the amount of information conveyed, though the enumeration of seven information types is inherently lengthy. Each sentence/line adds value, and it is front-loaded with the purpose statement.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers all four parameters thoroughly and specifies the return type (text), which is sufficient for a straightforward query tool. However, it lacks details on how this tool relates to sibling search tools (e.g., overlap with search_disclosure) and does not explain any constraints on date ranges or company coverage. Given the output schema exists, return values are adequately addressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides no descriptions (0% coverage), so the description fully compensates by detailing every parameter. It gives format examples for dates, explains company_name, and exhaustively enumerates all information_type options with Korean descriptions. This goes well beyond the schema's bare property types.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: providing a company's business-related status information, with specific information types enumerated. It distinguishes from sibling financial-data tools by focusing on business overview, products, raw materials, sales, risk, contracts, and R&D, though it doesn't explicitly name alternatives. The verb 'provide' is somewhat generic but the scope is specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool by listing seven information_type categories that narrow the query context, but it does not explicitly state when to use this over sibling tools like search_disclosure or search_detailed_financial_data. No exclusions or alternative recommendations are given, so the guidance is implied rather than direct.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_detailed_financial_dataB

회사의 세부적인 재무 정보를 제공하는 도구. XBRL 파일을 파싱하여 상세한 재무 데이터를 추출합니다.

Args: company_name: 회사명 (예: 삼성전자, 네이버 등) start_date: 시작일 (YYYYMMDD 형식, 예: 20230101) end_date: 종료일 (YYYYMMDD 형식, 예: 20231231) ctx: MCP Context 객체 statement_type: 재무제표 유형 ("재무상태표", "손익계산서", "현금흐름표" 중 하나 또는 None) None인 경우 모든 유형의 재무제표 정보를 반환합니다.

Returns: 선택한 재무제표 유형(들)의 세부 항목 정보가 포함된 텍스트

ParametersJSON Schema
NameRequiredDescriptionDefault
end_dateYes
start_dateYes
company_nameYes
statement_typeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses that it parses XBRL files and returns text with detailed items, and explains the behavior of the optional statement_type. However, it lacks details on error handling, data freshness, or edge cases, making it only moderately transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a summary, Args, and Returns sections. It is concise and easy to scan, though the opening phrase restates the tool name, making it slightly redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers purpose, parameters, and return type adequately for a 4-parameter tool with an output schema. However, it lacks usage guidance and has the ctx inconsistency, leaving some gaps in completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The Arg values section provides examples for company_name, start_date, end_date, and describes statement_type options, which compensates for 0% schema coverage. However, the inclusion of 'ctx' as an argument not present in the schema creates inconsistency and potential confusion for the agent, lowering the score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool provides detailed financial information by parsing XBRL files, with a specific verb and resource. However, it does not explicitly distinguish itself from sibling tools like search_json_financial_data, so it earns a 4 rather than a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus alternatives. It only implies usage for detailed financial data but does not mention any trade-offs, exclusions, or comparison to sibling tools like search_json_financial_data. This is a clear gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_disclosureA

회사의 주요 재무 정보를 검색하여 제공하는 도구. requested_items가 주어지면 해당 항목 관련 데이터가 있는 공시만 필터링합니다.

Args: company_name: 회사명 (예: 삼성전자, 네이버 등) start_date: 시작일 (YYYYMMDD 형식, 예: 20230101) end_date: 종료일 (YYYYMMDD 형식, 예: 20231231) ctx: MCP Context 객체 requested_items: 사용자가 요청한 재무 항목 이름 리스트 (예: ["매출액", "영업이익"]). None이면 모든 주요 항목을 대상으로 함. 사용 가능한 항목: 매출액, 영업이익, 당기순이익, 영업활동 현금흐름, 투자활동 현금흐름, 재무활동 현금흐름, 자산총계, 부채총계, 자본총계

Returns: 검색된 각 공시의 주요 재무 정보 요약 텍스트 (요청 항목 관련 데이터가 있는 경우만)

ParametersJSON Schema
NameRequiredDescriptionDefault
end_dateYes
start_dateYes
company_nameYes
requested_itemsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must carry the full burden of behavioral disclosure. It does disclose that only disclosures with data matching requested_items are returned, and describes the return text. However, it does not explicitly state that the operation is read-only, nor does it mention error handling, date range validation, or the absence of results. The inclusion of a 'ctx' parameter not present in the schema adds minor confusion.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with an intro, Args section, and Returns section, front-loading the primary purpose. It is slightly longer than necessary due to detailed examples and the redundant ctx parameter, but every other piece of information earns its place. The structure aids quick scanning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the main behavior: purpose, filtering logic, and return summary. Since an output schema exists, the return details are partially covered elsewhere. However, it lacks information about edge cases (e.g., no disclosures found) and does not explicitly state whether the tool is read-only, which would be expected given no annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds substantial meaning beyond the schema, which has 0% description coverage. It provides concrete examples for company_name (e.g., Samsung Electronics, Naver), exact date format with examples (YYYYMMDD), and a comprehensive list of valid financial items for requested_items. This effectively compensates for the schema's lack of descriptions. The only minor flaw is the stray 'ctx' parameter mention.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool 'searches and provides a company's key financial information' (회사의 주요 재무 정보를 검색하여 제공하는 도구), identifying a specific verb and resource. However, it does not explicitly distinguish itself from sibling tools like search_detailed_financial_data or search_json_financial_data, relying mainly on the name for differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus its alternatives. There is no mention of sibling tools, exclusions, or prerequisites. The only hint is the purpose statement, which implies usage for financial disclosure search but does not help an agent choose among similar tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_json_financial_dataA

회사의 재무 정보를 JSON API를 통해 제공하는 실패시 보완하는 보조 도구. search_disclosure, search_detailed_financial_data이 2023년 9월 이전 자료 분석에 실패했을 때 대안으로 활용.

Args: company_name: 회사명 (예: 삼성전자, 네이버 등) bsns_year: 사업연도 (4자리, 예: "2023") ctx: MCP Context 객체 reprt_code: 보고서 코드 ("11011": 사업보고서, "11012": 반기보고서, "11013": 1분기보고서, "11014": 3분기보고서) fs_div: 개별/연결구분 ("OFS": 재무제표, "CFS": 연결재무제표) statement_type: 재무제표 유형 ("BS": 재무상태표, "IS": 손익계산서, "CIS": 포괄손익계산서, "CF": 현금흐름표, "SCE": 자본변동표) None인 경우 모든 유형의 재무제표 정보를 반환합니다.

Returns: 선택한 재무제표 유형(들)의 세부 항목 정보가 포함된 텍스트 (당기 데이터만 표시)

ParametersJSON Schema
NameRequiredDescriptionDefault
fs_divNoOFS
bsns_yearYes
reprt_codeNo11011
company_nameYes
statement_typeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It discloses the data source (JSON API), its role as a fallback tool, and a key behavioral limit: '당기 데이터만 표시' (only current-period data is shown). It lacks details on failure modes or error behavior but is adequate for a read-only retrieval tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is structured with a brief usage note, a labeled Args section, and a Returns section. The opening sentence is grammatically awkward ('제공하는 실패시 보완하는'), but overall it is efficiently organized and not overly verbose for a 5-parameter tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and barren schema, the description covers parameter semantics, use-case context, and return type. It explains most of what an agent needs, though it could mention how to handle failures or the exact structure of the returned text. It is largely complete for a fallback financial-data retrieval tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, yet the description explains all 5 parameters with examples, valid values, and defaults. It adds significant meaning beyond the bare schema fields, including corporate name examples, report codes, and statement type enum values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states it provides company financial information via JSON API and explicitly names it as a fallback when sibling tools fail for pre-September 2023 data. This distinguishes it from search_disclosure and search_detailed_financial_data, though the phrasing is slightly awkward and lacks a crisp verb like 'retrieve'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use this tool: when search_disclosure and search_detailed_financial_data fail to analyze data before September 2023. It clearly names the alternative tools, giving strong usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updatesv0.1.0
    • First observedget_current_date
    • First observedsearch_business_information
    • First observedsearch_detailed_financial_data
    • First observedsearch_disclosure
    • First observedsearch_json_financial_data

TDQS

A3.6/5.0

Scored across 5 tools

Disambiguation3/5

Most tools are clearly distinct, but search_detailed_financial_data and search_json_financial_data both provide detailed financial statement data, differing only in data source and fallback role. This overlap could confuse an agent deciding which to call.

Naming Consistency4/5

All data-retrieval tools follow a consistent search_ prefix with descriptive suffixes, and get_current_date is a clear utility function. Naming is largely predictable, though the get_ prefix for date is a minor deviation.

Tool Count5/5

Five tools is well-scoped for a financial disclosure server, covering date retrieval, summary financials, detailed statements, business info, and a fallback API without unnecessary bloat.

Completeness4/5

The toolset covers the core domain of company financial and business information retrieval. Minor gaps exist, such as raw filing text search or company code lookup, but these are not critical for the stated purpose.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

  • Powerful OpenDART API-based Korean corporate disclosure tools for accounting professionals

  • Financial data MCP for market, company, news, macro, and US Congress research.

  • Korean company disclosures in English: DART filings, financial statements, segments, 13F.

  • FinBridge is a hosted MCP server for Korean company disclosures, read in English. DART filings and normalized financial statements, business segments, insider reports and 13F holdings, with US, Japanese and European filers on the same schema for comparison. Search a company by its registered English name or its Korean name. Every answer names the filing, the receipt number and the date. Korean price delivery is planned and not currently served. Docs: https://www.gronox.kr/docs

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP Server for public disclosure information of Korean companies, powered by the dartpoint.ai API.
    3
    Apache 2.0
  • -
    license
    B
    quality
    Not graded
    maintenance
    DART API를 활용하여 다중 기업의 재무제표 정보를 분석하고 시각화하는 서버로, 매출액, 당기순이익, 총자산 등 다양한 재무 지표를 차트와 대시보드로 생성합니다.
    6
    -
  • F
    license
    A
    quality
    D
    maintenance
    An MCP server that enables Claude to perform financial analysis and visualization of Korean listed companies using the DART API. It supports detailed financial metrics, business unit sales breakdowns, and company comparisons for KOSPI and KOSDAQ stocks.
    6
    -
  • A
    license
    C
    quality
    C
    maintenance
    An MCP server that provides access to Korea's DART corporate disclosure system, offering 84 tools for retrieving financial statements, periodic reports, and shareholding information. It enables users to programmatically query and analyze official Korean corporate data via the OpenDART API.
    85
    MIT