From stock-consultation
Mandates cross-verification of stock/ETF data from 2+ sources via web search tools, requiring original text quotes and URLs to prevent AI hallucinations. Focuses on Korean stocks using Naver Finance and KRX.
npx claudepluginhub orientpine/honeypot --plugin stock-consultationThis skill uses the workspace's default tool permissions.
> **์ด ์คํฌ์ "ํจ์"๊ฐ ์๋๋๋ค. ์ง์นจ ๋ฌธ์์ ๋๋ค.**
Defines anti-hallucination rules for stock/ETF analysis agents: mandates direct calls to web search tools like exa_web_search_exa, original text citations, and cross-verification from 2+ sources.
Enforces 3+ source cross-verification protocol for web searches on macroeconomic data like indices, rates, and FX rates, requiring original text citations to prevent AI hallucinations.
Queries LSEG (Refinitiv) financial data via Python library for market prices, fundamentals, ESG scores, activism, loans, PE/VC, M&A, IPOs, news, and corporate governance.
Share bugs, ideas, or general feedback.
์ด ์คํฌ์ "ํจ์"๊ฐ ์๋๋๋ค. ์ง์นจ ๋ฌธ์์ ๋๋ค.
- โ
search_stock("์ผ์ฑ์ ์")๊ฐ์ ํจ์ ํธ์ถ์ ์๋ํ์ง ์์ต๋๋ค- โ ์์ด์ ํธ๊ฐ
mcp_exa_web_search_exa๋๋mcp_websearch_web_search_exa๋๊ตฌ๋ฅผ ์ง์ ํธ์ถํด์ผ ํฉ๋๋ค- โ ์ด ์คํฌ์ ๊ฒ์ ์ฟผ๋ฆฌ ํจํด๊ณผ ๊ฒ์ฆ ์ ์ฐจ๋ฅผ ์๋ดํ๋ ๋ฌธ์์ ๋๋ค
1. ์ด ์คํฌ ๋ฌธ์๋ฅผ ์ฝ๊ณ ๊ฒ์ ์ฟผ๋ฆฌ ํจํด ํ์
2. mcp_exa_web_search_exa ๋๋ mcp_websearch_web_search_exa ๋๊ตฌ๋ฅผ ์ง์ ํธ์ถ
3. ๊ฒ์ ๊ฒฐ๊ณผ์์ ๋ฐ์ดํฐ ์ถ์ถ
4. ์ต์ 2๊ฐ ์ถ์ฒ ๊ต์ฐจ ๊ฒ์ฆ ์ํ
5. ์ถ๋ ฅ ์คํค๋ง์ ๋ง์ถฐ ๊ฒฐ๊ณผ ํฌ์ฅ
โ "search_stock() ํธ์ถ" (์กด์ฌํ์ง ์๋ ํจ์)
โ "์คํฌ์ด ์์์ ๊ฒ์ํด์ค" (์คํฌ์ ๋ฌธ์์ผ ๋ฟ)
โ ์์ ๋ฐ์ดํฐ์ ์ซ์๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉ (ํ๋์ฝ๋ฉ๋ ์ค๋๋ ๊ฐ)
์ด ์คํฌ์ ์ฃผ์/ETF ๋ฐ์ดํฐ(๊ฐ๊ฒฉ, PER, ๋ฐฐ๋น๋ฅ , ์ด์ฉ๋ณด์ ๋ฑ) ์์ง ์ ํ๊ฐ์ ๋ฐฉ์งํ๊ธฐ ์ํ ํ์ค ํ๋กํ ์ฝ์ ๋๋ค. ๋ชจ๋ ์์น ๋ฐ์ดํฐ๋ ์์ด์ ํธ๊ฐ ์ง์ ์น๊ฒ์ ๋๊ตฌ๋ฅผ ํธ์ถํ์ฌ ์ต์ 2๊ฐ ์ด์์ ๋ ๋ฆฝ ์ถ์ฒ์์ ๊ต์ฐจ ๊ฒ์ฆ ํ์๋ง ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
ํ๊ฐ ๋ฐฉ์ง์ ํต์ฌ: ๊ฒ์ ๊ฒฐ๊ณผ์์ ์ซ์๋ฅผ ์ถ์ถํ ๋ ๋ฐ๋์ ์๋ฌธ์ ๊ทธ๋๋ก ์ธ์ฉํด์ผ ํฉ๋๋ค. ์๋ฌธ๊ณผ ๋ณด๊ณ ๊ฐ์ด ์ผ์นํ์ง ์์ผ๋ฉด FAIL์ ๋๋ค.
1. ์น๊ฒ์ ์คํ
2. ๊ฒ์ ๊ฒฐ๊ณผ์์ ์ซ์๊ฐ ํฌํจ๋ ๋ฌธ์ฅ์ **๊ทธ๋๋ก ๋ณต์ฌ**
3. ์๋ฌธ์์ ์ซ์ ์ถ์ถ
4. ์ถ์ถํ ์ซ์์ ์๋ฌธ์ ํจ๊ป ๋ณด๊ณ
๋ชจ๋ ์์น ๋ฐ์ดํฐ๋ ๋ค์ ํ์์ผ๋ก ๋ณด๊ณ ํด์ผ ํฉ๋๋ค:
{
"value": 58000,
"original_text": "์ผ์ฑ์ ์ ์ข
๊ฐ 58,000์ (2026.01.14 ๊ธฐ์ค)",
"source": "๋ค์ด๋ฒ ๊ธ์ต",
"url": "https://finance.naver.com/item/main.naver?code=005930"
}
| ๊ท์น | ์ค๋ช | ์๋ฐ ์ |
|---|---|---|
| ์๋ฌธ ํ์ | original_text ํ๋ ์์ผ๋ฉด ๋ฌดํจ | FAIL |
| ์ซ์ ์ผ์น | value๊ฐ original_text ๋ด ์ซ์์ ์ผ์นํด์ผ ํจ | FAIL |
| ๋ณต์ฌ ๊ธ์ง | ์ด์ ๊ฒฐ๊ณผ๋ ์์ ๊ฐ์ ๋ณต์ฌํ๋ฉด ์ ๋จ | FAIL |
โ ์ฌ๋ฐ๋ฅธ ์์:
{
"stock": "์ผ์ฑ์ ์",
"per": {
"value": 12.5,
"original_text": "์ผ์ฑ์ ์ PER 12.5๋ฐฐ (2026.01.14 ๊ธฐ์ค)",
"source": "๋ค์ด๋ฒ ๊ธ์ต",
"url": "https://finance.naver.com/item/main.naver?code=005930"
}
}
โ ์๋ชป๋ ์์ (ํ๊ฐ ์ํ):
{
"stock": "์ผ์ฑ์ ์",
"per": {
"value": 12.5,
"original_text": null,
"source": "๋ค์ด๋ฒ ๊ธ์ต",
"url": "https://finance.naver.com/item/main.naver?code=005930"
}
}
โ ์๋ฌธ ์์ด ์ซ์๋ง ๋ณด๊ณ ํ๋ฉด ๊ฒ์ฆ ๋ถ๊ฐ๋ฅ
๋ฐ์ดํฐ ์ ํ: ํ๊ตญ ์์ฅ ์ฃผ์ (KOSPI, KOSDAQ)
โ ๏ธ ์๋๋ ๊ฒ์ ํจํด ๊ฐ์ด๋์ ๋๋ค.
search_korean_stock()๋ผ๋ ํจ์๋ ์กด์ฌํ์ง ์์ต๋๋ค. ๋ฐ๋์mcp_exa_web_search_exa๋๋mcp_websearch_web_search_exa๋ฅผ ์ง์ ํธ์ถํ์ธ์.
์ง์ ๋ฐ์ดํฐ:
๊ฒ์ ์ฟผ๋ฆฌ ํจํด (2๊ฐ ๋ณ๋ ฌ ์คํ):
| # | ํจํด | ๋์ ์ถ์ฒ |
|---|---|---|
| 1 | "[์ข
๋ชฉ๋ช
] ์ฃผ๊ฐ site:finance.naver.com" | ๋ค์ด๋ฒ ๊ธ์ต (1์ฐจ) |
| 2 | "[์ข
๋ชฉ๋ช
] ์์ธ site:data.krx.co.kr OR site:kind.krx.co.kr" | KRX (1์ฐจ) |
| 3 | "[์ข
๋ชฉ๋ช
] ์ฃผ๊ฐ site:securities.miraeasset.com OR site:securities.samsung.com" | ์ฆ๊ถ์ฌ (2์ฐจ) |
๊ฒ์ฆ ์ ์ฐจ:
์ถ๋ ฅ ์คํค๋ง:
{
"stock_code": "005930",
"stock_name": "์ผ์ฑ์ ์",
"price": {
"value": "[SEARCH_RESULT - ์น๊ฒ์ ๊ฒฐ๊ณผ๋ก ๋์ฒด]",
"unit": "KRW",
"date": "[SEARCH_DATE - ๊ฒ์ ์์ ๋ ์ง]",
"original_text": "[REQUIRED - ์ซ์๋ฅผ ํฌํจํ ๊ฒ์ ๊ฒฐ๊ณผ ์๋ฌธ]"
},
"per": {
"value": "[SEARCH_RESULT]",
"original_text": "[REQUIRED]"
},
"pbr": {
"value": "[SEARCH_RESULT]",
"original_text": "[REQUIRED]"
},
"dividend_yield": {
"value": "[SEARCH_RESULT]",
"unit": "%",
"original_text": "[REQUIRED]"
},
"verified": true,
"variance": "[CALCULATED - ์ถ์ฒ ๊ฐ ํธ์ฐจ ๊ณ์ฐ]",
"sources": [
{
"name": "๋ค์ด๋ฒ ๊ธ์ต",
"url": "[ACTUAL_URL]",
"value": "[ACTUAL_VALUE]",
"original_text": "[EXACT_QUOTE - ์ด ์ถ์ฒ์์ ์ซ์๊ฐ ํฌํจ๋ ๋ฌธ์ฅ]",
"tier": 1
},
{
"name": "KRX",
"url": "[ACTUAL_URL]",
"value": "[ACTUAL_VALUE]",
"original_text": "[EXACT_QUOTE]",
"tier": 1
}
]
}
โ ๏ธ CRITICAL:
1. `original_text` ํ๋๋ **ํ์**์
๋๋ค. ์์ผ๋ฉด FAIL.
2. `value`๋ ๋ฐ๋์ `original_text` ๋ด์ ์ซ์์ ์ผ์นํด์ผ ํฉ๋๋ค.
3. ์์ ๊ฐ์ ๊ทธ๋๋ก ์ฌ์ฉํ์ง ๋ง์ธ์.
๋ฐ์ดํฐ ์ ํ: ๋ฏธ๊ตญ ์์ฅ ์ฃผ์ (NYSE, NASDAQ)
โ ๏ธ ์๋๋ ๊ฒ์ ํจํด ๊ฐ์ด๋์ ๋๋ค.
search_us_stock()๋ผ๋ ํจ์๋ ์กด์ฌํ์ง ์์ต๋๋ค. ๋ฐ๋์mcp_exa_web_search_exa๋๋mcp_websearch_web_search_exa๋ฅผ ์ง์ ํธ์ถํ์ธ์.
์ง์ ๋ฐ์ดํฐ:
๊ฒ์ ์ฟผ๋ฆฌ ํจํด:
| # | ํจํด | ๋์ ์ถ์ฒ |
|---|---|---|
| 1 | "[ticker] stock price site:finance.yahoo.com" | Yahoo Finance (1์ฐจ) |
| 2 | "[ticker] quote site:bloomberg.com OR site:marketwatch.com" | Bloomberg/MarketWatch (1์ฐจ) |
| 3 | "[ticker] stock site:seekingalpha.com" | Seeking Alpha (2์ฐจ) |
๊ฒ์ฆ ์ ์ฐจ:
์ถ๋ ฅ ์คํค๋ง:
{
"ticker": "NVDA",
"stock_name": "NVIDIA Corporation",
"price": {
"value": "[SEARCH_RESULT - ์น๊ฒ์ ๊ฒฐ๊ณผ๋ก ๋์ฒด]",
"unit": "USD",
"date": "[SEARCH_DATE - ๊ฒ์ ์์ ๋ ์ง]",
"original_text": "[REQUIRED - ์ซ์๋ฅผ ํฌํจํ ๊ฒ์ ๊ฒฐ๊ณผ ์๋ฌธ]"
},
"pe_ratio": {
"value": "[SEARCH_RESULT]",
"original_text": "[REQUIRED]"
},
"pb_ratio": {
"value": "[SEARCH_RESULT]",
"original_text": "[REQUIRED]"
},
"dividend_yield": {
"value": "[SEARCH_RESULT]",
"unit": "%",
"original_text": "[REQUIRED]"
},
"verified": true,
"variance": "[CALCULATED - ์ถ์ฒ ๊ฐ ํธ์ฐจ ๊ณ์ฐ]",
"sources": [
{
"name": "Yahoo Finance",
"url": "[ACTUAL_URL]",
"value": "[ACTUAL_VALUE]",
"original_text": "[EXACT_QUOTE - ์ด ์ถ์ฒ์์ ์ซ์๊ฐ ํฌํจ๋ ๋ฌธ์ฅ]",
"tier": 1
},
{
"name": "Bloomberg",
"url": "[ACTUAL_URL]",
"value": "[ACTUAL_VALUE]",
"original_text": "[EXACT_QUOTE]",
"tier": 1
}
]
}
โ ๏ธ CRITICAL:
1. `original_text` ํ๋๋ **ํ์**์
๋๋ค. ์์ผ๋ฉด FAIL.
2. `value`๋ ๋ฐ๋์ `original_text` ๋ด์ ์ซ์์ ์ผ์นํด์ผ ํฉ๋๋ค.
3. ์์ ๊ฐ์ ๊ทธ๋๋ก ์ฌ์ฉํ์ง ๋ง์ธ์.
๋ฐ์ดํฐ ์ ํ: ETF (์์ฅ์ง์ํ๋)
โ ๏ธ ์๋๋ ๊ฒ์ ํจํด ๊ฐ์ด๋์ ๋๋ค.
search_etf()๋ผ๋ ํจ์๋ ์กด์ฌํ์ง ์์ต๋๋ค. ๋ฐ๋์mcp_exa_web_search_exa๋๋mcp_websearch_web_search_exa๋ฅผ ์ง์ ํธ์ถํ์ธ์.
์ง์ ๋ฐ์ดํฐ:
๊ฒ์ ์ฟผ๋ฆฌ ํจํด:
| ์์ฐ | 1์ฐจ ์ถ์ฒ ์ฟผ๋ฆฌ | 2์ฐจ ์ถ์ฒ ์ฟผ๋ฆฌ |
|---|---|---|
| ํ๊ตญ ETF | "[ETF๋ช
] site:finance.naver.com" | "[ETF๋ช
] site:krx.co.kr" |
| ๋ฏธ๊ตญ ETF | "[ticker] ETF site:etf.com" | "[ticker] site:finance.yahoo.com" |
์ด์ฉ์ฌ ๊ณต์ ํ์ด์ง (ํ์ ํ์ธ):
| ์ด์ฉ์ฌ | URL ํจํด | ํ์ธ ๋ฐ์ดํฐ |
|---|---|---|
| ์ผ์ฑ์์ฐ์ด์ฉ | site:samsungfund.com | ์ด๋ณด์, ์ด์ฉ๋ณด์ |
| ๋ฏธ๋์์ ์์ฐ์ด์ฉ | site:miraeassetfund.co.kr | ์ด๋ณด์, ์ด์ฉ๋ณด์ |
| BlackRock | site:ishares.com | Expense Ratio |
| Vanguard | site:vanguard.com | Expense Ratio |
๊ฒ์ฆ ์ ์ฐจ:
์ถ๋ ฅ ์คํค๋ง:
{
"etf_code": "360750",
"etf_name": "TIGER ๋ฏธ๊ตญS&P500",
"nav": {
"value": "[SEARCH_RESULT - ์น๊ฒ์ ๊ฒฐ๊ณผ๋ก ๋์ฒด]",
"unit": "KRW",
"date": "[SEARCH_DATE - ๊ฒ์ ์์ ๋ ์ง]",
"original_text": "[REQUIRED - ์ซ์๋ฅผ ํฌํจํ ๊ฒ์ ๊ฒฐ๊ณผ ์๋ฌธ]"
},
"expense_ratio": {
"value": "[SEARCH_RESULT]",
"unit": "%",
"original_text": "[REQUIRED - ์ด์ฉ์ฌ ๊ณต์ ํ์ด์ง ์๋ฌธ]",
"source": "์ด์ฉ์ฌ ๊ณต์"
},
"tracking_error": {
"value": "[SEARCH_RESULT]",
"unit": "%",
"original_text": "[REQUIRED]"
},
"dividend_yield": {
"value": "[SEARCH_RESULT]",
"unit": "%",
"original_text": "[REQUIRED]"
},
"aum": {
"value": "[SEARCH_RESULT]",
"unit": "KRW",
"original_text": "[REQUIRED]"
},
"verified": true,
"variance": "[CALCULATED - ์ถ์ฒ ๊ฐ ํธ์ฐจ ๊ณ์ฐ]",
"sources": [
{
"name": "์ผ์ฑ์์ฐ์ด์ฉ",
"url": "[ACTUAL_URL]",
"value": "[ACTUAL_VALUE]",
"original_text": "[EXACT_QUOTE - ์ด ์ถ์ฒ์์ ์ซ์๊ฐ ํฌํจ๋ ๋ฌธ์ฅ]",
"tier": 1,
"official": true
},
{
"name": "๋ค์ด๋ฒ ๊ธ์ต",
"url": "[ACTUAL_URL]",
"value": "[ACTUAL_VALUE]",
"original_text": "[EXACT_QUOTE]",
"tier": 1,
"official": false
}
]
}
โ ๏ธ CRITICAL:
1. `original_text` ํ๋๋ **ํ์**์
๋๋ค. ์์ผ๋ฉด FAIL.
2. `value`๋ ๋ฐ๋์ `original_text` ๋ด์ ์ซ์์ ์ผ์นํด์ผ ํฉ๋๋ค.
3. ์ด๋ณด์๋ ๋ฐ๋์ ์ด์ฉ์ฌ ๊ณต์ ํ์ด์ง์์ ํ์ธํด์ผ ํฉ๋๋ค.
4. ์์ ๊ฐ์ ๊ทธ๋๋ก ์ฌ์ฉํ์ง ๋ง์ธ์.
| ๋ฐ์ดํฐ | ์ถ์ฒ | URL |
|---|---|---|
| ์ฃผ์ ์์ธ | ๋ค์ด๋ฒ ๊ธ์ต | finance.naver.com |
| ์ฃผ์ ์์ธ | KRX | data.krx.co.kr, kind.krx.co.kr |
| ๊ณต์ ์ ๋ณด | DART | dart.fss.or.kr |
| ETF ์ ๋ณด | ์ผ์ฑ์์ฐ์ด์ฉ | samsungfund.com |
| ETF ์ ๋ณด | ๋ฏธ๋์์ ์์ฐ์ด์ฉ | miraeassetfund.co.kr |
| ๋ฐ์ดํฐ | ์ถ์ฒ | URL |
|---|---|---|
| ์ฃผ์ ์์ธ | Yahoo Finance | finance.yahoo.com |
| ์ฃผ์ ์์ธ | Bloomberg | bloomberg.com |
| ์ฃผ์ ๋ถ์ | MarketWatch | marketwatch.com |
| ETF ์ ๋ณด | ETF.com | etf.com |
| ETF ์ ๋ณด | BlackRock (iShares) | ishares.com |
| ETF ์ ๋ณด | Vanguard | vanguard.com |
| ์ถ์ฒ | URL | ์ปค๋ฒ๋ฆฌ์ง |
|---|---|---|
| ์ผ์ฑ์ฆ๊ถ | securities.samsung.com | ํ๊ตญ ์ฃผ์ |
| ๋ฏธ๋์์ ์ฆ๊ถ | securities.miraeasset.com | ํ๊ตญ ์ฃผ์ |
| ํค์์ฆ๊ถ | kiwoom.com | ํ๊ตญ ์ฃผ์ |
| NHํฌ์์ฆ๊ถ | nhqv.com | ํ๊ตญ ์ฃผ์ |
| ์ถ์ฒ | URL | ์ปค๋ฒ๋ฆฌ์ง |
|---|---|---|
| Seeking Alpha | seekingalpha.com | ๋ฏธ๊ตญ ์ฃผ์ ๋ถ์ |
| Morningstar | morningstar.com | ํ๋/ETF ๋ถ์ |
| CNBC | cnbc.com | ๋ฏธ๊ตญ ์์ฅ ๋ด์ค |
| ์ถ์ฒ | URL | ์ฉ๋ |
|---|---|---|
| ํ๊ตญ๊ฒฝ์ | hankyung.com | ํ๊ตญ ์ฃผ์ ๋ด์ค |
| ๋งค์ผ๊ฒฝ์ | mk.co.kr | ํ๊ตญ ์ฃผ์ ๋ด์ค |
| ์ฐํฉ๋ด์ค | yna.co.kr | ํ๊ตญ ๊ฒฝ์ ์๋ณด |
| ์ถ์ฒ | URL | ์ฉ๋ |
|---|---|---|
| Reuters | reuters.com | ๊ธ๋ก๋ฒ ์ฃผ์ ๋ด์ค |
| Financial Times | ft.com | ๊ธ๋ก๋ฒ ๊ธ์ต ๋ถ์ |
| Wall Street Journal | wsj.com | ๋ฏธ๊ตญ ์ฃผ์ ๋ด์ค |
์ ๋ ์ฌ์ฉ ๊ธ์ง ์ถ์ฒ:
| ์ ํ | ์ด์ | ์์ |
|---|---|---|
| ๊ฐ์ธ ๋ธ๋ก๊ทธ | ์ ๋ขฐ๋ ๋ฏธ๊ฒ์ฆ | tistory, naver blog, medium ๊ฐ์ธ ๊ธ |
| ์ปค๋ฎค๋ํฐ | ๋น์ ๋ฌธ๊ฐ ์๊ฒฌ | ๋ค์ด๋ฒ ์นดํ, ๋ค์ ์นดํ, Reddit r/wallstreetbets, DC์ธ์ฌ์ด๋ |
| YouTube | ๊ฒ์ฆ ๋ถ๊ฐ | ๊ฐ์ธ ์ ํ๋ฒ ์ฃผ์ ๋ถ์ |
| ์ํคํผ๋์ | ์ค์๊ฐ ๋ฐ์ดํฐ ๋ถ์ ํ | wikipedia.org (์ค์๊ฐ ์ฃผ๊ฐ์ฉ) |
| ์์ ๋ฏธ๋์ด | ํ์ธ ๋ถ๊ฐ | Twitter/X, Facebook |
| ๋ฐ์ดํฐ ์ ํ | ์ต์ ์ถ์ฒ ์ | ํ์ฉ ์ค์ฐจ | ์ฐ์ ์ถ์ฒ |
|---|---|---|---|
| ์ฃผ๊ฐ | 2๊ฐ | ยฑ5% | 1์ฐจ ์ถ์ฒ (๋ค์ด๋ฒ/Yahoo) |
| PER/PBR | 2๊ฐ | ยฑ5% | 1์ฐจ ์ถ์ฒ |
| ๋ฐฐ๋น๋ฅ | 2๊ฐ | ยฑ5% | 1์ฐจ ์ถ์ฒ |
| ์ด๋ณด์ | 1๊ฐ (์ด์ฉ์ฌ) | 0% | ์ด์ฉ์ฌ ๊ณต์ ํ์ด์ง |
| ์๊ฐ์ด์ก | 2๊ฐ | ยฑ5% | 1์ฐจ ์ถ์ฒ |
1. ์ต์ 2๊ฐ ์ถ์ฒ์์ ๋ฐ์ดํฐ ์์ง
2. ๊ฐ ์ถ์ฒ์์ original_text ์ถ์ถ
3. ์์น ์ผ์น ํ์ธ (ยฑ5% ์ด๋ด)
4. ๋ถ์ผ์น ์:
- 5% ์ด๋ด: ํ๊ท ๊ฐ ์ฌ์ฉ
- 5% ์ด๊ณผ: ๊ฐ์ฅ ์ต์ ์ถ์ฒ ์ฐ์
- 10% ์ด๊ณผ: FAIL ๋ฐํ
5. verified: true/false ์ค์
| ํธ์ฐจ | ๋์ |
|---|---|
| 0~5% | ํ๊ท ๊ฐ ์ฌ์ฉ, verified: true |
| 5~10% | ์ต์ ์ถ์ฒ ์ฐ์ , verified: true, ๊ฒฝ๊ณ ํฌํจ |
| 10%+ | FAIL ๋ฐํ, verified: false, ์๋ ํ์ธ ์์ฒญ |
| ์คํจ ์ ํ | ์ฝ๋ | ๋์ |
|---|---|---|
| ์ถ์ฒ ๋ถ์กฑ | INSUFFICIENT_SOURCES | ์ถ๊ฐ ๊ฒ์ ์๋ (์ต๋ 3ํ) |
| ๊ฐ ๋ถ์ผ์น | VALUE_MISMATCH | ๋ฒ์๋ก ํํ ๋๋ 1์ฐจ ์ถ์ฒ ์ฐ์ |
| ๋ ์ง ๋ถ์ผ์น | DATE_MISMATCH | ๊ฐ์ฅ ์ต์ ๋ ์ง ์ถ์ฒ ์ฐ์ |
| 1์ฐจ ์ถ์ฒ ์์ | NO_PRIMARY_SOURCE | ๊ฒฝ๊ณ + 2์ฐจ ์ถ์ฒ๋ก ์งํ |
| ์ ์ฒด ์คํจ | COMPLETE_FAILURE | FAIL ๋ฐํ, ์๋ ํ์ธ ์์ฒญ |
{
"stock_code": "005930",
"stock_name": "์ผ์ฑ์ ์",
"price": null,
"verified": false,
"error": {
"code": "VALUE_MISMATCH",
"reason": "์ถ์ฒ ๊ฐ 8.2% ์ฐจ์ด (ํ์ฉ: ยฑ5%)",
"details": {
"source1": {"name": "๋ค์ด๋ฒ ๊ธ์ต", "value": 58000},
"source2": {"name": "KRX", "value": 62800}
}
},
"recommendation": "์๋ ํ์ธ ํ์"
}
# stock-analyzer ์์ด์ ํธ
## ๋ฐ์ดํฐ ์์ง
1. stock-data-verifier ์คํฌ ๋ก๋ ํ์ธ (๊ฒ์ ํจํด ๊ฐ์ด๋๋ก ์ฐธ์กฐ)
2. ์ผ์ฑ์ ์ ๋ฐ์ดํฐ ์์ง:
- mcp_exa_web_search_exa(query="์ผ์ฑ์ ์ ์ฃผ๊ฐ site:finance.naver.com") **์ง์ ํธ์ถ**
- ๊ฒ์ ๊ฒฐ๊ณผ์์ original_text ์ถ์ถ
- verified: true ํ์ธ
3. NVIDIA ๋ฐ์ดํฐ ์์ง:
- mcp_exa_web_search_exa(query="NVDA stock price site:finance.yahoo.com") **์ง์ ํธ์ถ**
- ๊ฒ์ ๊ฒฐ๊ณผ์์ original_text ์ถ์ถ
- verified: true ํ์ธ
## ๊ฒ์ฆ ์คํจ ์
verified: false์ธ ๊ฒฝ์ฐ:
- ํด๋น ์ข
๋ชฉ์ "๋ฐ์ดํฐ ์์ง ์คํจ" ๋ช
์
- ์ถ์ ๊ฐ ์์ฑ ๊ธ์ง
- ์๋ฌ ์ฝ๋ ์ ๋ฌ
version: "1.0"
created: "2026-01-14"
updated: "2026-01-14"
author: "Claude"
purpose: "์ฃผ์/ETF ๋ฐ์ดํฐ ํ๊ฐ ๋ฐฉ์ง ํ์คํ"
dependencies:
- mcp_exa_web_search_exa
- mcp_websearch_web_search_exa
- WebFetch
consumers:
- stock-analyzer
- etf-analyzer
- portfolio-builder
changes_v1.0:
- "์ต์ด ์์ฑ"
- "ํ๊ตญ/๋ฏธ๊ตญ ์ฃผ์, ETF ๊ฒ์ ํ๋กํ ์ฝ ์ ์"
- "original_text ํ์ํ"
- "2๊ฐ ์ถ์ฒ ๊ต์ฐจ๊ฒ์ฆ (ยฑ5% ํ์ฉ)"