Skip to main content
Glama

Korean Company Information MCP Server

by SeoNaRu

๐Ÿข ํ•œ๊ตญ ๊ธฐ์—…์ •๋ณด ์กฐํšŒ MCP ์„œ๋ฒ„

DART API๋ฅผ ํ™œ์šฉํ•œ ๊ณ ์„ฑ๋Šฅ MCP (Model Context Protocol) ์„œ๋ฒ„์ž…๋‹ˆ๋‹ค.

AI ์—์ด์ „ํŠธ(Claude Desktop, Cursor ๋“ฑ)๊ฐ€ ์‹ค์‹œ๊ฐ„์œผ๋กœ ํ•œ๊ตญ ์ƒ์žฅ๊ธฐ์—…์˜ ์žฌ๋ฌด์ œํ‘œ, ๊ณต์‹œ์ •๋ณด, ์ž„์›์ •๋ณด, ์ง€๋ถ„๊ตฌ์กฐ ๋“ฑ์„ ์กฐํšŒํ•˜๊ณ  ๋ถ„์„ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.


โœจ ์ฃผ์š” ๊ธฐ๋Šฅ

๐Ÿ“Š ๊ธฐ์—… ์ •๋ณด ์กฐํšŒ (DART API)

๊ธฐ๋Šฅ

์„ค๋ช…

๊ธฐ์—… ๊ฒ€์ƒ‰

ํšŒ์‚ฌ๋ช…์œผ๋กœ ๊ธฐ์—… ๊ฒ€์ƒ‰ ๋ฐ ๊ธฐ๋ณธ์ •๋ณด ์กฐํšŒ

๊ธฐ์—… ๊ธฐ๋ณธ์ •๋ณด

ํšŒ์‚ฌ๋ช…, ๋Œ€ํ‘œ์ž๋ช…, ์„ค๋ฆฝ์ผ, ๋ณธ์‚ฌ์ฃผ์†Œ ๋“ฑ ๊ธฐ๋ณธ์ •๋ณด ์กฐํšŒ

์žฌ๋ฌด์ œํ‘œ ์กฐํšŒ

์†์ต๊ณ„์‚ฐ์„œ, ์žฌ๋ฌด์ƒํƒœํ‘œ, ํ˜„๊ธˆํ๋ฆ„ํ‘œ

์žฌ๋ฌด ์ถ”์ด ๋ถ„์„

์ตœ๊ทผ 5-10๋…„ ์žฌ๋ฌด์ œํ‘œ ์ถ”์ด ๋ถ„์„

๊ณต์‹œ์ •๋ณด ์กฐํšŒ

์ตœ๊ทผ ๊ณต์‹œ ๋ชฉ๋ก ๋ฐ ์ƒ์„ธ ๋‚ด์šฉ

์ฃผ์š”์‚ฌํ•ญ๋ณด๊ณ ์„œ

์ž„์›๋ณ€๊ฒฝ, ์ž๋ณธ๊ธˆ๋ณ€๊ฒฝ ๋“ฑ ์ฃผ์š”์‚ฌํ•ญ ์กฐํšŒ

์ž„์›์ •๋ณด ์กฐํšŒ

์ž„์›๋ช…, ์ง์ฑ…, ๋ณด์ˆ˜ ๋“ฑ ์ž„์›์ •๋ณด ์กฐํšŒ

์ง€๋ถ„๋ณด๊ณ ์„œ

์ฃผ์ฃผ๋ช…, ๋ณด์œ ์ง€๋ถ„, ๋น„์œจ ๋“ฑ ์ง€๋ถ„๊ตฌ์กฐ ์กฐํšŒ

๊ณต์‹œ์›๋ฌธ ๋‹ค์šด๋กœ๋“œ

๊ณต์‹œ๋ณด๊ณ ์„œ ์›๋ฌธ XML/PDF ๋‹ค์šด๋กœ๋“œ ๋ฐ ํŒŒ์‹ฑ

๐Ÿš€ ์„ฑ๋Šฅ ์ตœ์ ํ™”

  • ์ „๋žต์  ์บ์‹ฑ: ๊ธฐ์—…์ •๋ณด ๋ฐ์ดํ„ฐ๋ฅผ 24์‹œ๊ฐ„ ์บ์‹ฑํ•˜์—ฌ API ํ˜ธ์ถœ ์ตœ์†Œํ™”

  • ๋น ๋ฅธ ์‘๋‹ต ์†๋„: ์บ์‹œ ๊ธฐ๋ฐ˜ ์ฆ‰์‹œ ์‘๋‹ต

  • ์•ˆ์ •์ ์ธ ์šด์˜: ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๋ฐ ๋กœ๊น… ์‹œ์Šคํ…œ

  • API ํ‚ค ์šฐ์„ ์ˆœ์œ„: ๋ฉ”์ธ ์„œ๋ฒ„์—์„œ ๋ฐ›์€ ํ‚ค โ†’ .env ํŒŒ์ผ (๋กœ์ปฌ ๊ฐœ๋ฐœ์šฉ)


