dart-mcp
DART-MCP:克劳德财务分析扩展
这是一个利用 DART API 的财务分析 MCP(模型辅助能力包)。 Claude 让您轻松分析和可视化上市公司的财务数据。
我将在顶部添加更详细、更简单的指南,您可以在https://dart-mcp.vercel.app/上看到。
可能/不可能
可能(O)
关键财务分析
详细的财务分析
公司各业务部门销售额
使用 Claude 进行可视化
使用财务指标进行估值(DCF等)
不可能(X)
提供股票价格和市值
海外公司分析
比 Claude 的免费使用方式更多
使用多个聊天窗口(如果不行,就创建一个新的聊天窗口并使用它)
100%准确的信息
所提供的投资信息可能与实际信息有所不同,投资责任由投资者承担。
Related MCP server: mcp-meilisearch
使用示例
财务数据分析与可视化
파마리서치의 2023, 2024년 매출액, 영업이익 추이 분기별로 그래프로 보여줘. 그리고 매출비중이 어떻게 되는지 알려줘. 영업이익이나 매출액 변동 이유도 분석해줘.公司比较分析
카카오와 네이버 2024년 수익성지표를 비교해서 분기별로 보여주고, 각 기업들은 어떤 사업부가 성장을 이끌지 알려줘.财务风险评估
한국전력의 최근 부채상황을 조사하고, 상세하게 어떤 부분이 문제인지 분석해줘.提前准备
颁发 DART API 密钥
访问DART Open API网站
注册并登录
[认证密钥申请/管理] - 点击[开放API使用申请]菜单
输入使用信息后申请
[认证密钥申请/管理] - 在[Open API 使用状态]菜单中检查已颁发的认证密钥
安装 Claude 桌面应用程序
注册并登录您的帐户
如何安装
1.从GitHub下载项目
从 GitHub 页面下载 zip 文件。 https://github.com/2geonhyup/dart-mcp
2. 解压缩 ZIP 文件并检查文件夹位置。
解压缩下载的 ZIP 文件。
确保解压的文件夹位于下载中。如果它位于其他位置,请将其移动到下载位置。
3.更改文件夹名称
确保将解压后的文件夹 dart-mcp-main 重命名为 dart-mcp。 (如果你从一开始就有 dart-mcp,请不要更改它)
4. 访问 Claude 应用程序和设置
启动已安装的 Claude 桌面应用程序。
Mac 用户:单击Claude > 设置 > 开发人员 > 编辑设置Windows 用户:单击设置 > 开发人员 > 编辑设置
5.打开设置文件
使用文本编辑器打开顶部的 claude_desktop_config 文件。
6. 输入设置代码
首先,输入正确的密钥和名称。
DART API 密钥:输入您收到的 API 密钥
计算机名称:输入您的计算机帐户名称(Mac 上的 Finder 主文件夹,Windows 上的 C:\Users 文件夹名称)
在设置文件中输入以下代码:
{
"mcpServers": {
"dart-mcp": {
"command": "uv",
"args": ["--directory", "/Users/{컴퓨터이름}/Downloads/dart-mcp", "run", "dart.py"],
"env": {
"DART_API_KEY": "{DART_API_KEY}"
}
}
}
}7. 重启Claude并开始使用
保存设置文件,关闭 Claude 应用程序,然后重新启动它。现在,当您向 Claude 提问时,他会调用 DART API 并为您提供答案。
使用注意事项
公司名称必须为其正式注册名称。
仅可研究 KOSPI 和 KOSDAQ 股票。
我们计划未来将股票价格、市值等实时信息进行联动。
Available Tools
5 toolsget_current_dateA
현재 날짜를 YYYYMMDD 형식으로 반환하는 도구
Args:
ctx: MCP Context 객체 (선택 사항)
Returns:
YYYYMMDD 형식의 현재 날짜 문자열
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses the return format and mentions an optional context parameter, but doesn't specify whether this is a read-only operation, whether it has side effects, or any rate limits. The description doesn't contradict annotations since none exist, but provides only basic behavioral information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is perfectly structured and concise with zero waste. It states the purpose in one clear sentence, then provides separate sections for Args and Returns with exactly the information needed. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with 0 required parameters and no output schema, the description is nearly complete. It explains what the tool does, the optional parameter, and the return format. The only minor gap is lack of explicit behavioral guarantees (like read-only status), but given the tool's simplicity, this is a minor omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so the baseline would be 3. The description adds value by explaining the optional 'ctx' parameter as 'MCP Context 객체 (선택 사항)' - MCP Context object (optional), providing semantic meaning beyond the empty schema. This elevates the score above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verb ('반환하는' - returns) and resource ('현재 날짜' - current date), including the exact output format ('YYYYMMDD 형식'). It distinguishes itself from sibling tools that search various financial/business data by focusing solely on returning the current date.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by specifying it returns the current date in YYYYMMDD format, suggesting it should be used when this specific date representation is needed. However, it doesn't explicitly state when NOT to use it or mention alternatives for different date formats or time components.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_business_informationB
회사의 사업 관련 현황 정보를 제공하는 도구
Args:
company_name: 회사명 (예: 삼성전자, 네이버 등)
start_date: 시작일 (YYYYMMDD 형식, 예: 20230101)
end_date: 종료일 (YYYYMMDD 형식, 예: 20231231)
information_type: 조회할 정보 유형
'사업의 개요' - 회사의 전반적인 사업 내용
'주요 제품 및 서비스' - 회사의 주요 제품과 서비스 정보
'원재료 및 생산설비' - 원재료 조달 및 생산 설비 현황
'매출 및 수주상황' - 매출과 수주 현황 정보
'위험관리 및 파생거래' - 리스크 관리 방안 및 파생상품 거래 정보
'주요계약 및 연구개발활동' - 주요 계약 현황 및 R&D 활동
'기타 참고사항' - 기타 사업 관련 참고 정보
ctx: MCP Context 객체
Returns:
요청한 정보 유형에 대한 해당 회사의 사업 정보 텍스트
| Name | Required | Description | Default |
|---|---|---|---|
| company_name | Yes | ||
| start_date | Yes | ||
| end_date | Yes | ||
| information_type | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states the tool 'provides' information (implying read-only) and describes return format, but lacks critical details: authentication requirements, rate limits, error conditions, data freshness, or whether it performs destructive operations. For a search tool with 4 parameters and no annotation coverage, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (purpose, Args, Returns) and uses bullet points for the information_type enum values. While comprehensive, it's appropriately sized for a tool with 4 parameters and detailed options. Every sentence earns its place by adding necessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 parameters with detailed enum options) and lack of both annotations and output schema, the description provides good parameter documentation but has significant gaps. It explains what information is returned but not the format (beyond '텍스트'), and lacks behavioral context like error handling or data sources. For a search tool without structured output, more behavioral context would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds substantial value beyond the input schema, which has 0% description coverage. It provides Korean explanations for all 4 parameters, including detailed enum values for 'information_type' with 7 specific options and their meanings. This fully compensates for the schema's lack of descriptions and gives clear semantic meaning to each parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '회사의 사업 관련 현황 정보를 제공하는 도구' (provides company business status information). It specifies the resource (company business information) and verb (provides/search), though it doesn't explicitly differentiate from sibling tools like search_detailed_financial_data or search_disclosure.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 alternatives. It doesn't mention sibling tools like search_detailed_financial_data or search_disclosure, nor does it explain what distinguishes business information from financial data or disclosures. The only contextual hint is the parameter descriptions, which don't constitute usage guidelines.
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:
선택한 재무제표 유형(들)의 세부 항목 정보가 포함된 텍스트
| Name | Required | Description | Default |
|---|---|---|---|
| company_name | Yes | ||
| start_date | Yes | ||
| end_date | Yes | ||
| statement_type | No |
TDQS
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 disclosure. While it mentions parsing XBRL files and returning text with financial details, it doesn't cover important aspects like whether this is a read-only operation, potential rate limits, authentication requirements, error conditions, or what happens with invalid inputs. The description provides basic functional information but lacks behavioral context needed for safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections: purpose statement, parameter explanations, and return value description. It's appropriately sized with no wasted sentences. The only minor improvement would be more explicit sibling differentiation, but overall it's efficiently organized and front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter tool with no annotations and no output schema, the description does a decent job covering the basics: purpose, parameters, and return format. However, it lacks important context about behavioral aspects (safety, limits, errors) and doesn't help the agent choose between similar tools. Given the complexity of financial data extraction, more guidance would be beneficial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides excellent parameter semantics beyond the schema. With 0% schema description coverage, the description fully compensates by explaining all 4 parameters: company_name (with examples), start_date/end_date (format and examples), statement_type (enum values and None behavior), and even mentions ctx parameter. This adds crucial meaning that the bare schema lacks.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '회사의 세부적인 재무 정보를 제공하는 도구' (provides detailed financial information for companies) and 'XBRL 파일을 파싱하여 상세한 재무 데이터를 추출합니다' (parses XBRL files to extract detailed financial data). This specifies both the action (parse/extract) and resource (financial data from XBRL files), though it doesn't explicitly differentiate from sibling tools like 'search_json_financial_data'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 alternatives. It doesn't mention sibling tools like 'search_json_financial_data' or 'search_disclosure', nor does it specify any prerequisites, exclusions, or contextual factors that would help an agent choose between available options.
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:
검색된 각 공시의 주요 재무 정보 요약 텍스트 (요청 항목 관련 데이터가 있는 경우만)
| Name | Required | Description | Default |
|---|---|---|---|
| company_name | Yes | ||
| start_date | Yes | ||
| end_date | Yes | ||
| requested_items | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses key behavioral traits: it filters disclosures based on requested items, returns summaries only when data exists for those items, and handles a null requested_items parameter to target all major items. However, it doesn't mention rate limits, authentication needs, error conditions, or pagination behavior, leaving gaps for a tool with 4 parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and well-structured: a purpose statement, filtering behavior explanation, parameter details with examples, and return value clarification. Every sentence adds value, though the parameter section could be slightly more concise. It's front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 parameters, financial data filtering), no annotations, and no output schema, the description is moderately complete. It covers parameter semantics well and explains the filtering logic, but lacks details on return format structure, error handling, and behavioral constraints. For a financial search tool with sibling alternatives, more contextual guidance would be beneficial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds substantial meaning beyond the input schema, which has 0% description coverage. It explains company_name format with examples, date formats (YYYYMMDD), requested_items behavior (filters disclosures, None targets all items), and provides a comprehensive list of available financial items. This fully compensates for the schema's lack of descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '회사의 주요 재무 정보를 검색하여 제공하는 도구' (search and provide a company's key financial information). It specifies the resource (company financial disclosures) and verb (search/provide), but doesn't explicitly differentiate from sibling tools like 'search_detailed_financial_data' or 'search_json_financial_data' which likely serve similar domains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context through the filtering behavior ('requested_items가 주어지면 해당 항목 관련 데이터가 있는 공시만 필터링합니다'), suggesting this tool is for finding disclosures containing specific financial items. However, it doesn't provide explicit guidance on when to use this versus the sibling tools (search_detailed_financial_data, search_json_financial_data), nor does it mention any prerequisites or exclusions.
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:
선택한 재무제표 유형(들)의 세부 항목 정보가 포함된 텍스트 (당기 데이터만 표시)
| Name | Required | Description | Default |
|---|---|---|---|
| company_name | Yes | ||
| bsns_year | Yes | ||
| reprt_code | No | 11011 | |
| fs_div | No | OFS | |
| statement_type | No |
TDQS
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 disclosure. It does reveal some behavioral traits: it's a fallback/supplemental tool, it returns current period data only ('당기 데이터만 표시'), and it returns text with detailed item information. However, it doesn't disclose important aspects like whether it's read-only, potential rate limits, authentication requirements, error handling, or what happens when parameters are invalid. The description adds some context but leaves significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with purpose first, usage guidelines second, then parameter documentation, and finally return information. Each section is focused and adds value. While not extremely brief, every sentence serves a clear purpose. The parameter documentation is comprehensive but necessary given the poor schema coverage. The structure helps an agent quickly understand what the tool does and how to use it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (5 parameters, financial data tool), no annotations, and no output schema, the description does a good job of providing necessary context. It explains the tool's purpose, when to use it, all parameters in detail, and what the return contains. The main gap is in behavioral aspects like error conditions, performance characteristics, or authentication needs. However, for a tool with this level of parameter complexity and no structured documentation support, the description provides substantial contextual information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description fully compensates by providing comprehensive parameter documentation. Each of the 5 parameters gets clear explanations in Korean with examples and enum values where applicable. The description adds crucial semantic information beyond the bare schema, including format requirements (4-digit year), code mappings for reprt_code, statement_type options with their meanings, and the effect of null values. This is exactly what's needed when schema coverage is poor.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '회사의 재무 정보를 JSON API를 통해 제공하는 실패시 보완하는 보조 도구' (provides company financial information via JSON API as a fallback supplement). It specifies the resource (financial information) and method (JSON API), and distinguishes it from siblings by mentioning it's an alternative when search_disclosure and search_detailed_financial_data fail for pre-September 2023 data. However, it doesn't explicitly state the specific verb beyond '제공' (provide).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use this tool: 'search_disclosure, search_detailed_financial_data이 2023년 9월 이전 자료 분석에 실패했을 때 대안으로 활용' (use as an alternative when search_disclosure and search_detailed_financial_data fail for pre-September 2023 data analysis). It names specific sibling tools and gives a clear temporal boundary (before September 2023), making it easy for an agent to decide when to select this tool over alternatives.
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.
5 tool updates
- First observed
get_current_date - First observed
search_business_information - First observed
search_detailed_financial_data - First observed
search_disclosure - First observed
search_json_financial_data
TDQS
Scored across 5 tools
Most tools have distinct purposes: get_current_date is a simple utility, while the other four focus on company information retrieval with clear specializations. However, search_detailed_financial_data and search_json_financial_data both provide financial data with overlapping functionality, creating some potential confusion despite different data sources and parameter structures.
All five tools follow a consistent snake_case naming pattern with clear verb_noun structure. Each name accurately describes the tool's function (get_current_date, search_business_information, search_detailed_financial_data, search_disclosure, search_json_financial_data), maintaining excellent consistency throughout the set.
Five tools is reasonable for a financial/business data server, though the scope feels slightly thin. The set covers date retrieval and company information with multiple financial data approaches, but could potentially benefit from additional complementary tools like company listing or sector analysis to feel more complete.
For a Korean financial data server, there are notable gaps in coverage. While financial data retrieval is well-represented with multiple approaches, there's no tool for listing available companies, searching by sector/industry, retrieving historical stock prices, or accessing corporate governance information. The server focuses heavily on financial statements and disclosures but misses broader corporate data aspects.
Maintenance
Related MCP Connectors
Related MCP Servers
- MIT
- -
- -
- MIT