金融数据查询库

OpenDart-MCP是一个基于Model-Context Protocol (MCP)的Python库,提供标准化的金融数据查询和分析功能,包括企业基本信息、财务报表、债务状况、投资情况等。

  • by keonho-kim
  • Python
  • 本地部署
  • 6 星标
  • 更新于
在 GitHub 查看 keonho-kim/OpenDart-mcp

使用说明

OpenDart MCP

OpenDart-MCP是一个基于Model-Context Protocol(MCP)提供DART(数据分析、检索和传输系统)API的python库,帮助您以更高效、更标准的方式访问各种金融信息查询和分析功能。

主要功能

OpenDart-MCP通过MCP提供以下详细的财务信息查询和分析功能:

  • 查看企业基本信息:通过MCP界面,基于特定公司名称或代码快速查询企业的详细基本信息(公司名称、英文名、项目代码、代表姓名、法人区分、法人注册号、商家注册号、地址、网站、IR网站、电话号码、传真号码、成立日期、结算月等)。
  • 查看单个公司的完整财务报表:使用MCP请求与特定企业的特定业务年度、报告类型(第一季度报告、半年报告、第三季度报告、业务报告)对应的原始财务报表(单独/合并、XBRL标准会计科目体系),并获取以JSON形式加工的财务状态表、损益表、现金流量表等数据。(IFRS、GAAP均可支持)
  • 查询财务报表列表:通过MCP,您可以轻松地按年度和季度获取特定公司公布的过去财务报表列表,并为每个财务报表的详细查询提供连接。
  • 查询负债总括情况:利用MCP快速了解企业最近一个业务年度的负债情况(流动负债、非流动负债的详细项目和金额),并将其用于财务健全性分析。
  • 查询其他法人出资情况:通过MCP详细查询特定企业对其他法人的出资情况(出资对象公司名称、出资目的、首次取得日期、首次取得金额、基础和期末持股比例、账面价值等),分析企业的投资组合和关联公司现状。
  • 查看管理人员和员工现状:通过MCP界面查询企业的注册高管和未注册高管现状(姓名、出生日期、职位、注册/未注册区分、在职时间等)和员工现状(包括员工数量、平均工龄、年工资总额、人均工资等,以及各业务部门/性别详细信息),了解企业的人力结构和运营状态。
  • 查询股票总数情况:通过MCP获得企业发行的股票总数、普通股/优先股划分、流通股数量、自身持股情况等股票相关核心信息,用于股权结构和市场流动性分析。

提供的工具列表(src/dart_mcp/tools)

  • find_company_by_name.py:按公司名称搜索公司信息
  • get_company_financial_stmt_list.py:查看公司财务报表列表
  • get_debt_summary.py:查询负债总括情况
  • get_financial_stmt.py:查看单个公司的完整财务报表
  • get_investment_summary.py:查询其他法人出资情况
  • get_people_summary.py:查看管理人员和员工现状
  • get_stock_summary.py:查询股票总数情况

MCP设置指南

OpenDart-MCP在Claude Desktop中的逐步设置方法。

1.事前准备事项

1.1 DART API密钥发放

  1. DART电子公告系统 连接
  2. 点击右上角“Open API”
  3. 进行“API申请”→“开发者注册”
  4. 输入个人信息后发放API密钥(通过电子邮件发送)
  5. 请将获得的API密钥保存在记事本中

1.2安装Docker

2.构建Docker映像

# 1. 깃허브 복사하기
git clone https://github.com/keonho-kim/OpenDart-mcp.git
# 1. 프로젝트 폴더로 이동
cd OpenDart-mcp

# 2. Docker 이미지 빌드
docker build -t opendart-mcp .

请参见:构建过程可能需要几分钟。

3.Claude桌面设置

3.1查找配置文件

特定于操作系统的Claude Desktop设置文件位置:

  • 视窗: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

3.2修改配置文件

  1. 用文本编辑器打开上述路径的配置文件(如果没有文件,则新建)
  2. 添加以下内容或修改现有内容:
{
  "mcpServers": {
    "opendart-mcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "--net=host",
        "-e",
        "DART_API_KEY=<PUT_YOUR_DART_API_KEY>",
        "opendart-mcp"
      ]
    }
  }
}
  1. <PUT_YOUR_DART_API_KEY> 将部分替换为在步骤1中获得的实际API密钥
    • 示例: "DART_API_KEY=1234567890abcdef1234567890abcdef12345678"

3.3配置文件示例(已完成形式)

{
  "mcpServers": {
    "opendart-mcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "--net=host",
        "-e",
        "DART_API_KEY=1234567890abcdef1234567890abcdef12345678",
        "opendart-mcp"
      ]
    }
  }
}

4.重新启动Claude Desktop

保存配置文件后,完全退出Claude Desktop并重新运行。

5.确认使用

在Claude Desktop中进行以下测试:

삼성전자의 2023년 사업보고서를 조회해주세요.

故障排除

Docker相关错误

  • 检查Docker是否在运行
  • 以管理员身份运行Docker桌面

配置文件相关错误

  • 请检查JSON语法是否正确(逗号、引号等)
  • 请检查配置文件路径是否正确