๐ŸŽฏ ํ™œ์šฉ ์‚ฌ๋ก€

ํˆฌ์ž์‚ฌ/VC

  • ํˆฌ์ž ๊ฒ€ํ† : ์Šคํƒ€ํŠธ์—… ์žฌ๋ฌด์ œํ‘œ ๋ถ„์„ ๋ฐ ์„ฑ์žฅ์„ฑ ํ‰๊ฐ€

  • ๊ธฐ์—… ๊ฐ€์น˜ ํ‰๊ฐ€: ์žฌ๋ฌด ์ถ”์ด ๋ถ„์„์„ ํ†ตํ•œ ๊ฐ€์น˜ ์‚ฐ์ •

  • ๊ฒฝ์Ÿ์‚ฌ ๋ถ„์„: ์—ฌ๋Ÿฌ ๊ธฐ์—…์˜ ์žฌ๋ฌด์ œํ‘œ ๋น„๊ต ๋ถ„์„

B2B ์˜์—…ํŒ€

  • ๊ณ ๊ฐ์‚ฌ ๋ถ„์„: ์ž ์žฌ ๊ณ ๊ฐ์˜ ์žฌ๋ฌด ์ƒํƒœ ํŒŒ์•…

  • ์˜์—… ์ „๋žต ์ˆ˜๋ฆฝ: ๊ธฐ์—… ์ •๋ณด ๊ธฐ๋ฐ˜ ๋งž์ถคํ˜• ์˜์—… ์ „๋žต

  • ์‹ ์šฉ๋„ ํ™•์ธ: ๊ฑฐ๋ž˜ ์ „ ์žฌ๋ฌด ๊ฑด์ „์„ฑ ํ™•์ธ

์ปจ์„คํŒ… ํšŒ์‚ฌ

  • ๊ธฐ์—… ๋ถ„์„ ๋ฆฌํฌํŠธ: ์žฌ๋ฌด์ œํ‘œ, ๊ณต์‹œ์ •๋ณด ์ž๋™ ์ˆ˜์ง‘ ๋ฐ ๋ถ„์„

  • ๊ฒฝ์Ÿ์‚ฌ ๋น„๊ต: ์—ฌ๋Ÿฌ ๊ธฐ์—…์˜ ์žฌ๋ฌด ์ง€ํ‘œ ๋น„๊ต

  • ์‹œ์žฅ ๋ถ„์„: ์—…์ข…๋ณ„ ๊ธฐ์—… ์žฌ๋ฌด ํ˜„ํ™ฉ ๋ถ„์„

์Šคํƒ€ํŠธ์—…/๊ฐœ๋ฐœ์ž

  • ๊ฒฝ์Ÿ์‚ฌ ๋ชจ๋‹ˆํ„ฐ๋ง: ๊ฒฝ์Ÿ์‚ฌ์˜ ์žฌ๋ฌด ํ˜„ํ™ฉ ์ถ”์ 

  • ํˆฌ์ž ์œ ์น˜ ์ค€๋น„: ์žฌ๋ฌด์ œํ‘œ ๋ถ„์„์„ ํ†ตํ•œ ํˆฌ์ž ์ž๋ฃŒ ์ค€๋น„

  • ๊ธฐ์—… ๋ฆฌ์„œ์น˜: ์ž ์žฌ ํŒŒํŠธ๋„ˆ์‚ฌ ์ •๋ณด ์ˆ˜์ง‘


๐Ÿ› ๏ธ ๊ธฐ์ˆ  ์Šคํƒ

  • MCP Framework: FastMCP

  • Data Validation: Pydantic

  • HTTP Client: Requests

  • Caching: cachetools (TTL ์บ์‹œ)

  • Async Processing: asyncio

  • Environment: Python-dotenv


๐Ÿ“ฆ ์„ค์น˜ ๋ฐ ์„ค์ •

1) ์˜์กด์„ฑ ์„ค์น˜

pip install -r requirements.txt

๐Ÿ’ก uv๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ: uv sync

2) DART API ํ‚ค ๋ฐœ๊ธ‰ (๋ฌด๋ฃŒ, ์ฆ‰์‹œ)

  1. ์ „์ž๊ณต์‹œ์‹œ์Šคํ…œ Open DART ๋ฐฉ๋ฌธ

  2. ํšŒ์›๊ฐ€์ž… ๋ฐ ๋กœ๊ทธ์ธ

  3. ์ธ์ฆํ‚ค ์‹ ์ฒญ/๊ด€๋ฆฌ ๋ฉ”๋‰ด์—์„œ ์ธ์ฆํ‚ค ๋ฐœ๊ธ‰

  4. ์ฆ‰์‹œ ๋ฐœ๊ธ‰ (๋ฌด๋ฃŒ)

๐Ÿ’ก ๋ฌด๋ฃŒ์ด๋ฉฐ, ์ผ์ผ API ํ˜ธ์ถœ ์ œํ•œ์ด ์ถฉ๋ถ„ํžˆ ๋„‰๋„‰ํ•ฉ๋‹ˆ๋‹ค!

3) ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •

ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ์— .env ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ  API ํ‚ค๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค:

cp env.example .env

.env ํŒŒ์ผ ๋‚ด์šฉ:

DART_API_KEY=your_dart_api_key_here LOG_LEVEL=INFO PORT=8097

4) ์„œ๋ฒ„ ์‹คํ–‰

MCP ์„œ๋ฒ„ ๋ชจ๋“œ (stdio)

python -m src.main

HTTP ์„œ๋ฒ„ ๋ชจ๋“œ

HTTP_MODE=1 python src/main.py

๋˜๋Š”

export HTTP_MODE=1 python src/main.py

HTTP ์„œ๋ฒ„๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ http://localhost:8097์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.


๐Ÿณ Docker ์‹คํ–‰

# ์ด๋ฏธ์ง€ ๋นŒ๋“œ docker build -t company-info-mcp:latest . # ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰ docker run --rm \ -e DART_API_KEY=your_dart_api_key_here \ -p 8097:8097 \ company-info-mcp:latest

๐Ÿ”Œ Claude Desktop ์—ฐ๋™

์„ค์ • ํŒŒ์ผ ์œ„์น˜

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • Mac: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Linux: ~/.config/Claude/claude_desktop_config.json

์„ค์ • ์˜ˆ์‹œ

{ "mcpServers": { "company-info": { "command": "python", "args": ["-m", "src.main"], "cwd": "C:/Users/์‚ฌ์šฉ์ž๋ช…/Desktop/company-info-mcp", "env": { "DART_API_KEY": "your_dart_api_key_here" } } } }

โš ๏ธ ์ค‘์š”: cwd ๊ฒฝ๋กœ๋ฅผ ์‹ค์ œ ํ”„๋กœ์ ํŠธ ๊ฒฝ๋กœ๋กœ ๋ณ€๊ฒฝํ•˜์„ธ์š”!

์‚ฌ์šฉ ๋ฐฉ๋ฒ•

Claude Desktop ์žฌ์‹œ์ž‘ ํ›„ Claude์—๊ฒŒ ์งˆ๋ฌธ:

  • "์‚ผ์„ฑ์ „์ž ์žฌ๋ฌด์ œํ‘œ ๋ถ„์„ํ•ด์ค˜"

  • "๋„ค์ด๋ฒ„ ์ตœ๊ทผ ๊ณต์‹œ ํ™•์ธํ•ด์ค˜"

  • "์นด์นด์˜ค๋ฑ…ํฌ ํˆฌ์ž ๊ฒ€ํ† ํ•ด์ค˜"

  • "๋„ค์ด๋ฒ„, ์นด์นด์˜ค, ๋ผ์ธ ์žฌ๋ฌด ๋น„๊ตํ•ด์ค˜"


๐Ÿงฐ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋„๊ตฌ (Tools)

1. health

์„œ๋น„์Šค ์ƒํƒœ ๋ฐ API ํ‚ค ์„ค์ • ํ™•์ธ

ํŒŒ๋ผ๋ฏธํ„ฐ: ์—†์Œ (๋˜๋Š” arguments.env.DART_API_KEY)

๋ฐ˜ํ™˜ ์˜ˆ์‹œ:

{ "status": "ok", "message": "์ •์ƒ", "service": "Korean Company Information MCP Server (Free Version)", "environment": { "dart_api_key": "์„ค์ •๋จ", "dart_key_preview": "abc123...", "key_source": "arguments.env" } }

2. search_company_tool

๊ธฐ์—…์„ ํšŒ์‚ฌ๋ช…์œผ๋กœ ๊ฒ€์ƒ‰

ํŒŒ๋ผ๋ฏธํ„ฐ:

  • query (string, ํ•„์ˆ˜): ๊ฒ€์ƒ‰ํ•  ํšŒ์‚ฌ๋ช… (์˜ˆ: '์‚ผ์„ฑ์ „์ž', '๋„ค์ด๋ฒ„')

๋ฐ˜ํ™˜: ๊ฒ€์ƒ‰๋œ ๊ธฐ์—… ๋ชฉ๋ก (๊ธฐ์—… ๊ณ ์œ ๋ฒˆํ˜ธ ํฌํ•จ)


3. get_financial_statement_tool

๊ธฐ์—…์˜ ์žฌ๋ฌด์ œํ‘œ ์กฐํšŒ

ํŒŒ๋ผ๋ฏธํ„ฐ:

  • corp_code (string, ์„ ํƒ): ๊ธฐ์—… ๊ณ ์œ ๋ฒˆํ˜ธ

  • company_name (string, ์„ ํƒ): ํšŒ์‚ฌ๋ช… (corp_code ๋˜๋Š” company_name ์ค‘ ํ•˜๋‚˜ ํ•„์ˆ˜)

  • bsns_year (string, ์„ ํƒ): ์‚ฌ์—…์—ฐ๋„ (YYYY ํ˜•์‹, ๊ธฐ๋ณธ๊ฐ’: ์ตœ๊ทผ ์—ฐ๋„)

  • reprt_code (string, ์„ ํƒ): ๋ณด๊ณ ์„œ ์ฝ”๋“œ (11011: ์‚ฌ์—…๋ณด๊ณ ์„œ, 11013: ๋ถ„๊ธฐ๋ณด๊ณ ์„œ, ๊ธฐ๋ณธ๊ฐ’: 11011)

