OpenDart-mcp

keonho-kim/OpenDart-mcp

3.3

If you are the rightful owner of OpenDart-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

OpenDart-MCP is a Python library that provides access to the DART API using the Model-Context Protocol (MCP) for efficient and standardized financial information retrieval and analysis.

Tools
  1. find_company_by_name.py

    Search for company information by name.

  2. get_company_financial_stmt_list.py

    Retrieve a list of a company's financial statements.

  3. get_debt_summary.py

    Retrieve a summary of a company's debt.

  4. get_financial_stmt.py

    Retrieve comprehensive financial statements for a single company.

  5. get_investment_summary.py

    Retrieve a summary of a company's investments in other entities.

  6. get_people_summary.py

    Retrieve information on a company's executives and employees.

  7. get_stock_summary.py

    Retrieve information on a company's stock issuance.

OpenDart-MCP

OpenDart-MCP๋Š” DART (Data Analysis, Retrieval and Transfer System) API๋ฅผ Model-Context Protocol (MCP) ๊ธฐ๋ฐ˜์œผ๋กœ ์ œ๊ณตํ•˜์—ฌ, ๋‹ค์–‘ํ•œ ๊ธˆ์œต ์ •๋ณด ์กฐํšŒ ๋ฐ ๋ถ„์„ ๊ธฐ๋Šฅ์„ ๋ณด๋‹ค ํšจ์œจ์ ์ด๊ณ  ํ‘œ์ค€ํ™”๋œ ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•๋Š” ํŒŒ์ด์ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค.

์ฃผ์š” ๊ธฐ๋Šฅ

