DCF Peergroup Search
DCF κ°μΉνκ°μ PeerGroup μ μ λ° λ°μ΄ν° μμ§μ μν MCP μλ²
Ask AI about DCF Peergroup Search
Powered by Claude Β· Grounded in docs
I know everything about DCF Peergroup Search. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
KICPA Beta MCP Server
νκ΅κ³΅μΈνκ³μ¬ν(KICPA) CHECKExpert+ λ² νκ³μ + OpenDART μ¬λ¬΄ + λ€μ΄λ² κΈμ΅ μμ₯λ°μ΄ν°λ₯Ό ν΅ν©ν DCF λ°Έλ₯μμ΄μ μ μ© μΉ MCP μλ²μ λλ€. Vercelμ λ°°ν¬νμ¬ Claude for Excel, Claude Desktop, Claude Code λ± μ격 MCP ν΄λΌμ΄μΈνΈμμ λ°λ‘ μ¬μ©ν μ μμ΅λλ€.
ν΅μ¬ μ€κ³ μμΉ:
- μΊμ μ°μ , λΌμ΄λΈ ν΄λ°±: λΆκΈ°λ§ κΈ°μ€ λ² νΒ·μ΄μλΆλΆμ±Β·μκ°μ΄μ‘κ³Ό μ¬μ λ³΄κ³ μ λ³Έλ¬Έμ μλ²μ μ¬μ μμ§λμ΄ μμ΄ μ¦μ μλ΅. μΊμ miss μμλ§ upstream APIλ₯Ό νΈμΆν©λλ€.
- Peer Group μν¬νλ‘μ° μΉνμ : μ μ’ κ²μ β μ¬μ λ΄μ© μ μ± νν° β ν΅ν© λ°°μΉ μ‘°νκ° ν λ²μ μμ΄μ νΈ μΈμ μμ λλλλ‘ λꡬλ₯Ό μ€κ³νμ΅λλ€.
MCP λꡬ
μΊμ κΈ°λ° (κ³ μ±λ₯, ν ν° μ΅μ ν)
| λꡬ | μ€λͺ | μΊμ νμΌ |
|---|---|---|
search_by_industry | KSIC μ μ’ μ½λ/ν€μλλ‘ ν΄λΉ μ μ’ μ μμ₯μ¬ λ¦¬μ€νΈ μ¦μ λ°ν | data/company-industry.json |
get_business_content | μ¬μ λ³΄κ³ μ "II. μ¬μ μ λ΄μ© / μ£Όμ μ ν λ° μλΉμ€" μλ¬Έ μΆμΆ (2,611 / 2,617 μ’ λͺ©, 99.8% 컀λ²) | data/business-cache/{year}.json.gz |
valuation_get_data | κ°μΉνκ° ν΅ν© ν¨ν€μ§ β λ² ν(W/M Γ 1/2/3/5Y) + μ΄μλΆλΆμ±(μ λ/λΉμ λ) + λΉμ§λ°°μ§λΆ + μΈμ μ΄μ΅ + μκ°μ΄μ‘μ ν λ²μ. λΆκΈ°λ§(3/31Β·6/30Β·9/30Β·12/31)μ 100% μΊμ ννΈ | data/valuation-cache/{YYYYMMDD}.json |
μ€μκ° API μ‘°ν (μ΅μ λ°μ΄ν° ν보)
| λꡬ | μ€λͺ | λ°μ΄ν° μμ€ |
|---|---|---|
search_stock | μ’ λͺ©λͺ /μ’ λͺ©μ½λλ‘ νκ΅ μ£Όμ μ’ λͺ© κ²μ | λ€μ΄λ² κΈμ΅ μλμμ± |
dart_get_company | DART κΈ°μ κΈ°λ³Έμ 보 μ‘°ν (λνμ, μ μ’ , μ€λ¦½μΌ λ±) | OpenDART |
dart_get_financials | λΆκΈ°/λ°κΈ° λ³΄κ³ μ, μ 체 μ¬λ¬΄μ ν, κ°λ³(OFS) μ‘°ν λ± νΉμ μΌμ΄μ€ | OpenDART |
kicpa_get_beta | μμ μμ μΌ/λ―Έκ΅ μ’ λͺ©/Daily μ£ΌκΈ° λ± νΉμ λ² ν μ‘°ν | KICPA CHECKExpert+ |
naver_get_market_data | μ€μκ° μ£Όκ°Β·μκ°μ΄μ‘Β·PERΒ·PBR·컨μΌμμ€ λͺ©νκ°Β·λμ’ μ μ’ κΈ°μ | λ€μ΄λ² κΈμ΅ |
π Peer Group λΆμ μν¬νλ‘μ°λ docs/PEER_GROUP_WORKFLOW.md μ°Έμ‘° β μμ΄μ νΈκ° μΈμ μ΄λ€ λꡬλ₯Ό μ΄λ€ μμλ‘ νΈμΆν΄μΌ νλμ§ μ κ· μνμ€κ° μ 리λμ΄ μμ΅λλ€.
μ£Όμ κΈ°μ μ νΉμ§
- νμ¬λ³ XBRL Taxonomy μ°¨μ΄ κ·Ήλ³΅: κ³μ ID νμ΄νΈλ¦¬μ€νΈκ° μλλΌ
LiabilitiesArisingFromFinancingActivitiesAxis+ClassesOfFinancialLiabilitiesAxisκ°μ νμ€ Axisμμ λ©€λ²λ₯Ό ν€μλ κΈ°λ°μΌλ‘ λΆλ₯νλ λ°©μμΌλ‘ μ΄μλΆλΆμ±λ₯Ό μΆμΆν©λλ€. μ°κ²°μ¬λ¬΄μ ν μ°μ , λ³λμ¬λ¬΄μ νλ‘ μλ ν΄λ°±. Axis κ²½λ‘κ° μ€ν¨ν΄λ κ³μ κΈ°λ° κ²½λ‘λ‘ μ¬μλνλ λ€μΈ΅ λ°©μ΄μ ꡬ쑰. - μ¬μ λ³΄κ³ μ νμ± 99.8% 컀λ²λ¦¬μ§: DART document.xml ZIP λ΄ λͺ¨λ XML ννΈλ₯Ό μννλ©° μ μ κΈ°λ°μΌλ‘ λ³Έλ¬Έ μΉμ μ μ ν. λͺ©μ°¨(TOC) μ€μΈμ ννΌ, νκ·Έ μ¬μ΄μ λΌμ΄λ λ¬Έμμ΄ μ²λ¦¬, μ μ 곡μ μλ ν΄λ°± ν¬ν¨.
- 146MB μΊμλ₯Ό Vercel μλ²λ¦¬μ€λ‘ λ°°ν¬: gzip(44.9MB) μ»€λ° +
outputFileTracingIncludesλ‘ ν¨μ λ²λ€μ ν¬ν¨ + cold startμμ 1ν ν΄μ ν λ©λͺ¨λ¦¬ λ©λͺ¨μ΄μ¦. - μμ΄μ νΈ νλΌλ―Έν° μ€ν΄ λ°©μ§: λꡬ descriptionμ
[β οΈ AIλ₯Ό μν μ격ν νλΌλ―Έν° κ·μΉ]λΈλ‘μΌλ‘yearvsvaluation_dateκ΄κ³ λ±μ λͺ μ.
κΈ°μ μ€ν
- Next.js 15 + mcp-handler (Streamable HTTP transport)
- Vercel λ°°ν¬ (μλ²λ¦¬μ€)
- MCP SDK
@modelcontextprotocol/sdk ^1.26.0 - MCP μλν¬μΈνΈ:
POST /api/mcp - μΈμ΄: TypeScript (strict, ESM, Node β₯18)
νλ‘μ νΈ κ΅¬μ‘°
βββ app/api/[transport]/route.ts # MCP νΈλ€λ¬ (λꡬ λ±λ‘)
βββ src/services/
β βββ tools/ # MCP λꡬ μ μ
β β βββ get-beta.ts # kicpa_get_beta
β β βββ search-stock.ts # search_stock
β β βββ search-by-industry.ts # search_by_industry
β β βββ dart-company.ts # dart_get_company
β β βββ dart-financials.ts # dart_get_financials
β β βββ naver-market-data.ts # naver_get_market_data
β β βββ business-content.ts # get_business_content
β β βββ valuation-data.ts # valuation_get_data
β βββ kicpa/ # KICPA/KOSCOM μΈμ
& λ² ν API
β βββ opendart/ # OpenDART ν΄λΌμ΄μΈνΈ + XBRL IBD νμ
β βββ naver/ # λ€μ΄λ² κΈμ΅ μ€ν¬λνΌ
β βββ cache/ # valuation-cache λ‘λ
β βββ common/ # μ’
λͺ©μ½λ β corp_code 리쑸λ²
β βββ utils/ # μλ¬ νΈλ€λ¬, ν¬λ§·ν°
βββ data/
β βββ corp-codes.json # DART κΈ°μ
μ½λ λ§€ν
β βββ company-industry.json # μ’
λͺ© β KSIC μ
μ’
λ§€ν
β βββ business-cache/ # μ¬μ
λ³΄κ³ μ λ³Έλ¬Έ (.json.gz, 컀λ°λ¨)
β βββ valuation-cache/ # λΆκΈ°λ§ λ°Έλ₯μμ΄μ
λ°μ΄ν°
βββ docs/
β βββ PEER_GROUP_WORKFLOW.md # μμ΄μ νΈμ© μν¬νλ‘μ° κ°μ΄λ
βββ scripts/
β βββ update-corp-codes.ts # DART corp_code λκΈ°ν
β βββ collect-business-cache.ts # μ¬μ
λ³΄κ³ μ λ³Έλ¬Έ μμ§
β βββ collect-valuation-cache.ts # λΆκΈ°λ§ λ°Έλ₯μμ΄μ
μΊμ μμ§
βββ next.config.ts # outputFileTracingIncludes λ‘ μΊμ νμΌ λ²λ€λ§
λ‘컬 κ°λ°
npm install
npm run dev
μλ²κ° http://localhost:3000μμ μ€νλ©λλ€.
MCP ν μ€νΈ
curl -X POST http://localhost:3000/api/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"test","version":"1.0.0"}}}'
μΊμ μ¬μμ±
# μ¬μ
λ³΄κ³ μ λ³Έλ¬Έ (μ μκ° μμ, DART rate limit μ€μ)
npx tsx scripts/collect-business-cache.ts
# λΆκΈ°λ§ λ°Έλ₯μμ΄μ
μ€λ
μ·
npx tsx scripts/collect-valuation-cache.ts
# DART corp_code λ§€ν λκΈ°ν
npx tsx scripts/update-corp-codes.ts
Vercel λ°°ν¬
1. GitHubμ push ν Vercelμμ import
Vercel Dashboardμμ New Project β GitHub μ μ₯μ μ ν β μλ λΉλ/λ°°ν¬
2. νκ²½λ³μ μ€μ
Vercel Dashboard β Settings β Environment Variablesμμ μλ λ³μλ₯Ό μ€μ ν©λλ€.
| λ³μλͺ | κ° |
|---|---|
OPENDART_API_KEY | OpenDART API ν€ (λ°κΈ) |
KICPA λ² νκ³μλ μλ²κ° KOSCOM νμ΄μ§μμ JSESSIONID μΈμ μΏ ν€λ₯Ό μλ νλνλ―λ‘ λ³λ μΈμ¦ λΆνμνλ©°, λ€μ΄λ² κΈμ΅λ μΈμ¦μ΄ νμ μμ΅λλ€.
3. λ°°ν¬ μλ£ ν MCP URL
https://<your-app>.vercel.app/api/mcp
next.config.tsμ outputFileTracingIncludes μ€μ μΌλ‘ data/business-cache/**/*.gzμ data/corp-codes.jsonμ΄ μλ²λ¦¬μ€ ν¨μ λ²λ€μ μλ ν¬ν¨λ©λλ€.
ν΄λΌμ΄μΈνΈ μ°κ²°
Claude for Excel / Claude Desktop
μ¬μ©μ μ§μ β 컀λ₯ν° β 컀μ€ν
컀λ₯ν° μΆκ°μμ λ€μ URL λ±λ‘:
https://<your-app>.vercel.app/api/mcp
Claude Code
claude mcp add kicpa-beta --transport http https://<your-app>.vercel.app/api/mcp
MCP Inspector
npx @modelcontextprotocol/inspector
URLμ https://<your-app>.vercel.app/api/mcp μ
λ ₯.
μ¬μ© μμ
Peer Group μν¬νλ‘μ° (κ°μ₯ λνμ μΈ μ¬μ© μλ리μ€)
005930μ νΌνκ° κΈ°μ
μΌλ‘ ν΄μ λ°λ체 μ
μ’
Peer 5κ° κ³¨λΌμ
20251231 κΈ°μ€ λ² νΒ·μ΄μλΆλΆμ±Β·μκ°μ΄μ‘ νκ· μ νλ‘ λ½μμ€.
μμ΄μ νΈλ μλμΌλ‘ search_by_industry β get_business_content(νλ³΄λ³ μμ°¨) β valuation_get_data(λ°°μΉ) μμλ‘ νΈμΆν©λλ€. μμΈ νλ¦μ docs/PEER_GROUP_WORKFLOW.md μ°Έμ‘°.
λ¨μΌ μ’ λͺ© μ‘°ν
- "005930μ 20251231 κΈ°μ€ λ°Έλ₯μμ΄μ λ°μ΄ν° λ½μμ€"
- "μΌμ±μ μμ μ£Όμ μ ν λ° μλΉμ€ μλ¬Έ 보μ¬μ€"
- "005930, 000660 μ’ λͺ©μ 5λ μ‘°μ λ² νλ₯Ό μμ νλ‘"
- "νλμ°¨ μκ°μ΄μ‘Β·PER·컨μΌμμ€ λͺ©νκ° μλ €μ€"
- "2μ°¨μ μ§ μ μ’ μμ₯μ¬ λ¦¬μ€νΈ μ λΆ λ½μμ€"
λ² νκ³μ μ€λͺ
| νλͺ© | μ€λͺ |
|---|---|
| μ€μ§λ² ν (Raw Beta) | νκ·λΆμμΌλ‘ μ°μΆλ μμ λ² νκ° |
| μ‘°μ λ² ν (Adjusted Beta) | μ€μ§λ² ν Γ 2/3 + 1/3 |
| ν¬μΈνΈμ | λ² ν μ°μΆμ μ¬μ©λ λ°μ΄ν° ν¬μΈνΈ μ |
| λνμ§μ | κ΅λ΄ KOSPI, λ―Έκ΅ S&P500 |