๋ฐ˜ํ™˜: ์žฌ๋ฌด์ œํ‘œ ์ •๋ณด (์†์ต๊ณ„์‚ฐ์„œ, ์žฌ๋ฌด์ƒํƒœํ‘œ, ํ˜„๊ธˆํ๋ฆ„ํ‘œ)


4. analyze_financial_trend_tool

๊ธฐ์—…์˜ ์žฌ๋ฌด ์ถ”์ด ๋ถ„์„ (์ตœ๊ทผ N๋…„)

ํŒŒ๋ผ๋ฏธํ„ฐ:

  • corp_code (string, ํ•„์ˆ˜): ๊ธฐ์—… ๊ณ ์œ ๋ฒˆํ˜ธ

  • years (integer, ์„ ํƒ): ๋ถ„์„ํ•  ์—ฐ์ˆ˜ (๊ธฐ๋ณธ๊ฐ’: 5, ์ตœ๋Œ€: 10)

๋ฐ˜ํ™˜: ์žฌ๋ฌด ์ถ”์ด ๋ถ„์„ ๊ฒฐ๊ณผ (์ตœ๊ทผ N๋…„ ์žฌ๋ฌด์ œํ‘œ ๋ฐ์ดํ„ฐ)


5. get_public_disclosure_tool

๊ธฐ์—…์˜ ๊ณต์‹œ์ •๋ณด ์กฐํšŒ

ํŒŒ๋ผ๋ฏธํ„ฐ:

  • corp_code (string, ํ•„์ˆ˜): ๊ธฐ์—… ๊ณ ์œ ๋ฒˆํ˜ธ

  • bgn_de (string, ์„ ํƒ): ์‹œ์ž‘์ผ (YYYYMMDD ํ˜•์‹, ๊ธฐ๋ณธ๊ฐ’: ์ตœ๊ทผ 1๊ฐœ์›”)

  • end_de (string, ์„ ํƒ): ์ข…๋ฃŒ์ผ (YYYYMMDD ํ˜•์‹, ๊ธฐ๋ณธ๊ฐ’: ์˜ค๋Š˜)

  • page_no (integer, ์„ ํƒ): ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ (๊ธฐ๋ณธ๊ฐ’: 1)

  • page_count (integer, ์„ ํƒ): ํŽ˜์ด์ง€๋‹น ๊ฑด์ˆ˜ (๊ธฐ๋ณธ๊ฐ’: 10, ์ตœ๋Œ€: 100)

๋ฐ˜ํ™˜: ๊ณต์‹œ์ •๋ณด ๋ชฉ๋ก


6. get_company_overview_tool

๊ธฐ์—…์˜ ๊ธฐ๋ณธ์ •๋ณด ์กฐํšŒ

ํŒŒ๋ผ๋ฏธํ„ฐ:

  • corp_code (string, ์„ ํƒ): ๊ธฐ์—… ๊ณ ์œ ๋ฒˆํ˜ธ

  • company_name (string, ์„ ํƒ): ํšŒ์‚ฌ๋ช… (corp_code ๋˜๋Š” company_name ์ค‘ ํ•˜๋‚˜ ํ•„์ˆ˜)

๋ฐ˜ํ™˜: ๊ธฐ์—… ๊ธฐ๋ณธ์ •๋ณด (ํšŒ์‚ฌ๋ช…, ๋Œ€ํ‘œ์ž๋ช…, ์„ค๋ฆฝ์ผ, ๋ณธ์‚ฌ์ฃผ์†Œ ๋“ฑ)


7. get_major_report_tool

์ฃผ์š”์‚ฌํ•ญ๋ณด๊ณ ์„œ ์กฐํšŒ

ํŒŒ๋ผ๋ฏธํ„ฐ:

  • corp_code (string, ์„ ํƒ): ๊ธฐ์—… ๊ณ ์œ ๋ฒˆํ˜ธ

  • company_name (string, ์„ ํƒ): ํšŒ์‚ฌ๋ช…

  • bgn_de (string, ์„ ํƒ): ์‹œ์ž‘์ผ (YYYYMMDD ํ˜•์‹, ๊ธฐ๋ณธ๊ฐ’: ์ตœ๊ทผ 1๊ฐœ์›”)

  • end_de (string, ์„ ํƒ): ์ข…๋ฃŒ์ผ (YYYYMMDD ํ˜•์‹, ๊ธฐ๋ณธ๊ฐ’: ์˜ค๋Š˜)

๋ฐ˜ํ™˜: ์ฃผ์š”์‚ฌํ•ญ๋ณด๊ณ ์„œ ๋ชฉ๋ก (์ž„์›๋ณ€๊ฒฝ, ์ž๋ณธ๊ธˆ๋ณ€๊ฒฝ ๋“ฑ)


