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๋…„ ์žฌ๋ฌด์ œํ‘œ ์ถ”์ด ๋ถ„์„

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

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

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

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

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

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

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

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

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

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

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


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

  • 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 -m src.main

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


๐Ÿ”Œ MCP ํด๋ผ์ด์–ธํŠธ ์„ค์ •

Claude Desktop

claude_desktop_config.json ํŒŒ์ผ์— ๋‹ค์Œ์„ ์ถ”๊ฐ€:

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

  • 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": "/path/to/company-info-mcp", "env": { "DART_API_KEY": "your_dart_api_key_here" } } } }

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

Cursor

Cursor์˜ MCP ์„ค์ •์—์„œ ์œ„์™€ ๋™์ผํ•œ ์„ค์ •์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.


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

search_company_tool

ํšŒ์‚ฌ๋ช…์œผ๋กœ ๊ธฐ์—…์„ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.

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

  • company_name (ํ•„์ˆ˜): ๊ฒ€์ƒ‰ํ•  ํšŒ์‚ฌ๋ช…

get_company_overview_tool

๊ธฐ์—…์˜ ๊ธฐ๋ณธ์ •๋ณด๋ฅผ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค.

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

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

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

get_financial_statement_tool

๊ธฐ์—…์˜ ์žฌ๋ฌด์ œํ‘œ๋ฅผ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค.

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

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

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

  • bsns_year (์„ ํƒ): ์‚ฌ์—…์—ฐ๋„ (YYYY ํ˜•์‹)

  • reprt_code (์„ ํƒ): ๋ณด๊ณ ์„œ ์ฝ”๋“œ (๊ธฐ๋ณธ๊ฐ’: "11011")

analyze_financial_trend_tool

๊ธฐ์—…์˜ ์žฌ๋ฌด ์ถ”์ด๋ฅผ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค (์ตœ๊ทผ N๋…„).

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

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

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

get_public_disclosure_tool

๊ธฐ์—…์˜ ๊ณต์‹œ์ •๋ณด๋ฅผ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค.

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

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

  • bgn_de (์„ ํƒ): ์‹œ์ž‘์ผ (YYYYMMDD ํ˜•์‹)

  • end_de (์„ ํƒ): ์ข…๋ฃŒ์ผ (YYYYMMDD ํ˜•์‹)

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

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

get_executives_tool

๊ธฐ์—…์˜ ์ž„์›์ •๋ณด๋ฅผ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค.

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

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

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

  • bsns_year (์„ ํƒ): ์‚ฌ์—…์—ฐ๋„ (YYYY ํ˜•์‹)

  • reprt_code (์„ ํƒ): ๋ณด๊ณ ์„œ ์ฝ”๋“œ (๊ธฐ๋ณธ๊ฐ’: "11011")

get_shareholders_tool

์ง€๋ถ„๋ณด๊ณ ์„œ๋ฅผ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค.

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

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

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

  • bsns_year (์„ ํƒ): ์‚ฌ์—…์—ฐ๋„ (YYYY ํ˜•์‹)

  • reprt_code (์„ ํƒ): ๋ณด๊ณ ์„œ ์ฝ”๋“œ (๊ธฐ๋ณธ๊ฐ’: "11011")


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

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

Health Check

GET /health POST /health

๋„๊ตฌ ๋ชฉ๋ก ์กฐํšŒ

GET /tools

๋„๊ตฌ ์‹คํ–‰

POST /tools/{tool_name} Content-Type: application/json { "company_name": "์‚ผ์„ฑ์ „์ž", "env": { "DART_API_KEY": "your_api_key" } }

๐Ÿณ 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

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

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

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

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

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

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

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

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


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

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

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•:

  1. .env ํŒŒ์ผ์— DART_API_KEY๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์„ค์ •๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธ

  2. ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋กœ ์ง์ ‘ ์„ค์ •: export DART_API_KEY=your_key

MCP ํด๋ผ์ด์–ธํŠธ ์—ฐ๊ฒฐ ์˜ค๋ฅ˜

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•:

  1. ์„œ๋ฒ„๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธ

  2. Python ๊ฒฝ๋กœ๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ์ง€ ํ™•์ธ

  3. ์˜์กด์„ฑ์ด ๋ชจ๋‘ ์„ค์น˜๋˜์—ˆ๋Š”์ง€ ํ™•์ธ: pip install -r requirements.txt

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

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


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

์ด ํ”„๋กœ์ ํŠธ๋Š” DART API๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ, DART API์˜ ์ด์šฉ์•ฝ๊ด€์„ ์ค€์ˆ˜ํ•ฉ๋‹ˆ๋‹ค.

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

Latest Blog Posts

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