# ๐ข ์ข
๋ชฉ ์์ธ์ ๋ณด MCP ์๋ฒ ๊ฐ๋ฐ ๊ณํ์
## 1. ํ๋ก์ ํธ ๊ฐ์
### 1.1 ๋ชฉ์
ํ๊ตญ ์์ฅ๊ธฐ์
์ ์ข
ํฉ์ ์ธ ๊ธฐ์
์ ๋ณด, ์ฌ๋ฌด ๋ฐ์ดํฐ, ํฌ์ ์งํ๋ฅผ ์ ๊ณตํ๋ MCP ์๋ฒ ๊ตฌ์ถ
### 1.2 ๋ฒ์
- ๊ธฐ์
๊ธฐ๋ณธ ์ ๋ณด ๋ฐ ์ฐํ
- ์ฌ๋ฌด์ ํ ๋ฐ ์ฌ๋ฌด๋น์จ ๋ถ์
- ์ฃผ์ฃผ ํํฉ ๋ฐ ์ง๋ฐฐ๊ตฌ์กฐ
- ์ฌ์
๋ถ๋ฌธ๋ณ ์ค์ ๋ถ์
- ๊ฒฝ์์ฌ ๋น๊ต ๋ถ์
- ์ ๋๋ฆฌ์คํธ ์ปจ์ผ์์ค
- ESG ํ๊ฐ ์ ๋ณด
- ๊ธฐ์
์ด๋ฒคํธ ๋ฐ ๊ณต์ ์ด๋ ฅ
### 1.3 ๊ธฐ์ ์คํ
- **์ธ์ด**: Python 3.11+
- **MCP SDK**: mcp-python
- **๋ฐ์ดํฐ ์์ค**: DART, KRX, FnGuide, NICEํ๊ฐ์ ๋ณด
- **๋ฐ์ดํฐ๋ฒ ์ด์ค**: PostgreSQL + TimescaleDB
- **์บ์ฑ**: Redis + ๋ฉ๋ชจ๋ฆฌ ์บ์
- **๋ถ์**: pandas, numpy, scipy
- **์๊ฐํ**: plotly, matplotlib
- **API**: FastAPI (๋ด๋ถ API)
## 2. ์๋ฒ ์ํคํ
์ฒ
```
mcp-stock-detail/
โโโ src/
โ โโโ server.py # MCP ์๋ฒ ๋ฉ์ธ
โ โโโ tools/ # MCP ๋๊ตฌ ์ ์
โ โ โโโ __init__.py
โ โ โโโ company_tools.py # ๊ธฐ์
์ ๋ณด ๋๊ตฌ
โ โ โโโ financial_tools.py # ์ฌ๋ฌด ์ ๋ณด ๋๊ตฌ
โ โ โโโ shareholder_tools.py # ์ฃผ์ฃผ/์ง๋ฐฐ๊ตฌ์กฐ ๋๊ตฌ
โ โ โโโ business_tools.py # ์ฌ์
๋ถ๋ฌธ ๋๊ตฌ
โ โ โโโ peer_tools.py # ๊ฒฝ์์ฌ ๋น๊ต ๋๊ตฌ
โ โ โโโ analyst_tools.py # ์ ๋๋ฆฌ์คํธ ๋๊ตฌ
โ โ โโโ esg_tools.py # ESG ๋๊ตฌ
โ โโโ collectors/ # ๋ฐ์ดํฐ ์์ง
โ โ โโโ __init__.py
โ โ โโโ dart_collector.py # DART ์์ง
โ โ โโโ krx_collector.py # KRX ์์ง
โ โ โโโ fnguide_collector.py # FnGuide ์์ง
โ โ โโโ nice_collector.py # NICE ์์ง
โ โโโ analyzers/ # ๋ถ์ ์์ง
โ โ โโโ __init__.py
โ โ โโโ financial_analyzer.py # ์ฌ๋ฌด ๋ถ์
โ โ โโโ valuation_analyzer.py # ๋ฐธ๋ฅ์์ด์
โ โ โโโ peer_analyzer.py # ๋์ข
์
๊ณ ๋ถ์
โ โ โโโ growth_analyzer.py # ์ฑ์ฅ์ฑ ๋ถ์
โ โ โโโ risk_analyzer.py # ๋ฆฌ์คํฌ ๋ถ์
โ โโโ models/ # ๋ฐ์ดํฐ ๋ชจ๋ธ
โ โ โโโ __init__.py
โ โ โโโ company.py # ๊ธฐ์
๋ชจ๋ธ
โ โ โโโ financial.py # ์ฌ๋ฌด ๋ชจ๋ธ
โ โ โโโ shareholder.py # ์ฃผ์ฃผ ๋ชจ๋ธ
โ โโโ utils/
โ โ โโโ cache.py # ์บ์ ๊ด๋ฆฌ
โ โ โโโ formatter.py # ๋ฐ์ดํฐ ํฌ๋งทํ
โ โ โโโ calculator.py # ์งํ ๊ณ์ฐ
โ โ โโโ validator.py # ๋ฐ์ดํฐ ๊ฒ์ฆ
โ โโโ config.py # ์ค์
โ โโโ exceptions.py # ์์ธ
โโโ tests/
โ โโโ test_tools.py
โ โโโ test_analyzers.py
โ โโโ test_integration.py
โโโ requirements.txt
โโโ .env.example
โโโ README.md
```
## 3. ํต์ฌ ๊ธฐ๋ฅ ๋ช
์ธ
### 3.1 ์ ๊ณต ๋๊ตฌ (Tools)
#### 1) `get_company_overview`
๊ธฐ์
์ ๊ธฐ๋ณธ ์ ๋ณด์ ๊ฐ์๋ฅผ ์ ๊ณตํ๋ ๋๊ตฌ
**์ฃผ์ ์ ๋ณด:**
- ๊ธฐ๋ณธ ์ ๋ณด (์ค๋ฆฝ์ผ, ๋ํ์ด์ฌ, ์ง์์ ๋ฑ)
- ์ฌ์
๊ฐ์ ๋ฐ ์ฃผ์ ์ ํ/์๋น์ค
- ์ฐํ ๋ฐ ์ฃผ์ ์ด์ ํ
- ๊ณ์ด์ฌ ๋ฐ ์ํ์ฌ ํํฉ
- ์ ์ฉ๋ฑ๊ธ ๋ฐ ํ๊ฐ
- ์ต๊ทผ ์ฃผ์ ๋ด์ค ๋ฐ ์ด๋ฒคํธ
#### 2) `get_financial_statements`
์์ธ ์ฌ๋ฌด์ ํ ๋ฐ ์ฌ๋ฌด๋น์จ์ ์ ๊ณตํ๋ ๋๊ตฌ
**์ฃผ์ ๊ธฐ๋ฅ:**
- 3๊ฐ๋
์ด์ ์ฌ๋ฌด์ ํ (์ฐ๊ฐ/๋ถ๊ธฐ)
- ์ฌ๋ฌด๋น์จ ๊ณ์ฐ ๋ฐ ํธ๋ ๋
- ๋์ข
์
๊ณ ํ๊ท ๋๋น ๋น๊ต
- ์ฌ๋ฌด ๊ฑด์ ์ฑ ํ๊ฐ
- ํ๊ธํ๋ฆ ๋ถ์
- ์ธ๋ถ ๊ณ์ ๊ณผ๋ชฉ breakdown
#### 3) `get_shareholder_info`
์ฃผ์ฃผ ํํฉ ๋ฐ ์ง๋ฐฐ๊ตฌ์กฐ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ ๋๊ตฌ
**์ฃผ์ ์ ๋ณด:**
- ๋์ฃผ์ฃผ ๋ฐ ํน์๊ด๊ณ์ธ ํํฉ
- ์ฃผ์ฃผ ๊ตฌ์ฑ ๋ณ๋ ์ถ์ด
- ์ด์ฌํ ๊ตฌ์ฑ ๋ฐ ๋
๋ฆฝ์ฑ
- ์ฃผ์ ๋ถํฌ ํํฉ (๊ธฐ๊ด/์ธ๊ตญ์ธ/๊ฐ์ธ)
- ์์ฌ์ฃผ ํํฉ ๋ฐ ์ ์ฑ
- ๋ฐฐ๋น ์ด๋ ฅ ๋ฐ ์ ์ฑ
#### 4) `get_business_segments`
์ฌ์
๋ถ๋ฌธ๋ณ ์์ธ ๋ถ์์ ์ ๊ณตํ๋ ๋๊ตฌ
**์ฃผ์ ๊ธฐ๋ฅ:**
- ์ฌ์
๋ถ๋ฌธ๋ณ ๋งค์ถ/์ด์ต breakdown
- ์ ํ/์๋น์ค๋ณ ์ค์ ์ถ์ด
- ์ง์ญ๋ณ ๋งค์ถ ๋ถํฌ
- ์ฃผ์ ๊ณ ๊ฐ์ฌ ๋ฐ ๊ณต๊ธ๋ง
- ๋ถ๋ฌธ๋ณ ์์ฅ์ ์ ์จ
- ์ฑ์ฅ ๋๋ ฅ ๋ถ์
#### 5) `get_peer_comparison`
๋์ข
์
๊ณ ๊ฒฝ์์ฌ ๋น๊ต ๋ถ์์ ์ ๊ณตํ๋ ๋๊ตฌ
**์ฃผ์ ๋ถ์:**
- ์ฃผ์ ๊ฒฝ์์ฌ ์๋ณ ๋ฐ ๋งคํ
- ์ฌ๋ฌด์งํ ๋น๊ต (๋งค์ถ, ์ด์ต๋ฅ , ROE ๋ฑ)
- ๋ฐธ๋ฅ์์ด์
๋น๊ต (PER, PBR, EV/EBITDA)
- ์์ฅ์ ์ ์จ ๋น๊ต
- ์ฑ์ฅ๋ฅ ๋น๊ต
- ์๋์ ๊ฐ์ /์ฝ์ ๋ถ์
#### 6) `get_analyst_consensus`
์ ๋๋ฆฌ์คํธ ์ปจ์ผ์์ค ๋ฐ ํฌ์์๊ฒฌ์ ์ ๊ณตํ๋ ๋๊ตฌ
**์ฃผ์ ์ ๋ณด:**
- ๋ชฉํ์ฃผ๊ฐ ์ปจ์ผ์์ค
- ํฌ์์๊ฒฌ ๋ถํฌ (Buy/Hold/Sell)
- ์ค์ ์ถ์ ์น (๋งค์ถ/์ด์ต)
- ์ฃผ์ ์ ๋๋ฆฌ์คํธ ์๊ฒฌ
- ์ปจ์ผ์์ค ๋ณํ ์ถ์ด
- ์ค์ ๋๋น ์ํ๋ผ์ด์ฆ ์ด๋ ฅ
#### 7) `get_valuation_metrics`
์ข
ํฉ์ ์ธ ๋ฐธ๋ฅ์์ด์
์งํ๋ฅผ ์ ๊ณตํ๋ ๋๊ตฌ
**์ฃผ์ ์งํ:**
- ์ฃผ๊ฐ ๋ฐฐ์ (PER, PBR, PSR, PCR)
- ๊ธฐ์
๊ฐ์น ๋ฐฐ์ (EV/EBITDA, EV/Sales)
- DCF ๊ธฐ๋ฐ ์ ์ ์ฃผ๊ฐ
- ์๋๊ฐ์น ํ๊ฐ
- ํ์คํ ๋ฆฌ์ปฌ ๋ฐธ๋ฅ์์ด์
๋ฐด๋
- ํ ์ธ/ํ๋ฆฌ๋ฏธ์ ๋ถ์
#### 8) `get_esg_info`
ESG ํ๊ฐ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ ๋๊ตฌ
**์ฃผ์ ์ ๋ณด:**
- ESG ์ข
ํฉ ๋ฑ๊ธ ๋ฐ ์ ์
- ํ๊ฒฝ(E) ๋ถ๋ฌธ ์์ธ ํ๊ฐ
- ์ฌํ(S) ๋ถ๋ฌธ ์์ธ ํ๊ฐ
- ์ง๋ฐฐ๊ตฌ์กฐ(G) ๋ถ๋ฌธ ์์ธ ํ๊ฐ
- ESG ๊ฐ์ ์ถ์ด
- ์ง์๊ฐ๋ฅ๊ฒฝ์ ๋ณด๊ณ ์ ์์ฝ
#### 9) `get_technical_indicators`
๊ธฐ์ ์ ์งํ ๋ฐ ์ฐจํธ ํจํด์ ์ ๊ณตํ๋ ๋๊ตฌ
**์ฃผ์ ๋ถ์:**
- ์ฃผ์ ๊ธฐ์ ์ ์งํ (์ด๋ํ๊ท , RSI, MACD ๋ฑ)
- ์ง์ง/์ ํญ ๋ ๋ฒจ
- ์ฐจํธ ํจํด ์ธ์
- ๊ฑฐ๋๋ ๋ถ์
- ํฌ์์ฌ๋ฆฌ ์งํ
- ๊ธฐ์ ์ ์ ๋ง
#### 10) `get_risk_analysis`
์ข
๋ชฉ์ ๋ฆฌ์คํฌ ์์ธ์ ๋ถ์ํ๋ ๋๊ตฌ
**์ฃผ์ ๋ถ์:**
- ์์ฅ ๋ฆฌ์คํฌ (๋ฒ ํ, ๋ณ๋์ฑ)
- ์ฌ๋ฌด ๋ฆฌ์คํฌ (๋ถ์ฑ๋น์จ, ์ ๋์ฑ)
- ์ฌ์
๋ฆฌ์คํฌ (์ง์ค๋, ๊ฒฝ์)
- ๊ท์ ๋ฆฌ์คํฌ
- ์ง์ ํ์ ๋ฆฌ์คํฌ
- ๋ฆฌ์คํฌ ์ค์ฝ์ด ๋ฐ ๋ฑ๊ธ
## 4. ๋ฐ์ดํฐ ์์ง ๋ฐ ํตํฉ
### 4.1 ๋ฐ์ดํฐ ์์ค
- **DART**: ๊ณต์ ์ ๋ณด, ์ฌ๋ฌด์ ํ
- **KRX**: ์์ฅ ๋ฐ์ดํฐ, ํฌ์์งํ
- **FnGuide**: ์ ๋๋ฆฌ์คํธ ๋ฆฌํฌํธ, ์ปจ์ผ์์ค
- **NICEํ๊ฐ์ ๋ณด**: ์ ์ฉ๋ฑ๊ธ, ๊ธฐ์
ํ๊ฐ
- **ํ๊ตญ๊ฑฐ๋์**: ์ฃผ์ฃผ ํํฉ, ๊ฑฐ๋ ์ ๋ณด
- **๊ธ์ต๊ฐ๋
์**: ๊ธฐ์
์ ๊ณ ์
- **์์ฒด ์์ง**: ๋ด์ค, SNS, ํนํ ์ ๋ณด
### 4.2 ๋ฐ์ดํฐ ํตํฉ ์ ๋ต
- ๋ฉํฐ์์ค ํฌ๋ก์ค ์ฒดํฌ
- ๋ฐ์ดํฐ ํ์ง ๊ฒ์ฆ
- ์ค์๊ฐ/๋ฐฐ์น ํ์ด๋ธ๋ฆฌ๋
- ๋ฒ์ ๊ด๋ฆฌ ๋ฐ ์ด๋ ฅ ์ถ์
- ๋ฐ์ดํฐ ๋ณด๊ฐ ๋ฐ ์ถ๋ก
## 5. ๋ถ์ ์์ง
### 5.1 ์ฌ๋ฌด ๋ถ์ ์์ง
- **์ฌ๋ฌด๋น์จ ๊ณ์ฐ**: 100+ ์งํ
- **ํธ๋ ๋ ๋ถ์**: ์๊ณ์ด ๋ถ์
- **์ด์์น ํ์ง**: ๋ถ์ํ๊ณ ์งํ
- **์์ธก ๋ชจ๋ธ**: ์ค์ ์์ธก
- **์๋๋ฆฌ์ค ๋ถ์**: What-if ๋ถ์
### 5.2 ๋ฐธ๋ฅ์์ด์
์์ง
- **์ ๋๊ฐ์น ํ๊ฐ**: DCF, DDM, RIM
- **์๋๊ฐ์น ํ๊ฐ**: Multiple ๋ถ์
- **๋ชฌํ
์นด๋ฅผ๋ก**: ํ๋ฅ ์ ํ๊ฐ
- **๋ฏผ๊ฐ๋ ๋ถ์**: ์ฃผ์ ๋ณ์ ์ํฅ
- **์ ์ ์ฃผ๊ฐ ์ฐ์ถ**: ์ข
ํฉ ํ๊ฐ
### 5.3 ๋์ข
์
๊ณ ๋ถ์ ์์ง
- **ํผ์ด ๊ทธ๋ฃน ์ ์ **: ML ๊ธฐ๋ฐ ํด๋ฌ์คํฐ๋ง
- **์๋์ ํฌ์ง์
๋**: ๊ฒฝ์๋ ฅ ๋งคํ
- **๋ฒค์น๋งํน**: Best practice ๋ถ์
- **๊ฒฉ์ฐจ ๋ถ์**: Performance gap
- **์์ฅ ๊ตฌ์กฐ ๋ถ์**: ์ง์ค๋, ์ง์
์ฅ๋ฒฝ
### 5.4 ๋ฆฌ์คํฌ ๋ถ์ ์์ง
- **VaR ๊ณ์ฐ**: Value at Risk
- **์คํธ๋ ์ค ํ
์คํธ**: ๊ทน๋จ ์๋๋ฆฌ์ค
- **์ ์ฉ ๋ฆฌ์คํฌ**: ๋ถ๋ ํ๋ฅ
- **์ ๋์ฑ ๋ฆฌ์คํฌ**: ์๊ธ ํ๋ฆ
- **ํตํฉ ๋ฆฌ์คํฌ ์ค์ฝ์ด**: ์ข
ํฉ ํ๊ฐ
## 6. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ
### 6.1 ์ฃผ์ ํ
์ด๋ธ ๊ตฌ์กฐ
```sql
-- ๊ธฐ์
๊ธฐ๋ณธ ์ ๋ณด
CREATE TABLE companies (
company_code VARCHAR(10) PRIMARY KEY,
company_name VARCHAR(100) NOT NULL,
company_name_eng VARCHAR(100),
stock_code VARCHAR(10),
market_type VARCHAR(20),
industry_code VARCHAR(10),
establishment_date DATE,
ipo_date DATE,
fiscal_month INT,
ceo_name VARCHAR(50),
employee_count INT,
capital BIGINT,
homepage VARCHAR(200),
address VARCHAR(300),
phone VARCHAR(50),
description TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- ์ฌ๋ฌด์ ํ
CREATE TABLE financial_statements (
id SERIAL PRIMARY KEY,
company_code VARCHAR(10) NOT NULL,
fiscal_year INT NOT NULL,
fiscal_quarter INT,
report_type VARCHAR(20),
account_code VARCHAR(50),
account_name VARCHAR(100),
amount BIGINT,
currency VARCHAR(3),
is_consolidated BOOLEAN,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (company_code) REFERENCES companies(company_code)
);
-- ์ฌ๋ฌด๋น์จ
CREATE TABLE financial_ratios (
id SERIAL PRIMARY KEY,
company_code VARCHAR(10) NOT NULL,
fiscal_year INT NOT NULL,
fiscal_quarter INT,
ratio_category VARCHAR(50),
ratio_name VARCHAR(50),
ratio_value DECIMAL(20,4),
industry_avg DECIMAL(20,4),
percentile INT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (company_code) REFERENCES companies(company_code)
);
-- ์ฃผ์ฃผ ํํฉ
CREATE TABLE shareholders (
id SERIAL PRIMARY KEY,
company_code VARCHAR(10) NOT NULL,
record_date DATE NOT NULL,
shareholder_name VARCHAR(100),
shareholder_type VARCHAR(50),
share_count BIGINT,
share_ratio DECIMAL(5,2),
is_related_party BOOLEAN,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (company_code) REFERENCES companies(company_code)
);
-- ์ฌ์
๋ถ๋ฌธ
CREATE TABLE business_segments (
id SERIAL PRIMARY KEY,
company_code VARCHAR(10) NOT NULL,
fiscal_year INT NOT NULL,
segment_name VARCHAR(100),
revenue BIGINT,
operating_profit BIGINT,
revenue_ratio DECIMAL(5,2),
profit_margin DECIMAL(5,2),
yoy_growth DECIMAL(10,2),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (company_code) REFERENCES companies(company_code)
);
-- ์ ๋๋ฆฌ์คํธ ์ปจ์ผ์์ค
CREATE TABLE analyst_consensus (
id SERIAL PRIMARY KEY,
company_code VARCHAR(10) NOT NULL,
consensus_date DATE NOT NULL,
analyst_count INT,
buy_count INT,
hold_count INT,
sell_count INT,
target_price_avg DECIMAL(20,2),
target_price_high DECIMAL(20,2),
target_price_low DECIMAL(20,2),
eps_estimate DECIMAL(20,2),
revenue_estimate BIGINT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (company_code) REFERENCES companies(company_code)
);
-- ESG ํ๊ฐ
CREATE TABLE esg_scores (
id SERIAL PRIMARY KEY,
company_code VARCHAR(10) NOT NULL,
evaluation_date DATE NOT NULL,
evaluation_agency VARCHAR(50),
overall_grade VARCHAR(5),
overall_score DECIMAL(5,2),
environmental_score DECIMAL(5,2),
social_score DECIMAL(5,2),
governance_score DECIMAL(5,2),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (company_code) REFERENCES companies(company_code)
);
-- ์ธ๋ฑ์ค
CREATE INDEX idx_financial_company_year ON financial_statements(company_code, fiscal_year);
CREATE INDEX idx_ratios_company_year ON financial_ratios(company_code, fiscal_year);
CREATE INDEX idx_shareholders_company_date ON shareholders(company_code, record_date);
CREATE INDEX idx_consensus_company_date ON analyst_consensus(company_code, consensus_date);
```
## 7. API ์ค๊ณ
### 7.1 MCP ๋๊ตฌ ์ธํฐํ์ด์ค
๊ฐ ๋๊ตฌ๋ ํ์คํ๋ ์
์ถ๋ ฅ ํ์์ ๋ฐ๋ฅด๋ฉฐ, ๋ค์๊ณผ ๊ฐ์ ๊ณตํต ํ๋ผ๋ฏธํฐ๋ฅผ ์ง์:
- `company_code`: ๊ธฐ์
์ฝ๋ (ํ์)
- `period`: ์กฐํ ๊ธฐ๊ฐ (๊ธฐ๋ณธ๊ฐ: 3๋
)
- `include_forecast`: ์์ธก ์ ๋ณด ํฌํจ ์ฌ๋ถ
- `comparison_group`: ๋น๊ต ๊ทธ๋ฃน (๋์ข
์
๊ณ/์ฌ์ฉ์์ ์)
- `output_format`: ์ถ๋ ฅ ํ์ (json/table/chart)
### 7.2 ์๋ต ํ์
๋ชจ๋ ์๋ต์ ๋ค์ ๊ตฌ์กฐ๋ฅผ ๋ฐ๋ฆ:
```json
{
"status": "success",
"timestamp": "2024-01-10T10:30:00+09:00",
"data": {
// ๋๊ตฌ๋ณ ๋ฐ์ดํฐ
},
"metadata": {
"source": ["DART", "KRX"],
"last_updated": "2024-01-10T09:00:00+09:00",
"data_quality": 0.95,
"completeness": 0.98
},
"warnings": [],
"related_tools": []
}
```
## 8. ์บ์ฑ ์ ๋ต
### 8.1 ๊ณ์ธต์ ์บ์ฑ
- **L1 ์บ์**: ๋ฉ๋ชจ๋ฆฌ (1๋ถ)
- **L2 ์บ์**: Redis (1์๊ฐ)
- **L3 ์บ์**: PostgreSQL (1์ผ)
### 8.2 ์บ์ ์ ์ฑ
- **์ ์ ๋ฐ์ดํฐ**: ์ฅ๊ธฐ ์บ์ฑ (๊ธฐ์
์ ๋ณด, ๊ณผ๊ฑฐ ์ฌ๋ฌด)
- **๋์ ๋ฐ์ดํฐ**: ๋จ๊ธฐ ์บ์ฑ (์ฃผ๊ฐ, ์ปจ์ผ์์ค)
- **์ค์๊ฐ ๋ฐ์ดํฐ**: ์บ์ฑ ์ํจ (ํธ๊ฐ, ์ฒด๊ฒฐ)
- **๋ฌดํจํ**: ์ด๋ฒคํธ ๊ธฐ๋ฐ + TTL
## 9. ์ฑ๋ฅ ์ต์ ํ
### 9.1 ์ฟผ๋ฆฌ ์ต์ ํ
- ์ธ๋ฑ์ค ์ ๋ต
- ํํฐ์
๋ (์ฐ๋๋ณ)
- Materialized View
- ์ฟผ๋ฆฌ ํ๋ ์ต์ ํ
- Connection Pooling
### 9.2 ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์ต์ ํ
- ๋ฐฐ์น ์ฒ๋ฆฌ
- ๋ณ๋ ฌ ์ฒ๋ฆฌ
- ์ฆ๋ถ ์
๋ฐ์ดํธ
- ์์ถ ์ ์ฅ
- ๋น๋๊ธฐ ์ฒ๋ฆฌ
## 10. ๋ฐ์ดํฐ ํ์ง ๊ด๋ฆฌ
### 10.1 ๊ฒ์ฆ ๊ท์น
- **์์ ์ฑ**: ํ์ ํ๋ ํ์ธ
- **์ ํ์ฑ**: ํฌ๋ก์ค ์ฒดํฌ
- **์ผ๊ด์ฑ**: ๋
ผ๋ฆฌ์ ๊ฒ์ฆ
- **์ ์์ฑ**: ์
๋ฐ์ดํธ ์ฃผ๊ธฐ
- **์ ์ผ์ฑ**: ์ค๋ณต ์ ๊ฑฐ
### 10.2 ํ์ง ๋ชจ๋ํฐ๋ง
- ์๋ํ๋ ํ์ง ๊ฒ์ฌ
- ์ด์์น ํ์ง
- ๋ฐ์ดํฐ ๊ณ๋ณด ์ถ์
- ํ์ง ๋์๋ณด๋
- ์ ๊ธฐ ๊ฐ์ฌ
## 11. ๋ณด์ ๋ฐ ๊ท์ ์ค์
### 11.1 ๋ฐ์ดํฐ ๋ณด์
- API ํค ์ธ์ฆ
- ๋ฐ์ดํฐ ์ํธํ
- ์ ๊ทผ ๊ถํ ๊ด๋ฆฌ
- ๊ฐ์ฌ ๋ก๊น
- DDoS ๋ฐฉ์ด
### 11.2 ๊ท์ ์ค์
- ๊ฐ์ธ์ ๋ณด๋ณดํธ๋ฒ
- ์๋ณธ์์ฅ๋ฒ
- ๋ฐ์ดํฐ ๋ผ์ด์ ์ค
- ์ ์๊ถ ๋ณดํธ
- ๋ด๋ถ์ ๊ฑฐ๋ ๋ฐฉ์ง
## 12. ๋ชจ๋ํฐ๋ง ๋ฐ ์ด์
### 12.1 ์์คํ
๋ชจ๋ํฐ๋ง
- API ์๋ต ์๊ฐ
- ๋ฐ์ดํฐ ์์ง ์ํ
- ์ค๋ฅ์จ ์ถ์
- ๋ฆฌ์์ค ์ฌ์ฉ๋ฅ
- ๊ฐ์ฉ์ฑ ๋ชจ๋ํฐ๋ง
### 12.2 ๋น์ฆ๋์ค ๋ชจ๋ํฐ๋ง
- ์ฌ์ฉ๋ ๋ถ์
- ์ธ๊ธฐ ์ข
๋ชฉ ์ถ์
- ๋ฐ์ดํฐ ํ์ง ์งํ
- ์ฌ์ฉ์ ํจํด ๋ถ์
- ์์ต์ฑ ๋ถ์
## 13. ์์ธ ๊ฐ๋ฐ ๋ก๋๋งต (์ด 12์ฃผ)
### ๐๏ธ Phase 1: ํ๋ก์ ํธ ๊ธฐ์ด ๊ตฌ์ถ (1-2์ฃผ์ฐจ)
#### Week 1: ํ๊ฒฝ ์ค์ ๋ฐ ๊ธฐ๋ณธ ๊ตฌ์กฐ
**๋ชฉํ**: ๊ฐ๋ฐ ํ๊ฒฝ ๊ตฌ์ถ ๋ฐ ํ๋ก์ ํธ ๊ธฐ๋ณธ ๊ณจ๊ฒฉ ์์ฑ
**์ธ๋ถ ์์
**:
- [ ] **Day 1-2**: ๊ฐ๋ฐ ํ๊ฒฝ ์ค์
- Python 3.11+ ํ๊ฒฝ ๊ตฌ์ฑ
- ๊ฐ์ํ๊ฒฝ ์์ฑ ๋ฐ ๊ธฐ๋ณธ ํจํค์ง ์ค์น
- IDE ์ค์ (VS Code/PyCharm)
- Git ์ ์ฅ์ ์ด๊ธฐํ ๋ฐ ๋ธ๋์น ์ ๋ต ์๋ฆฝ
- [ ] **Day 3-4**: ํ๋ก์ ํธ ๊ตฌ์กฐ ์์ฑ
```bash
# ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ ์์ฑ
mkdir -p src/{tools,collectors,analyzers,models,utils}
mkdir -p tests/{unit,integration,e2e}
mkdir -p docs/{api,architecture,deployment}
mkdir -p scripts/{setup,data_migration,deployment}
```
- requirements.txt ์์ฑ
- config.py ๊ธฐ๋ณธ ์ค์ ๊ตฌ์ฑ
- ๋ก๊น
์์คํ
์ค์
- ๊ธฐ๋ณธ ์์ธ ํด๋์ค ์ ์
- [ ] **Day 5**: ํต์ฌ ์์กด์ฑ ์ค์น ๋ฐ ํ
์คํธ
- mcp-python SDK ์ค์น ๋ฐ ํ
์คํธ
- PostgreSQL/Redis ์ฐ๊ฒฐ ํ
์คํธ
- ๊ธฐ๋ณธ ๋จ์ ํ
์คํธ ํ๋ ์์ํฌ ์ค์
**์๋ฃ ๊ธฐ์ค**:
- ํ๋ก์ ํธ๊ฐ ์ค๋ฅ ์์ด ์คํ๋จ
- ๊ธฐ๋ณธ ํ
์คํธ๊ฐ ํต๊ณผํจ
- CI/CD ํ์ดํ๋ผ์ธ ๊ธฐ๋ณธ ๊ตฌ์ฑ ์๋ฃ
#### Week 2: ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐ ๊ธฐ๋ณธ MCP ๊ตฌ์กฐ
**๋ชฉํ**: ๋ฐ์ดํฐ ์ ์ฅ์ ๊ตฌ์ถ ๋ฐ MCP ์๋ฒ ๊ธฐ๋ณธ ํ ์์ฑ
**์ธ๋ถ ์์
**:
- [ ] **Day 1-2**: ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง ๊ตฌํ
- PostgreSQL ํ
์ด๋ธ ์์ฑ ์คํฌ๋ฆฝํธ ์์ฑ
- ์ธ๋ฑ์ค ๋ฐ ์ ์ฝ์กฐ๊ฑด ์ ์
- ์ํ ๋ฐ์ดํฐ ์ค๋น
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ง์ด๊ทธ๋ ์ด์
๋๊ตฌ ์ค์
- [ ] **Day 3-4**: MCP ์๋ฒ ๊ธฐ๋ณธ ๊ตฌ์กฐ
- server.py ๋ฉ์ธ ํ์ผ ๊ตฌํ
- ๊ธฐ๋ณธ MCP ํ๋กํ ์ฝ ํธ๋ค๋ฌ ๊ตฌํ
- ๋๊ตฌ ๋ฑ๋ก ์์คํ
๊ตฌ์ถ
- ์ค๋ฅ ์ฒ๋ฆฌ ๋ฐ ๋ก๊น
๋ฏธ๋ค์จ์ด
- [ ] **Day 5**: ์ฒซ ๋ฒ์งธ ๋๊ตฌ ๊ตฌํ
- get_company_overview ๊ธฐ๋ณธ ๊ตฌํ
- ๊ฐ๋จํ DART API ์ฐ๋
- ๊ธฐ๋ณธ ์๋ต ํฌ๋งคํ
- ํตํฉ ํ
์คํธ
**์๋ฃ ๊ธฐ์ค**:
- ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ ์ ์๋ํจ
- MCP ์๋ฒ๊ฐ ๊ธฐ๋ณธ ์์ฒญ์ ์ฒ๋ฆฌํจ
- ์ต์ 1๊ฐ ๋๊ตฌ๊ฐ ๋์ํจ
### ๐ Phase 2: ํต์ฌ ๋๊ตฌ ๊ตฌํ (3-5์ฃผ์ฐจ)
#### Week 3: ๊ธฐ์
์ ๋ณด ๋ฐ ์ฌ๋ฌด ๋๊ตฌ
**๋ชฉํ**: ๊ธฐ์
๊ธฐ๋ณธ ์ ๋ณด์ ์ฌ๋ฌด์ ํ ๊ด๋ จ ๋๊ตฌ ์์ฑ
**์ธ๋ถ ์์
**:
- [ ] **Day 1-2**: get_company_overview ๊ณ ๋ํ
- ๊ธฐ์
๊ธฐ๋ณธ ์ ๋ณด ์์ง (DART API)
- ์
์ข
๋ถ๋ฅ ๋ฐ ๋งคํ
- ์ฐํ ์ ๋ณด ํ์ฑ
- ๊ณ์ด์ฌ ์ ๋ณด ์์ง
- [ ] **Day 3-5**: get_financial_statements ๊ตฌํ
- ์ฌ๋ฌด์ ํ ๋ฐ์ดํฐ ์์ง (DART)
- ๊ณ์ ๊ณผ๋ชฉ ํ์คํ
- ์ฐ๊ฒฐ/๋ณ๋ ๊ตฌ๋ถ ์ฒ๋ฆฌ
- ๋ถ๊ธฐ/์ฐ๊ฐ ๋ฐ์ดํฐ ํตํฉ
- ์ฌ๋ฌด๋น์จ ๊ณ์ฐ ์์ง
**์๋ฃ ๊ธฐ์ค**:
- ๋ชจ๋ ์์ฅ์ฌ ๊ธฐ๋ณธ ์ ๋ณด ์์ง ๊ฐ๋ฅ
- 3๊ฐ๋
์ฌ๋ฌด์ ํ ๋ฐ์ดํฐ ์ ๊ณต
- ์ฃผ์ ์ฌ๋ฌด๋น์จ ์๋ ๊ณ์ฐ
#### Week 4: ์ฃผ์ฃผ ๋ฐ ์ฌ์
๋ถ๋ฌธ ๋๊ตฌ
**๋ชฉํ**: ์ง๋ฐฐ๊ตฌ์กฐ์ ์ฌ์
์ธ๊ทธ๋จผํธ ๋ถ์ ๋๊ตฌ ์์ฑ
**์ธ๋ถ ์์
**:
- [ ] **Day 1-3**: get_shareholder_info ๊ตฌํ
- ๋์ฃผ์ฃผ ํํฉ ์์ง
- ์ฃผ์ ๋ถํฌ ๋ถ์
- ์ง๋ฐฐ๊ตฌ์กฐ ์งํ ๊ณ์ฐ
- ๋ฐฐ๋น ์ด๋ ฅ ์์ง
- [ ] **Day 4-5**: get_business_segments ๊ตฌํ
- ์ฌ์
๋ณด๊ณ ์ ํ์ฑ
- ๋ถ๋ฌธ๋ณ ์ค์ ์ถ์ถ
- ๋งค์ถ ๊ตฌ์ฑ ๋ถ์
- ์ฑ์ฅ๋ฅ ๊ณ์ฐ
**์๋ฃ ๊ธฐ์ค**:
- ์ฃผ์ฃผ ํํฉ ์ ํํ ํ์
- ์ฌ์
๋ถ๋ฌธ๋ณ ์์ธ ๋ถ์ ์ ๊ณต
#### Week 5: ์์ฅ ๋ถ์ ๋๊ตฌ
**๋ชฉํ**: ๋์ข
์
๊ณ ๋น๊ต ๋ฐ ์ ๋๋ฆฌ์คํธ ์ ๋ณด ๋๊ตฌ ์์ฑ
**์ธ๋ถ ์์
**:
- [ ] **Day 1-3**: get_peer_comparison ๊ตฌํ
- ๋์ข
์
๊ณ ๊ธฐ์
์๋ ๋งคํ
- ์ฌ๋ฌด์งํ ๋น๊ต ๋ถ์
- ์๋์ ์์ ์ฐ์ถ
- ๋ฒค์น๋งํน ๋ฆฌํฌํธ ์์ฑ
- [ ] **Day 4-5**: get_analyst_consensus ๊ตฌํ
- FnGuide API ์ฐ๋
- ์ ๋๋ฆฌ์คํธ ์๊ฒฌ ์์ง
- ์ปจ์ผ์์ค ๊ณ์ฐ
- ๋ชฉํ์ฃผ๊ฐ ํต๊ณ
**์๋ฃ ๊ธฐ์ค**:
- ๋์ข
์
๊ณ ๋น๊ต ๋ถ์ ์๋ฃ
- ์ ๋๋ฆฌ์คํธ ์ปจ์ผ์์ค ์ ํํ ์ ๊ณต
### ๐ง Phase 3: ๊ณ ๊ธ ๋ถ์ ์์ง (6-8์ฃผ์ฐจ)
#### Week 6: ๋ฐธ๋ฅ์์ด์
์์ง
**๋ชฉํ**: ์ข
ํฉ์ ์ธ ๊ธฐ์
๊ฐ์น ํ๊ฐ ์์คํ
๊ตฌ์ถ
**์ธ๋ถ ์์
**:
- [ ] **Day 1-2**: get_valuation_metrics ๊ธฐ๋ณธ ๊ตฌํ
- ์ฃผ๊ฐ ๋ฐฐ์ ๊ณ์ฐ (PER, PBR, PSR)
- ๊ธฐ์
๊ฐ์น ๋ฐฐ์ (EV/EBITDA)
- ํ์คํ ๋ฆฌ์ปฌ ๋ฐด๋ ๋ถ์
- [ ] **Day 3-5**: DCF ๋ชจ๋ธ ๊ตฌํ
- ํ๊ธํ๋ฆ ์์ธก ๋ชจ๋ธ
- ํ ์ธ์จ ๊ณ์ฐ (WACC)
- ํฐ๋ฏธ๋ ๋ฐธ๋ฅ ๊ณ์ฐ
- ๋ชฌํ
์นด๋ฅผ๋ก ์๋ฎฌ๋ ์ด์
**์๋ฃ ๊ธฐ์ค**:
- ๋ค์ํ ๋ฐธ๋ฅ์์ด์
์งํ ์ ๊ณต
- DCF ๊ธฐ๋ฐ ์ ์ ์ฃผ๊ฐ ์ฐ์ถ
#### Week 7: ESG ๋ฐ ๊ธฐ์ ์ ๋ถ์
**๋ชฉํ**: ESG ํ๊ฐ์ ๊ธฐ์ ์ ์งํ ๋ถ์ ๋๊ตฌ ์์ฑ
**์ธ๋ถ ์์
**:
- [ ] **Day 1-3**: get_esg_info ๊ตฌํ
- ESG ํ๊ฐ ๋ฐ์ดํฐ ์์ง
- ์ง์๊ฐ๋ฅ๊ฒฝ์ ๋ณด๊ณ ์ ํ์ฑ
- ESG ์ ์ ํ์คํ
- ๊ฐ์ ์ถ์ด ๋ถ์
- [ ] **Day 4-5**: get_technical_indicators ๊ตฌํ
- ์ฃผ๊ฐ ๊ธฐ์ ์ ์งํ ๊ณ์ฐ
- ์ด๋ํ๊ท , RSI, MACD ๋ฑ
- ์ง์ง/์ ํญ์ ๊ณ์ฐ
- ์ฐจํธ ํจํด ์ธ์
**์๋ฃ ๊ธฐ์ค**:
- ESG ์ข
ํฉ ํ๊ฐ ์ ๊ณต
- ์ฃผ์ ๊ธฐ์ ์ ์งํ ๋ถ์
#### Week 8: ๋ฆฌ์คํฌ ๋ถ์ ์์ง
**๋ชฉํ**: ์ข
ํฉ์ ์ธ ํฌ์ ๋ฆฌ์คํฌ ํ๊ฐ ์์คํ
์์ฑ
**์ธ๋ถ ์์
**:
- [ ] **Day 1-3**: get_risk_analysis ๊ตฌํ
- ์์ฅ ๋ฆฌ์คํฌ ๊ณ์ฐ (๋ฒ ํ, VaR)
- ์ฌ๋ฌด ๋ฆฌ์คํฌ ํ๊ฐ
- ์ฌ์
๋ฆฌ์คํฌ ๋ถ์
- ์ ์ฉ ๋ฆฌ์คํฌ ๋ชจ๋ธ
- [ ] **Day 4-5**: ํตํฉ ๋ฆฌ์คํฌ ์ค์ฝ์ด
- ๋ฆฌ์คํฌ ํฉํฐ ๊ฐ์ค์น ์ค์
- ์ข
ํฉ ๋ฆฌ์คํฌ ๋ฑ๊ธ ์ฐ์ถ
- ๋ฆฌ์คํฌ ์๋๋ฆฌ์ค ๋ถ์
- ๋ฆฌ์คํฌ ๊ฒฝ๊ณ ์์คํ
**์๋ฃ ๊ธฐ์ค**:
- ๋ค์ฐจ์ ๋ฆฌ์คํฌ ๋ถ์ ์๋ฃ
- ํตํฉ ๋ฆฌ์คํฌ ์ค์ฝ์ด ์ ๊ณต
### โก Phase 4: ์ฑ๋ฅ ์ต์ ํ ๋ฐ ํ์ง ๊ฐ์ (9-10์ฃผ์ฐจ)
#### Week 9: ๋ฐ์ดํฐ ์์ง ์๋ํ
**๋ชฉํ**: ํจ์จ์ ์ธ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ๊ตฌ์ถ
**์ธ๋ถ ์์
**:
- [ ] **Day 1-2**: ๋ฐฐ์น ์์ง ์์คํ
- ์ค์ผ์ค๋ฌ ๊ตฌํ (APScheduler)
- ์ฆ๋ถ ์
๋ฐ์ดํธ ๋ก์ง
- ์คํจ ๋ณต๊ตฌ ๋ฉ์ปค๋์ฆ
- ๋ฐ์ดํฐ ๊ฒ์ฆ ํ์ดํ๋ผ์ธ
- [ ] **Day 3-4**: ์บ์ฑ ์์คํ
๊ณ ๋ํ
- Redis ํด๋ฌ์คํฐ ์ค์
- ์บ์ ๋ฌดํจํ ์ ๋ต
- ์บ์ ํํธ์จ ์ต์ ํ
- ์บ์ ์๋ฐ ๊ตฌํ
- [ ] **Day 5**: ์ฑ๋ฅ ํ๋กํ์ผ๋ง
- ๋ณ๋ชฉ ์ง์ ์๋ณ
- ์ฟผ๋ฆฌ ์ต์ ํ
- ์ธ๋ฑ์ค ํ๋
- ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ ์ต์ ํ
**์๋ฃ ๊ธฐ์ค**:
- ์๋ํ๋ ๋ฐ์ดํฐ ์์ง ํ์ดํ๋ผ์ธ
- 90% ์ด์ ์บ์ ํํธ์จ ๋ฌ์ฑ
#### Week 10: ๋ฐ์ดํฐ ํ์ง ๋ฐ ํ
์คํธ
**๋ชฉํ**: ๋ฐ์ดํฐ ํ์ง ๋ณด์ฅ ์์คํ
๊ตฌ์ถ
**์ธ๋ถ ์์
**:
- [ ] **Day 1-2**: ๋ฐ์ดํฐ ํ์ง ๊ฒ์ฆ
- ๋ฐ์ดํฐ ์์ ์ฑ ์ฒดํฌ
- ์ด์์น ํ์ง ์๊ณ ๋ฆฌ์ฆ
- ํฌ๋ก์ค ์์ค ๊ฒ์ฆ
- ํ์ง ์งํ ๋์๋ณด๋
- [ ] **Day 3-4**: ํ
์คํธ ์ปค๋ฒ๋ฆฌ์ง ํ๋
- ๋จ์ ํ
์คํธ ์์ฑ๋ 90% ๋ฌ์ฑ
- ํตํฉ ํ
์คํธ ์๋๋ฆฌ์ค ๊ตฌํ
- E2E ํ
์คํธ ์๋ํ
- ์ฑ๋ฅ ํ
์คํธ ๊ตฌํ
- [ ] **Day 5**: ๋ฌธ์ํ
- API ๋ฌธ์ ์๋ ์์ฑ
- ์ฌ์ฉ์ ๊ฐ์ด๋ ์์ฑ
- ๊ฐ๋ฐ์ ๋ฌธ์ ์ ๋ฆฌ
- ์ด์ ๋งค๋ด์ผ ์์ฑ
**์๋ฃ ๊ธฐ์ค**:
- ๋ฐ์ดํฐ ํ์ง 95% ์ด์ ๋ณด์ฅ
- ํ
์คํธ ์ปค๋ฒ๋ฆฌ์ง 90% ๋ฌ์ฑ
### ๐ Phase 5: ๋ฐฐํฌ ๋ฐ ์ด์ (11-12์ฃผ์ฐจ)
#### Week 11: ์ด์ ํ๊ฒฝ ๊ตฌ์ถ
**๋ชฉํ**: ํ๋ก๋์
ํ๊ฒฝ ๋ฐฐํฌ ๋ฐ ๋ชจ๋ํฐ๋ง ์์คํ
๊ตฌ์ถ
**์ธ๋ถ ์์
**:
- [ ] **Day 1-2**: ์ธํ๋ผ ์ค์
- Docker ์ปจํ
์ด๋ํ
- Kubernetes ๋ฐฐํฌ ์ค์
- ๋ก๋ ๋ฐธ๋ฐ์ ๊ตฌ์ฑ
- SSL ์ธ์ฆ์ ์ค์
- [ ] **Day 3-4**: ๋ชจ๋ํฐ๋ง ๋ฐ ๋ก๊น
- Prometheus + Grafana ์ค์
- APM ๋๊ตฌ ์ฐ๋
- ๋ก๊ทธ ์์ง ์์คํ
- ์๋ ์ค์
- [ ] **Day 5**: ๋ณด์ ์ค์
- API ํค ๊ด๋ฆฌ ์์คํ
- ์ ๊ทผ ์ ์ด ์ค์
- ๋ฐ์ดํฐ ์ํธํ
- ๋ณด์ ์ทจ์ฝ์ ์ค์บ
**์๋ฃ ๊ธฐ์ค**:
- ์์ ์ ์ธ ํ๋ก๋์
ํ๊ฒฝ ๊ตฌ์ถ
- ์ค์๊ฐ ๋ชจ๋ํฐ๋ง ์์คํ
์๋
#### Week 12: ์ต์ข
ํ
์คํธ ๋ฐ ๋ฐฐํฌ
**๋ชฉํ**: ์๋น์ค ๋ฐ์นญ ๋ฐ ์ด์ ์ฒด๊ณ ์์ฑ
**์ธ๋ถ ์์
**:
- [ ] **Day 1-2**: ์คํธ๋ ์ค ํ
์คํธ
- ๋ถํ ํ
์คํธ ์๋๋ฆฌ์ค ์คํ
- ๋์ ์ฌ์ฉ์ ํ
์คํธ
- ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ ํ
์คํธ
- ์ฅ์ ๋ณต๊ตฌ ํ
์คํธ
- [ ] **Day 3-4**: ์ฌ์ฉ์ ์ธ์ ํ
์คํธ
- ์ค์ ์ฌ์ฉ ์๋๋ฆฌ์ค ๊ฒ์ฆ
- ํผ๋๋ฐฑ ์์ง ๋ฐ ๋ฐ์
- ์ฑ๋ฅ ํ๋
- ์ต์ข
๋ฒ๊ทธ ์์
- [ ] **Day 5**: ์๋น์ค ๋ฐ์นญ
- ๋ฐฐํฌ ์๋ํ ์คํ
- ์ด์ ๊ฐ์ด๋ ์ต์ข
๊ฒํ
- ํ ๊ต์ก ๋ฐ ์ธ์์ธ๊ณ
- ๋ฐ์นญ ํ ๋ชจ๋ํฐ๋ง
**์๋ฃ ๊ธฐ์ค**:
- ์๋น์ค ์ ์ ๋ฐ์นญ
- ์ด์ ์ฒด๊ณ ์์ฑ
### ๐ ์ฃผ๊ฐ ์ฒดํฌ๋ฆฌ์คํธ ํ
ํ๋ฆฟ
๊ฐ ์ฃผ์ฐจ๋ณ๋ก ๋ค์ ์ฒดํฌ๋ฆฌ์คํธ๋ฅผ ํ์ฉ:
```markdown
## Week X ์ฒดํฌ๋ฆฌ์คํธ
### ๊ณํ ๋จ๊ณ
- [ ] ์ฃผ๊ฐ ๋ชฉํ ๋ช
ํํ ์ ์
- [ ] ์ธ๋ถ ์์
์ฐ์ ์์ ์ค์
- [ ] ํ์ ๋ฆฌ์์ค ํ๋ณด
- [ ] ์์กด์ฑ ์ฌ์ ํด๊ฒฐ
### ์งํ ๋จ๊ณ
- [ ] ์ผ์ผ ์งํ์ํฉ ์ถ์
- [ ] ์ฝ๋ ๋ฆฌ๋ทฐ ๋ฐ ํ
์คํธ
- [ ] ๋ฌธ์ํ ๋์ ์งํ
- [ ] ์ด์ ๋ฐ ๋ธ๋ก์ปค ์ฆ์ ํด๊ฒฐ
### ์๋ฃ ๋จ๊ณ
- [ ] ๋ชจ๋ ๊ธฐ๋ฅ ์ ์ ๋์ ํ์ธ
- [ ] ํ
์คํธ ์ผ์ด์ค ํต๊ณผ
- [ ] ์ฝ๋ ํ์ง ๊ธฐ์ค ์ถฉ์กฑ
- [ ] ๋ค์ ์ฃผ ์ค๋น์ฌํญ ์ ๊ฒ
```
### ๐ฏ ๋จ๊ณ๋ณ ์ฑ๊ณต ์งํ
**Phase 1 ์ฑ๊ณต ์งํ**:
- ๊ฐ๋ฐ ํ๊ฒฝ 100% ๊ตฌ์ถ ์๋ฃ
- ๊ธฐ๋ณธ MCP ์๋ฒ ๋์
- ์ฒซ ๋ฒ์งธ ๋๊ตฌ ๊ตฌํ ์๋ฃ
**Phase 2 ์ฑ๊ณต ์งํ**:
- 8๊ฐ ์ด์ ์ฃผ์ ๋๊ตฌ ๊ตฌํ
- ์ ์ฒด ์์ฅ์ฌ ๋ฐ์ดํฐ ์ปค๋ฒ๋ฆฌ์ง 80% ์ด์
- API ์๋ต์๊ฐ 2์ด ์ด๋ด
**Phase 3 ์ฑ๊ณต ์งํ**:
- ๊ณ ๊ธ ๋ถ์ ๊ธฐ๋ฅ ์์ฑ
- ๋ฐธ๋ฅ์์ด์
๋ชจ๋ธ ์ ํ๋ 85% ์ด์
- ๋ฆฌ์คํฌ ๋ถ์ ์ ๋ขฐ๋ ๊ฒ์ฆ ์๋ฃ
**Phase 4 ์ฑ๊ณต ์งํ**:
- ์์คํ
์๋ต์๊ฐ 500ms ์ด๋ด
- ๋ฐ์ดํฐ ํ์ง 95% ์ด์
- ํ
์คํธ ์ปค๋ฒ๋ฆฌ์ง 90% ์ด์
**Phase 5 ์ฑ๊ณต ์งํ**:
- ์๋น์ค ๊ฐ์ฉ์ฑ 99.9% ์ด์
- ๋์ ์ฌ์ฉ์ 1000๋ช
์ฒ๋ฆฌ ๊ฐ๋ฅ
- ์ด์ ๋งค๋ด์ผ ์์ฑ
### โ ๏ธ ๋ฆฌ์คํฌ ๊ด๋ฆฌ ๊ณํ
**์ฃผ์ ๋ฆฌ์คํฌ ์์ธ**:
1. **๋ฐ์ดํฐ ์์ค ๋ณ๊ฒฝ**: API ๋ณ๊ฒฝ ๋์ ๊ณํ ์๋ฆฝ
2. **์ฑ๋ฅ ์ด์**: ๋ณ๋ชฉ ์ง์ ์ฌ์ ์๋ณ ๋ฐ ๋์ ์ค๋น
3. **๋ฒ์ ๊ท์ **: ๋ฐ์ดํฐ ์ฌ์ฉ ๋ผ์ด์ ์ค ์ฌ์ ํ์ธ
4. **๊ธฐ์ ์ ๋ณต์ก๋**: ๋จ๊ณ์ ๊ตฌํ ๋ฐ MVP ์ ๊ทผ
**์ํ ์ ๋ต**:
- ์ฃผ๊ฐ ๋ฆฌ์คํฌ ๋ฆฌ๋ทฐ ๋ฏธํ
- ๋ฐฑ์
๋ฐ์ดํฐ ์์ค ํ๋ณด
- ๊ธฐ์ ์คํ์ดํฌ ์ฌ์ ์ํ
- ์ธ๋ถ ์ ๋ฌธ๊ฐ ์๋ฌธ ํ๋ณด
## 14. ์์ ํฌ์ ํจ๊ณผ
### 14.1 ์ ๋์ ํจ๊ณผ
- **๋ถ์ ์๊ฐ ๋จ์ถ**: 80% ๊ฐ์
- **๋ฐ์ดํฐ ์ ํ๋**: 95% ์ด์
- **์ปค๋ฒ๋ฆฌ์ง**: ์ ์์ฅ์ฌ 100%
- **์
๋ฐ์ดํธ ์ฃผ๊ธฐ**: ์ค์๊ฐ~์ผ๊ฐ
- **API ์๋ต์๋**: <500ms
### 14.2 ์ ์ฑ์ ํจ๊ณผ
- ํฌ์ ์์ฌ๊ฒฐ์ ํ์ง ํฅ์
- ๋ฆฌ์คํฌ ๊ด๋ฆฌ ๊ฐํ
- ์๋ก์ด ํฌ์ ๊ธฐํ ๋ฐ๊ฒฌ
- ์๋ํ๋ ๋ชจ๋ํฐ๋ง
- ๊ท์ ์ค์ ๊ฐํ
์ด MCP ์๋ฒ๋ฅผ ํตํด ํฌ์์๋ค์ ์ข
๋ชฉ์ ๋ํ ์ฌ์ธต์ ์ด๊ณ ์ข
ํฉ์ ์ธ ๋ถ์์ ๋น ๋ฅด๊ณ ์ ํํ๊ฒ ์ํํ ์ ์๊ฒ ๋ฉ๋๋ค.