8. download_disclosure_document_tool

๊ณต์‹œ์›๋ฌธ ๋‹ค์šด๋กœ๋“œ

ํŒŒ๋ผ๋ฏธํ„ฐ:

  • rcept_no (string, ํ•„์ˆ˜): ์ ‘์ˆ˜๋ฒˆํ˜ธ (๊ณต์‹œ์ •๋ณด์—์„œ ์–ป์„ ์ˆ˜ ์žˆ์Œ)

  • file_format (string, ์„ ํƒ): ํŒŒ์ผ ํ˜•์‹ ("xml" ๋˜๋Š” "pdf", ๊ธฐ๋ณธ๊ฐ’: "xml")

๋ฐ˜ํ™˜: ๊ณต์‹œ์›๋ฌธ ๋ฐ์ดํ„ฐ (XML์€ ํŒŒ์‹ฑ๋œ ๋ฐ์ดํ„ฐ ํฌํ•จ, PDF๋Š” base64 ์ธ์ฝ”๋”ฉ)


9. get_executives_tool

๊ธฐ์—…์˜ ์ž„์›์ •๋ณด ์กฐํšŒ

ํŒŒ๋ผ๋ฏธํ„ฐ:

  • corp_code (string, ์„ ํƒ): ๊ธฐ์—… ๊ณ ์œ ๋ฒˆํ˜ธ

  • company_name (string, ์„ ํƒ): ํšŒ์‚ฌ๋ช… (corp_code ๋˜๋Š” company_name ์ค‘ ํ•˜๋‚˜ ํ•„์ˆ˜)

๋ฐ˜ํ™˜: ์ž„์›์ •๋ณด ๋ชฉ๋ก (์ž„์›๋ช…, ์ง์ฑ…, ๋ณด์ˆ˜ ๋“ฑ)


10. get_shareholders_tool

์ง€๋ถ„๋ณด๊ณ ์„œ ์กฐํšŒ

ํŒŒ๋ผ๋ฏธํ„ฐ:

  • corp_code (string, ์„ ํƒ): ๊ธฐ์—… ๊ณ ์œ ๋ฒˆํ˜ธ

  • company_name (string, ์„ ํƒ): ํšŒ์‚ฌ๋ช…

  • bsns_year (string, ์„ ํƒ): ์‚ฌ์—…์—ฐ๋„ (YYYY ํ˜•์‹, ๊ธฐ๋ณธ๊ฐ’: ์ตœ๊ทผ ์—ฐ๋„)

  • reprt_code (string, ์„ ํƒ): ๋ณด๊ณ ์„œ ์ฝ”๋“œ (11011: ์‚ฌ์—…๋ณด๊ณ ์„œ, 11013: ๋ถ„๊ธฐ๋ณด๊ณ ์„œ, ๊ธฐ๋ณธ๊ฐ’: 11011)

๋ฐ˜ํ™˜: ์ง€๋ถ„๋ณด๊ณ ์„œ (์ฃผ์ฃผ๋ช…, ๋ณด์œ ์ง€๋ถ„, ๋น„์œจ ๋“ฑ)


๐Ÿ’ก ์‚ฌ์šฉ ์˜ˆ์‹œ

์˜ˆ์‹œ 1: ๊ธฐ์—… ์žฌ๋ฌด์ œํ‘œ ๋ถ„์„

์‚ฌ์šฉ์ž: "์‚ผ์„ฑ์ „์ž ์žฌ๋ฌด์ œํ‘œ ๋ถ„์„ํ•ด์ค˜"

AI ์—์ด์ „ํŠธ๊ฐ€ ์ˆ˜ํ–‰ํ•˜๋Š” ์ž‘์—…:

  1. search_company_tool(query="์‚ผ์„ฑ์ „์ž") ํ˜ธ์ถœ โ†’ corp_code ํ™•์ธ

  2. get_financial_statement_tool(company_name="์‚ผ์„ฑ์ „์ž", bsns_year="2024") ํ˜ธ์ถœ

  3. ์žฌ๋ฌด์ œํ‘œ ๋ถ„์„ ๋ฐ ์š”์•ฝ ์ œ๊ณต


์˜ˆ์‹œ 2: ์žฌ๋ฌด ์ถ”์ด ๋ถ„์„

์‚ฌ์šฉ์ž: "๋„ค์ด๋ฒ„ ์ตœ๊ทผ 5๋…„ ์žฌ๋ฌด ์ถ”์ด ๋ถ„์„ํ•ด์ค˜"

AI ์—์ด์ „ํŠธ๊ฐ€ ์ˆ˜ํ–‰ํ•˜๋Š” ์ž‘์—…:

  1. ๊ธฐ์—… ๊ฒ€์ƒ‰ โ†’ corp_code ํ™•์ธ

  2. analyze_financial_trend_tool(corp_code="...", years=5) ํ˜ธ์ถœ

  3. ์ตœ๊ทผ 5๋…„ ๋งค์ถœ, ์˜์—…์ด์ต, ์ˆœ์ด์ต ์ถ”์ด ๋ถ„์„

  4. ์„ฑ์žฅ์„ฑ ํ‰๊ฐ€ ๋ฐ ๊ทธ๋ž˜ํ”„ ์ƒ์„ฑ


