io.github.kcw2034-sayouzone/mcp-opendart-server
An MCP server that provides OpenDart API
Ask AI about io.github.kcw2034-sayouzone/mcp-opendart-server
Powered by Claude ยท Grounded in docs
I know everything about io.github.kcw2034-sayouzone/mcp-opendart-server. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
OpenDart MCP Server
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=sayouzone-ai
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
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] โฆ โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