OpenDart-MCP๋Š” MCP๋ฅผ ํ†ตํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ƒ์„ธํ•œ ๊ธˆ์œต ์ •๋ณด ์กฐํšŒ ๋ฐ ๋ถ„์„ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค:

  • ๊ธฐ์—… ๊ธฐ๋ณธ ์ •๋ณด ์กฐํšŒ: MCP ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ํŠน์ • ํšŒ์‚ฌ ์ด๋ฆ„์ด๋‚˜ ์ฝ”๋“œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ธฐ์—…์˜ ์ƒ์„ธ ๊ธฐ๋ณธ ์ •๋ณด(ํšŒ์‚ฌ๋ช…, ์˜๋ฌธ๋ช…, ์ข…๋ชฉ์ฝ”๋“œ, ๋Œ€ํ‘œ์ž๋ช…, ๋ฒ•์ธ๊ตฌ๋ถ„, ๋ฒ•์ธ๋“ฑ๋ก๋ฒˆํ˜ธ, ์‚ฌ์—…์ž๋“ฑ๋ก๋ฒˆํ˜ธ, ์ฃผ์†Œ, ํ™ˆํŽ˜์ด์ง€, IRํ™ˆํŽ˜์ด์ง€, ์ „ํ™”๋ฒˆํ˜ธ, ํŒฉ์Šค๋ฒˆํ˜ธ, ์„ค๋ฆฝ์ผ, ๊ฒฐ์‚ฐ์›” ๋“ฑ)๋ฅผ ์‹ ์†ํ•˜๊ฒŒ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค.
  • ๋‹จ์ผ ํšŒ์‚ฌ ์ „์ฒด ์žฌ๋ฌด์ œํ‘œ ์กฐํšŒ: MCP๋ฅผ ์ด์šฉํ•˜์—ฌ ํŠน์ • ๊ธฐ์—…์˜ ํŠน์ • ์‚ฌ์—…์—ฐ๋„, ๋ณด๊ณ ์„œ ์ข…๋ฅ˜(1๋ถ„๊ธฐ๋ณด๊ณ ์„œ, ๋ฐ˜๊ธฐ๋ณด๊ณ ์„œ, 3๋ถ„๊ธฐ๋ณด๊ณ ์„œ, ์‚ฌ์—…๋ณด๊ณ ์„œ)์— ํ•ด๋‹นํ•˜๋Š” ์›๋ณธ ์žฌ๋ฌด์ œํ‘œ(๊ฐœ๋ณ„/์—ฐ๊ฒฐ, XBRL ํ‘œ์ค€ ๊ณ„์ •๊ณผ๋ชฉ ์ฒด๊ณ„)๋ฅผ ์š”์ฒญํ•˜๊ณ , JSON ํ˜•ํƒœ๋กœ ๊ฐ€๊ณต๋œ ์žฌ๋ฌด์ƒํƒœํ‘œ, ์†์ต๊ณ„์‚ฐ์„œ, ํ˜„๊ธˆํ๋ฆ„ํ‘œ ๋“ฑ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ณต๋ฐ›์Šต๋‹ˆ๋‹ค. (IFRS, GAAP ๋ชจ๋‘ ์ง€์› ๊ฐ€๋Šฅ)
  • ์žฌ๋ฌด์ œํ‘œ ๋ชฉ๋ก ์กฐํšŒ: MCP๋ฅผ ํ†ตํ•ด ํŠน์ • ๊ธฐ์—…์ด ๊ณต์‹œํ•œ ๊ณผ๊ฑฐ ์žฌ๋ฌด์ œํ‘œ์˜ ๋ชฉ๋ก์„ ์—ฐ๋„๋ณ„, ๋ถ„๊ธฐ๋ณ„๋กœ ์†์‰ฝ๊ฒŒ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ฐ ์žฌ๋ฌด์ œํ‘œ์˜ ์ƒ์„ธ ์กฐํšŒ๋กœ ์ด์–ด์ง€๋Š” ์—ฐ๊ฒฐ๊ณ ๋ฆฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • ๋ถ€์ฑ„ ์ด๊ด„ ํ˜„ํ™ฉ ์กฐํšŒ: MCP๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๊ธฐ์—…์˜ ์ตœ๊ทผ ์‚ฌ์—…์—ฐ๋„ ๊ธฐ์ค€ ๋ถ€์ฑ„ ์ด๊ด„ ํ˜„ํ™ฉ (์œ ๋™๋ถ€์ฑ„, ๋น„์œ ๋™๋ถ€์ฑ„์˜ ์ƒ์„ธ ํ•ญ๋ชฉ ๋ฐ ๊ธˆ์•ก)์„ ์‹ ์†ํ•˜๊ฒŒ ํŒŒ์•…ํ•˜์—ฌ ์žฌ๋ฌด ๊ฑด์ „์„ฑ ๋ถ„์„์— ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ํƒ€๋ฒ•์ธ ์ถœ์ž ํ˜„ํ™ฉ ์กฐํšŒ: MCP๋ฅผ ํ†ตํ•ด ํŠน์ • ๊ธฐ์—…์˜ ํƒ€ ๋ฒ•์ธ์— ๋Œ€ํ•œ ์ถœ์ž ํ˜„ํ™ฉ (์ถœ์ž ๋Œ€์ƒ ํšŒ์‚ฌ๋ช…, ์ถœ์ž ๋ชฉ์ , ์ตœ์ดˆ์ทจ๋“์ผ์ž, ์ตœ์ดˆ์ทจ๋“๊ธˆ์•ก, ๊ธฐ์ดˆ ๋ฐ ๊ธฐ๋ง ์ง€๋ถ„์œจ, ์žฅ๋ถ€๊ฐ€์•ก ๋“ฑ) ์ •๋ณด๋ฅผ ์ƒ์„ธํ•˜๊ฒŒ ์กฐํšŒํ•˜์—ฌ ๊ธฐ์—…์˜ ํˆฌ์ž ํฌํŠธํด๋ฆฌ์˜ค ๋ฐ ๊ด€๊ณ„์‚ฌ ํ˜„ํ™ฉ์„ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค.
  • ์ž„์› ๋ฐ ์ง์› ํ˜„ํ™ฉ ์กฐํšŒ: MCP ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ๊ธฐ์—…์˜ ๋“ฑ๊ธฐ์ž„์› ๋ฐ ๋ฏธ๋“ฑ๊ธฐ์ž„์› ํ˜„ํ™ฉ(์„ฑ๋ช…, ์ƒ๋…„์›”์ผ, ์ง์œ„, ๋“ฑ๊ธฐ/๋ฏธ๋“ฑ๊ธฐ ๊ตฌ๋ถ„, ์žฌ์ง๊ธฐ๊ฐ„ ๋“ฑ)๊ณผ ์ง์› ํ˜„ํ™ฉ(์ง์› ์ˆ˜, ํ‰๊ท  ๊ทผ์†์—ฐ์ˆ˜, ์—ฐ๊ฐ„ ๊ธ‰์—ฌ์ด์•ก, 1์ธ ํ‰๊ท  ๊ธ‰์—ฌ์•ก ๋“ฑ, ์‚ฌ์—…๋ถ€๋ฌธ๋ณ„/์„ฑ๋ณ„ ์ƒ์„ธ ์ •๋ณด ํฌํ•จ)์„ ์กฐํšŒํ•˜์—ฌ ๊ธฐ์—…์˜ ์ธ๋ ฅ ๊ตฌ์กฐ ๋ฐ ์šด์˜ ์ƒํƒœ๋ฅผ ํŒŒ์•…ํ•ฉ๋‹ˆ๋‹ค.
  • ์ฃผ์‹ ์ด์ˆ˜ ํ˜„ํ™ฉ ์กฐํšŒ: 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. ์šฐ์ƒ๋‹จ '์˜คํ”ˆ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 Desktop ์„ค์ •

3.1 ์„ค์ • ํŒŒ์ผ ์ฐพ๊ธฐ

์šด์˜์ฒด์ œ๋ณ„ Claude Desktop ์„ค์ • ํŒŒ์ผ ์œ„์น˜:

  • Windows: %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 Desktop์„ ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์œผ๋กœ ์‹คํ–‰ํ•ด๋ณด์„ธ์š”
์„ค์ • ํŒŒ์ผ ๊ด€๋ จ ์˜ค๋ฅ˜
  • JSON ๋ฌธ๋ฒ•์ด ์˜ฌ๋ฐ”๋ฅธ์ง€ ํ™•์ธํ•˜์„ธ์š” (์‰ผํ‘œ, ๋”ฐ์˜ดํ‘œ ๋“ฑ)
  • ์„ค์ • ํŒŒ์ผ ๊ฒฝ๋กœ๊ฐ€ ์ •ํ™•ํ•œ์ง€ ํ™•์ธํ•˜์„ธ์š”