์˜ˆ์‹œ 3: ํˆฌ์ž ๊ฒ€ํ† 

์‚ฌ์šฉ์ž: "์นด์นด์˜ค๋ฑ…ํฌ ํˆฌ์ž ๊ฒ€ํ† ํ•ด์ค˜"

AI ์—์ด์ „ํŠธ๊ฐ€ ์ˆ˜ํ–‰ํ•˜๋Š” ์ž‘์—…:

  1. search_company_tool(query="์นด์นด์˜ค๋ฑ…ํฌ") - ํšŒ์‚ฌ ๊ฒ€์ƒ‰

  2. get_company_overview_tool(company_name="์นด์นด์˜ค๋ฑ…ํฌ") - ๊ธฐ๋ณธ์ •๋ณด ํ™•์ธ

  3. analyze_financial_trend_tool(corp_code="...", years=3) - ์ตœ๊ทผ 3๋…„ ์žฌ๋ฌด ์ถ”์ด

  4. get_executives_tool(company_name="์นด์นด์˜ค๋ฑ…ํฌ") - ์ž„์›์ง„ ํ™•์ธ

  5. get_shareholders_tool(company_name="์นด์นด์˜ค๋ฑ…ํฌ") - ์ง€๋ถ„๊ตฌ์กฐ ํ™•์ธ

  6. get_public_disclosure_tool(corp_code="...") - ์ตœ๊ทผ ๊ณต์‹œ ํ™•์ธ

  7. ์ข…ํ•ฉ ํˆฌ์ž ์˜๊ฒฌ ์ œ์‹œ


์˜ˆ์‹œ 4: ๊ฒฝ์Ÿ์‚ฌ ๋น„๊ต

์‚ฌ์šฉ์ž: "๋„ค์ด๋ฒ„, ์นด์นด์˜ค, ๋ผ์ธ ์žฌ๋ฌด ๋น„๊ตํ•ด์ค˜"

AI ์—์ด์ „ํŠธ๊ฐ€ ์ˆ˜ํ–‰ํ•˜๋Š” ์ž‘์—…:

  1. ๊ฐ ํšŒ์‚ฌ๋ณ„๋กœ analyze_financial_trend_tool ํ˜ธ์ถœ

  2. ๋งค์ถœ, ์˜์—…์ด์ต, ์ˆœ์ด์ต ์ถ”์ด ๋น„๊ต

  3. ์„ฑ์žฅ๋ฅ  ๊ณ„์‚ฐ ๋ฐ ๋น„๊ตํ‘œ ์ƒ์„ฑ

  4. get_shareholders_tool๋กœ ์ง€๋ถ„๊ตฌ์กฐ ๋น„๊ต


์˜ˆ์‹œ 5: ๊ณต์‹œ ์›๋ฌธ ์ƒ์„ธ ๋ถ„์„

์‚ฌ์šฉ์ž: "์‚ผ์„ฑ์ „์ž ์ตœ๊ทผ ๊ณต์‹œ ์ค‘ ์ค‘์š”ํ•œ ๊ฒƒ ํ•˜๋‚˜ ์ƒ์„ธ ๋ถ„์„ํ•ด์ค˜"

AI ์—์ด์ „ํŠธ๊ฐ€ ์ˆ˜ํ–‰ํ•˜๋Š” ์ž‘์—…:

  1. get_public_disclosure_tool(company_name="์‚ผ์„ฑ์ „์ž", page_count=10) - ์ตœ๊ทผ ๊ณต์‹œ ๋ชฉ๋ก

  2. ๊ณต์‹œ ์ œ๋ชฉ ๋ถ„์„ํ•˜์—ฌ ์ค‘์š” ๊ณต์‹œ ์„ ํƒ

  3. download_disclosure_document_tool(rcept_no="...", file_format="xml") - ๊ณต์‹œ์›๋ฌธ ๋‹ค์šด๋กœ๋“œ

  4. XML ํŒŒ์‹ฑ๋œ ๋ฐ์ดํ„ฐ ๋ถ„์„

  5. ํ•ต์‹ฌ ๋‚ด์šฉ ์š”์•ฝ ๋ฐ ์˜๊ฒฌ ์ œ์‹œ


๐ŸŒ HTTP API ์—”๋“œํฌ์ธํŠธ

HTTP ์„œ๋ฒ„ ๋ชจ๋“œ๋กœ ์‹คํ–‰ ์‹œ ๋‹ค์Œ ์—”๋“œํฌ์ธํŠธ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

GET /health

์„œ๋น„์Šค ์ƒํƒœ ํ™•์ธ

์‘๋‹ต ์˜ˆ์‹œ:

