io.github.kcw2034-sayouzone/sayou-opendart-mcp
An MCP server that provides OpenDart API
Ask AI about io.github.kcw2034-sayouzone/sayou-opendart-mcp
Powered by Claude ยท Grounded in docs
I know everything about io.github.kcw2034-sayouzone/sayou-opendart-mcp. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
OpenDart MCP Server
mcp-name: io.github.kcw2034-sayouzone/sayou-opendart-mcp
OpenDart Crawling and Caching MCP Server
์ฃผ์ ์ ๋ณด๋ฅผ OpenDart์์ ์ข
๋ชฉ ๊ธฐ๋ณธ ์ ๋ณด (ํ๋๋ฉํ, fundamental)๋ฅผ ๊ฐ์ ธ์จ๋ค.
๋ชจ๋ธ ์ปจํ
์คํธ ํ๋กํ ์ฝ (Model Context Protocol, MCP) ์๋ฒ๋ฅผ ๋น๋ํ๊ณ ๋ฐฐํฌ
MCP ์๋ฒ๋ LLM์ ์ธ๋ถ ๋๊ตฌ ๋ฐ ์๋น์ค์ ๋ํ ์ก์ธ์ค ๊ถํ์ ์ ๊ณต
FastMCP๋ฅผ ์ฌ์ฉ, MCP ์๋ฒ์ ํด๋ผ์ด์ธํธ๋ฅผ ๋น๋ํ๋ ๋น ๋ฅด๊ณ Pythonicํ ๋ฐฉ๋ฒ์ ์ ๊ณต
- Gemini 3.0 Pro
- Gemini 3.0 Flash
์ฐธ์กฐ ๋ฌธ์
ํจํค์ง ๊ตฌ์กฐ
โโโ opendart/
โ โโโ __init__.py # ๊ณต๊ฐ API ์ ์
โ โโโ client.py # OpenDART HTTP ํด๋ผ์ด์ธํธ
โ โโโ models.py # ๋ฐ์ดํฐ ํด๋์ค (DTO)
โ โโโ utils.py # ์ ํธ๋ฆฌํฐ ํจ์ & ์์
โ โโโ crawler.py # ํตํฉ ์ธํฐํ์ด์ค (Facade)
โ โโโ examples.py # ์ฌ์ฉ ์์
โ โโโ parsers/
โ โโโ __init__.py
โ โโโ document.py # ๋ฌธ์ API ํ์
โ โโโ document_viewer.py # ๋ฌธ์ ๋ทฐ์ด API ํ์
โ โโโ disclosure.py # ๊ณต์์ ๋ณด API ํ์
โ โโโ finance.py # ์ ๊ธฐ๋ณด๊ณ ์ ์ฌ๋ฌด์ ๋ณด API ํ์
โ โโโ material_facts.py # ์ฃผ์์ฌํญ๋ณด๊ณ ์ ์ฃผ์์ ๋ณด API ํ์
โ โโโ ownership.py # ์ง๋ถ๊ณต์ ์ข
ํฉ์ ๋ณด API ํ์
โ โโโ registration.py # ์ฆ๊ถ์ ๊ณ ์ ์ฃผ์์ ๋ณด API ํ์
โ โโโ reports.py # ์ ๊ธฐ๋ณด๊ณ ์ ์ฃผ์์ ๋ณด API ํ์
โโโ tests/
โ โโโ test_opendart.py # OpenDART ํ
์คํธ (๋ก์ปฌ ์์ค)
โ โโโ test_opendart_.py # OpenDART ํ
์คํธ (sayou-stock)
โโโ __init__.py
โโโ .gitignore
โโโ Dockerfile
โโโ LICENSE
โโโ opendarts.py
โโโ pyproject.toml
โโโ README.md
โโโ requirements.txt
โโโ server.py
๋ฐฐํฌ (Cloud Run)
MCP_SERVER_NAME=opendart-mcp-server
export GOOGLE_CLOUD_PROJECT=your-project-id
GCP ์ค์ (1ํ๋ง)
์๋น์ค ํ์ฑํ
gcloud services enable \
run.googleapis.com \
artifactregistry.googleapis.com \
cloudbuild.googleapis.com
์๋น์ค ๊ณ์ ์์ฑ
gcloud iam service-accounts create mcp-server-sa --display-name="MCP Server Service Account"
gcloud projects add-iam-policy-binding $GOOGLE_CLOUD_PROJECT \
--member=user:$(gcloud config get-value account) \
--role='roles/run.invoker'
gcloud projects add-iam-policy-binding $GOOGLE_CLOUD_PROJECT \
--member=serviceAccount:mcp-server-sa@$GOOGLE_CLOUD_PROJECT.iam.gserviceaccount.com \
--role="roles/secretmanager.secretAccessor"
๋ฐฐํฌ
ํจํค์ง ์์ค๋ก ํ ์คํธ
gcloud run deploy $MCP_SERVER_NAME \
--service-account=mcp-server-sa@$GOOGLE_CLOUD_PROJECT.iam.gserviceaccount.com \
--no-allow-unauthenticated \
--region=us-central1 \
--source=. \
--labels=dev-tutorial=stocks-mcp
ํจํค์ง ์์ค ๋ฐ ์ ๊ทผ๊ถํ ํ ์คํธ
gcloud run deploy $MCP_SERVER_NAME \
--region=us-central1 \
--source=. \
--labels=dev-tutorial=stocks-mcp
sayou-stock ์ค์น ๋ฐ ํ ์คํธ
gcloud run deploy $MCP_SERVER_NAME \
--service-account=mcp-server-sa@$GOOGLE_CLOUD_PROJECT.iam.gserviceaccount.com \
--no-allow-unauthenticated \
--region=us-central1 \
--source=. \
--labels=dev-tutorial=stocks-mcp
sayou-stock ์ค์น ๋ฐ ์ ๊ทผ๊ถํ ํ ์คํธ
gcloud run deploy $MCP_SERVER_NAME \
--region=us-central1 \
--source=. \
--labels=dev-tutorial=stocks-mcp
Tests
Gemini ํ ์คํธ
export PROJECT_NUMBER=$(gcloud projects describe $GOOGLE_CLOUD_PROJECT --format="value(projectNumber)")
export ID_TOKEN=$(gcloud auth print-identity-token)
settings.json
{
"ide": {
"hasSeenNudge": true
},
"mcpServers": {
"opendart-remote": {
"httpUrl": "https://opendart-mcp-server-$PROJECT_NUMBER.us-central1.run.app/mcp",
"headers": {
"Authorization": "Bearer $ID_TOKEN"
}
}
},
"security": {
"auth": {
"selectedType": "gemini-api-key"
}
}
}
Copy settings.json file to ~/.gemini/ directory.
cp settings.json ~/.gemini/
gemini
- ์ผ์ฑ์ ์
- ์ผ์ฑ์ ์ ์ฌ๋ฌด์ ํ ๋ณด์ฌ์ค
- ์ผ์ฑ์ ์ ์ฌ๋ฌด ์ํ๋ฅผ ๋ณด์ฌ์ค
- ์ผ์ฑ์ ์ ์ฌ๋ฌด์ ํ ๋ณด์ฌ์ค
- 2024๋ ์ผ์ฑ์ ์ ์ฌ๋ฌด์ ํ ๋ณด์ฌ์ค
- 2025๋ 3๋ถ๊ธฐ ์ผ์ฑ์ ์ ์ฌ๋ฌด์ ํ ๋ณด์ฌ์ค
- ์ผ์ฑ์ ์ ๋ฐฐ๋น ์ ๋ณด๋ฅผ ๋ณด์ฌ์ค
- ์ผ์ฑ์ ์ ๋ฐฐ๋น์ ๋ํด ์๋ ค์ค
- ์ผ์ฑ์ ์ ๋ฐฐ๋น์ด ์ด๋ป๊ฒ ๋์ง?
- 2025๋ ์ผ์ฑ์ ์ ๋ฐฐ๋น์ด ์ด๋ป๊ฒ ๋์ง?
- ์ผ์ฑ์ ์ ์ต๊ทผ ๋ฐฐ๋น ์ฑํฅ์ ๋ํด ์๋ ค์ค
- ์ผ์ฑ์ ์๊ฐ ์ง๊ธํ๋ ๋ณด์์ ๋ํด ์๋ ค์ค
Loaded cached credentials.
โโโ โโโโโโโโโ โโโโโโโโโโ โโโโโโ โโโโโโ โโโโโ โโโโโโ โโโโโ โโโโโ
โโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโ โโโโโ โโโโโโโโ โโโโโ โโโโโ
โโโโโโ โโโ โโโ โโโโ โ โ โโโโโโโโโโโโโโ โโโโ โโโโโโโโ โโโโ โโโโ
โโโโโโ โโโโ โโโโโโโ โโโโโโโโโ โโโโ โโโโ โโโโโโโโโโโโโ โโโโ
โโโโ โโโโ โโโโโ โโโโโโโ โโโโ โโโ โโโโ โโโโ โโโโ โโโโโโโโ โโโโ
โโโโ โโโโโ โโโโโ โโโโ โ โ โโโโ โโโโ โโโโ โโโโ โโโโโโโ โโโโ
โโโโ โโโโโโโโโโโ โโโโโโโโโโ โโโโโ โโโโโ โโโโโ โโโโโ โโโโโโโ โโโโโ
โโโ โโโโโโโโโ โโโโโโโโโโ โโโโโ โโโโโ โโโโโ โโโโโ โโโโโ โโโโโ
Tips for getting started:
1. Ask questions, edit files, or run commands.
2. Be specific for the best results.
3. Create GEMINI.md files to customize your interactions with Gemini.
4. /help for more information.
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ Gemini CLI update available! 0.14.0 โ 0.15.0 โ
โ Installed via Homebrew. Please update with "brew upgrade". โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
โ Connecting to MCP servers... (1/2)
Using: 2 MCP servers
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ > Type your message or @path/to/file โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
~/.../src/sayou/mcp/stocks_mcp (main*) no sandbox (see /docs) auto
Claude ํ ์คํธ
cd src/sayou
fastmcp install claude-desktop server.py --env DART_API_KEY=746df482bd123aa8acc6b8df2cd650bb67083299 --with pandas --with sayou-stock
prompt: opendart mcp server๋ฅผ ์ฌ์ฉํด์ ์ผ์ฑ์ ์ ์ฃผ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์์ค.
output:
์ผ์ฑ์ ์์ ์ฃผ์ ์ ๋ณด๋ฅผ OpenDart MCP server๋ก ๊ฐ์ ธ์ค๊ฒ ์ต๋๋ค.์ผ์ฑ์ ์์ ์ฃผ์ ์ ๋ณด๋ฅผ OpenDart MCP server์์ ๊ฐ์ ธ์์ต๋๋ค. 2025๋
3๋ถ๊ธฐ ๊ธฐ์ค ์ฃผ์ ์ ๋ณด์
๋๋ค:
## ๐ ์ฌ๋ฌด์ํํ (2025๋
9์ 30์ผ ๊ธฐ์ค)
**์์ฐ ํํฉ**
- **์์ฐ์ด๊ณ**: 325.5์กฐ์
- ์ ๋์์ฐ: 78.9์กฐ์
- ํ๊ธ๋ฐํ๊ธ์ฑ์์ฐ: 10.9์กฐ์
- ๋งค์ถ์ฑ๊ถ: 36.2์กฐ์
- ์ฌ๊ณ ์์ฐ: 25.7์กฐ์
- ๋น์ ๋์์ฐ: 246.6์กฐ์
- ์ ํ์์ฐ: 149.4์กฐ์
- ์ข
์๊ธฐ์
ํฌ์: 59.1์กฐ์
**๋ถ์ฑ ๋ฐ ์๋ณธ ํํฉ**
- **๋ถ์ฑ์ด๊ณ**: 83.1์กฐ์
- ์ ๋๋ถ์ฑ: 51.8์กฐ์
- ๋น์ ๋๋ถ์ฑ: 31.4์กฐ์
- **์๋ณธ์ด๊ณ**: 242.4์กฐ์
- ์ด์ต์์ฌ๊ธ: 243.1์กฐ์
## ๐ฐ ์์ต๊ณ์ฐ์ (2025๋
3๋ถ๊ธฐ ๋์ )
- **๋งค์ถ์ก**: 173.1์กฐ์
- **๋งค์ถ์ด์ด์ต**: 45.4์กฐ์
- **์์
์ด์ต**: 10.6์กฐ์
- **๋ถ๊ธฐ์์ด์ต**: 19.8์กฐ์
- **๊ธฐ๋ณธ์ฃผ๋น์ด์ต**: 2,954์
## ๐ต ๋ฐฐ๋น ์ ๋ณด (2025๋
3๋ถ๊ธฐ)
**๋ฐฐ๋น๊ธ**
- ์ฃผ๋น ํ๊ธ๋ฐฐ๋น๊ธ (๋ณดํต์ฃผ): **1,102์**
- ์ฃผ๋น ํ๊ธ๋ฐฐ๋น๊ธ (์ฐ์ ์ฃผ): **1,102์**
- ํ๊ธ๋ฐฐ๋น๊ธ ์ด์ก: 7.35์กฐ์
**๋ฐฐ๋น ์์ต๋ฅ ๋ฐ ์ฑํฅ**
- ํ๊ธ๋ฐฐ๋น์์ต๋ฅ (๋ณดํต์ฃผ): 1.3%
- ํ๊ธ๋ฐฐ๋น์์ต๋ฅ (์ฐ์ ์ฃผ): 1.7%
- ํ๊ธ๋ฐฐ๋น์ฑํฅ: 29.5%
## ๐ ํ๊ธํ๋ฆ (2025๋
3๋ถ๊ธฐ)
- ์์
ํ๋ ํ๊ธํ๋ฆ: 51.5์กฐ์
- ํฌ์ํ๋ ํ๊ธํ๋ฆ: -22.9์กฐ์
- ์ฌ๋ฌดํ๋ ํ๊ธํ๋ฆ: -19.4์กฐ์
์ ๋
๋๊ธฐ ๋๋น ์์
์ด์ต์ด ํฌ๊ฒ ๊ฐ์ ๋์์ผ๋ฉฐ, ์์ ์ ์ธ ๋ฐฐ๋น ์ ์ฑ
์ ์ ์งํ๊ณ ์์ต๋๋ค.
Deploy sayou-stock
git push origin main
git tag sayou-stock-v0.1.1
git push origin sayou-stock-v0.1.1
Errors
> /mcp
Configured MCP servers:
๐ข stocks-remote - Ready (4 tools)
Tools:
- find_fnguide_data
- find_yahoofinance_data
- get_yahoofinance_fundamentals
- save_fundamentals_data_to_gcs
๐ข zoo-remote - Ready (2 tools, 1 prompt)
Tools:
- get_animal_details
- get_animals_by_species
Prompts:
- find
โน Gemini CLI update available! 0.14.0 โ 0.15.0
Installed via Homebrew. Please update with "brew upgrade".
Using: 2 MCP servers
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ > Type your message or @path/to/file โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
~/.../src/sayou/mcp/stocks_mcp (main*) no sandbox (see /docs) auto
> ์ผ์ฑ์ ์
โน Gemini CLI update available! 0.14.0 โ 0.15.0
Installed via Homebrew. Please update with "brew upgrade".
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ x find_fnguide_data (stocks-remote MCP Server) {"stock":"์ผ์ฑ์ ์"} โ
โ โ
โ MCP tool 'find_fnguide_data' reported tool error for function call: {"name":"find_fnguide_data","args":{"stock":"์ผ์ฑ์ ์"}} with โ
โ response: [{"functionResponse":{"name":"find_fnguide_data","response":{"error":{"content":[{"type":"text","text":"Error calling tool โ
โ 'find_fnguide_data': BrowserType.launch: Executable doesn't exist at โ
โ /root/.cache/ms-playwright/chromium_headless_shell-1194/chrome-linux/headless_shell\nโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โโโโโโโโโโโ\nโ Looks like Playwright was just installed or updated. โ\nโ Please run the following command to download new โ
โ browsers: โ\nโ โ\nโ playwright install โ
โ โ\nโ โ\nโ <3 Playwright Team โ
โ โ\nโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ"}],"isError":true}}}}] โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ - Shell playwright install [current working directory /Users/seongjungkim/Development/sayouzone/base-framework/src/sayou/mcp/stocks_mcp] โฆ โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