{ "status": "ok", "message": "์ •์ƒ", "service": "Korean Company Information MCP Server (Free Version)", "environment": { "dart_api_key": "์„ค์ •๋จ", "key_source": ".env file" } }

POST /health

์„œ๋น„์Šค ์ƒํƒœ ํ™•์ธ (env ํฌํ•จ ๊ฐ€๋Šฅ)

์š”์ฒญ ๋ณธ๋ฌธ:

{ "env": { "DART_API_KEY": "your_api_key_here" } }

GET /tools

์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋„๊ตฌ ๋ชฉ๋ก ์กฐํšŒ

์‘๋‹ต: ๋„๊ตฌ ๋ชฉ๋ก ๋ฐฐ์—ด

POST /tools/{tool_name}

๋„๊ตฌ ํ˜ธ์ถœ

์š”์ฒญ ์˜ˆ์‹œ:

{ "query": "์‚ผ์„ฑ์ „์ž", "env": { "DART_API_KEY": "your_api_key_here" } }

๐Ÿ”‘ API ํ‚ค ์šฐ์„ ์ˆœ์œ„

MCP ์„œ๋ฒ„๋Š” ๋‹ค์Œ ์ˆœ์„œ๋กœ API ํ‚ค๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค:

  1. ์šฐ์„ ์ˆœ์œ„ 1: arguments.env.DART_API_KEY (๋ฉ”์ธ ์„œ๋ฒ„์—์„œ ๋ฐ›์€ ํ‚ค)

  2. ์šฐ์„ ์ˆœ์œ„ 2: .env ํŒŒ์ผ์˜ DART_API_KEY (๋กœ์ปฌ ๊ฐœ๋ฐœ์šฉ)

  3. ๋‘˜ ๋‹ค ์—†์œผ๋ฉด: Health ์ฒดํฌ์—์„œ "๋“ฑ๋ก๋œ ํ‚ค๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค" ๋ฐ˜ํ™˜

์ด๋ฅผ ํ†ตํ•ด:

  • ํ”„๋กœ๋•์…˜: ๋ฉ”์ธ ์„œ๋ฒ„์—์„œ ๊ฐ ์‚ฌ์šฉ์ž๋ณ„ ํ‚ค๋ฅผ ์ „๋‹ฌ๋ฐ›์•„ ์‚ฌ์šฉ

  • ๋กœ์ปฌ ๊ฐœ๋ฐœ: .env ํŒŒ์ผ์— ํ‚ค๋ฅผ ์„ค์ •ํ•˜์—ฌ ๊ฐœ๋ฐœ


๐Ÿ“ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

company-info-mcp/ โ”œโ”€โ”€ src/ โ”‚ โ”œโ”€โ”€ __init__.py โ”‚ โ”œโ”€โ”€ main.py # MCP ์„œ๋ฒ„ ๋ฉ”์ธ ํŒŒ์ผ โ”‚ โ””โ”€โ”€ tools.py # ๊ธฐ์—…์ •๋ณด API ํ˜ธ์ถœ ๋„๊ตฌ โ”œโ”€โ”€ .env # ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ํŒŒ์ผ (API ํ‚ค ๋“ฑ) - .gitignore์— ํฌํ•จ โ”œโ”€โ”€ env.example # ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์˜ˆ์‹œ ํŒŒ์ผ โ”œโ”€โ”€ requirements.txt # Python ์˜์กด์„ฑ โ”œโ”€โ”€ pyproject.toml # ํ”„๋กœ์ ํŠธ ์„ค์ • โ”œโ”€โ”€ Dockerfile # Docker ์ด๋ฏธ์ง€ ๋นŒ๋“œ ํŒŒ์ผ โ”œโ”€โ”€ DEVELOPMENT_GUIDE.md # ๊ฐœ๋ฐœ ๊ฐ€์ด๋“œ (DART API ๊ทธ๋ฃน๋ณ„ ๊ธฐ๋Šฅ) โ””โ”€โ”€ README.md # ํ”„๋กœ์ ํŠธ ๋ฌธ์„œ (์ด ํŒŒ์ผ)

โš ๏ธ ์ œํ•œ์‚ฌํ•ญ

๋ฌด๋ฃŒ ๋ฒ„์ „์˜ ํ•œ๊ณ„

  • ์ƒ์žฅ๊ธฐ์—…๋งŒ ๊ฐ€๋Šฅ: DART API๋Š” ์ƒ์žฅ๊ธฐ์—… ์ •๋ณด๋งŒ ์ œ๊ณต (๋น„์ƒ์žฅ ๊ธฐ์—… ๋ถˆ๊ฐ€)

  • ์‚ฌ์—…์ž๋“ฑ๋ก์ •๋ณด ์—†์Œ: ๊ธฐ๋ณธ ์‚ฌ์—…์ž ์ •๋ณด๋Š” ์œ ๋ฃŒ API ํ•„์š”

  • ์‹ ์šฉ์ •๋ณด ์—†์Œ: ์‹ ์šฉ๋“ฑ๊ธ‰์€ ์œ ๋ฃŒ API ํ•„์š”

API ์‚ฌ์šฉ ์ œํ•œ

  • DART API: ์ผ์ผ ํ˜ธ์ถœ ์ œํ•œ ์žˆ์Œ (๋ณดํ†ต ์ถฉ๋ถ„ํ•จ)

  • API ํ‚ค๋Š” ๋ฌด๋ฃŒ๋กœ ๋ฐœ๊ธ‰ ๊ฐ€๋Šฅ


๐Ÿ› ๋ฌธ์ œ ํ•ด๊ฒฐ

"API ํ‚ค๊ฐ€ ์„ค์ •๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค" ์˜ค๋ฅ˜

์›์ธ: DART_API_KEY ํ™˜๊ฒฝ ๋ณ€์ˆ˜๊ฐ€ ์„ค์ •๋˜์ง€ ์•Š์Œ

ํ•ด๊ฒฐ:

  1. .env ํŒŒ์ผ ํ™•์ธ

  2. DART_API_KEY=your_key_here ํ˜•์‹์œผ๋กœ ์„ค์ •๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธ

  3. ๋˜๋Š” ๋ฉ”์ธ ์„œ๋ฒ„์—์„œ arguments.env.DART_API_KEY๋กœ ์ „๋‹ฌ

"DART API ์˜ค๋ฅ˜" ๋ฉ”์‹œ์ง€

์›์ธ: API ํ‚ค๊ฐ€ ์ž˜๋ชป๋˜์—ˆ๊ฑฐ๋‚˜ ๊ธฐ์—…์„ ์ฐพ์„ ์ˆ˜ ์—†์Œ

ํ•ด๊ฒฐ:

  1. API ํ‚ค๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ์ง€ ํ™•์ธ

  2. ์ƒ์žฅ๊ธฐ์—…์ธ์ง€ ํ™•์ธ (๋น„์ƒ์žฅ ๊ธฐ์—…์€ ์ง€์› ์•ˆ ๋จ)

  3. ํšŒ์‚ฌ๋ช… ์ •ํ™•ํžˆ ์ž…๋ ฅ (์˜ˆ: "์‚ผ์„ฑ์ „์ž" O, "์‚ผ์„ฑ" X)

Claude Desktop์—์„œ ๋„๊ตฌ๊ฐ€ ๋ณด์ด์ง€ ์•Š์Œ

ํ•ด๊ฒฐ:

  1. claude_desktop_config.json ํŒŒ์ผ ๊ฒฝ๋กœ ํ™•์ธ

  2. JSON ํ˜•์‹์ด ์˜ฌ๋ฐ”๋ฅธ์ง€ ํ™•์ธ (์ฝค๋งˆ, ๋”ฐ์˜ดํ‘œ ๋“ฑ)

  3. cwd ๊ฒฝ๋กœ๋ฅผ ์‹ค์ œ ํ”„๋กœ์ ํŠธ ๊ฒฝ๋กœ๋กœ ๋ณ€๊ฒฝ

  4. Claude Desktop ์™„์ „ ์ข…๋ฃŒ ํ›„ ์žฌ์‹œ์ž‘

  5. ๋กœ๊ทธ ํŒŒ์ผ ํ™•์ธ (Windows: %APPDATA%\Claude\logs)


๐Ÿ“š ๊ฐœ๋ฐœ ๊ฐ€์ด๋“œ

DART API์˜ ๊ฐ ๊ทธ๋ฃน๋ณ„ ๊ธฐ๋Šฅ๊ณผ ์ถ”๊ฐ€ ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•์€ DEVELOPMENT_GUIDE.md๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

๊ตฌํ˜„ ์ƒํƒœ

  • DS001: ๊ณต์‹œ์ •๋ณด ์กฐํšŒ (โœ… ๊ตฌํ˜„ ์™„๋ฃŒ)

  • DS002: ์žฌ๋ฌด์ •๋ณด ์กฐํšŒ (โœ… ๊ตฌํ˜„ ์™„๋ฃŒ)

  • DS003: ๊ธฐ์—…๊ฐœํ™ฉ ์ •๋ณด (โœ… ์ฃผ์š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ ์™„๋ฃŒ)

  • DS004: ๊ณต์‹œ์›๋ฌธ ๋‹ค์šด๋กœ๋“œ (โœ… ๊ตฌํ˜„ ์™„๋ฃŒ)

  • DS005: ์ฃผ์š”์‚ฌํ•ญ๋ณด๊ณ ์„œ (โœ… ๊ตฌํ˜„ ์™„๋ฃŒ)

  • DS006: ๊ธฐํƒ€ ์ •๋ณด (โœ… ์ฃผ์š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ ์™„๋ฃŒ)


๐Ÿค ๊ธฐ์—ฌ ๋ฐ ๋ฌธ์˜


๐Ÿ“„ ๋ผ์ด์„ ์Šค

MIT License


Made with โค๏ธ for Korean Business Professionals

DART API๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

-
security - not tested
F
license - not found
-
quality - not tested

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/SeoNaRu/company-info-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server