pchuri/korean-capital-gains-tax-mcp
If you are the rightful owner of korean-capital-gains-tax-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Korean Capital Gains Tax Calculator for Real Estate is a Model Context Protocol (MCP) server designed to help users calculate capital gains tax on real estate transactions in South Korea.
ํ๊ตญ ๋ถ๋์ฐ ์๋์๋์ธ ๊ณ์ฐ๊ธฐ MCP ์๋ฒ
Korean Capital Gains Tax Calculator for Real Estate - Model Context Protocol Server
TypeScript๋ก ๊ตฌํ๋ ํ๊ตญ ๋ถ๋์ฐ ์๋์๋์ธ ๊ณ์ฐ์ ์ํ MCP ์๋ฒ์ ๋๋ค. ๋ณต์กํ ํ๊ตญ ์ธ๋ฒ์ ์ ํํ ์ ์ฉํ์ฌ ์๋์๋์ธ๋ฅผ ๊ณ์ฐํ๊ณ , ์ธ์จ, ๊ณต์ , ๋น๊ณผ์ธ ์๊ฑด ๋ฑ์ ์์ธํ ์ค๋ช ํด๋๋ฆฝ๋๋ค.
๐ ์ฃผ์ ๊ธฐ๋ฅ
- ์ ํํ ์ธ์ก ๊ณ์ฐ: ํ๊ตญ ์ธ๋ฒ์ ๋ฐ๋ฅธ ์ ๋ฐํ ์๋์๋์ธ ๊ณ์ฐ
- ๋ค์ํ ๋ถ๋์ฐ ์ ํ ์ง์: ์ํํธ, ์ฃผํ, ํ ์ง, ์์ ์ฉ ๋ถ๋์ฐ
- ๋ณต์กํ ์ธ์ ์ ์ฉ: 1์ธ๋1์ฃผํ ๋น๊ณผ์ธ, ์ฅ๊ธฐ๋ณด์ ํน๋ณ๊ณต์ , ๋ค์ฃผํ์ ์ค๊ณผ์ธ
- ์์ธํ ๊ณ์ฐ ๊ณผ์ : ๋จ๊ณ๋ณ ๊ณ์ฐ ๊ณผ์ ๊ณผ ์ ์ฉ ๋ฒ๋ น ์ค๋ช
- ์ ๋ ฅ ๋ฐ์ดํฐ ๊ฒ์ฆ: ํฌ๊ด์ ์ธ ์ ํจ์ฑ ๊ฒ์ฌ ๋ฐ ์ค๋ฅ ๋ฉ์์ง
- MCP ํ์ค ์ค์: Model Context Protocol์ ํตํ ์์ ํ๊ณ ํ์คํ๋ ์ธํฐํ์ด์ค
๐ ๋น ๋ฅธ ์์
์ค์น ๋ฐ ๋น๋
git clone https://github.com/pchuri/korean-capital-gains-tax-mcp.git
cd korean-capital-gains-tax-mcp
npm install
npm run build
Claude Desktop ์ค์
1๋จ๊ณ: Claude Desktop ์ค์ ํ์ผ ํธ์ง
# macOS/Linux
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
# Windows
notepad %APPDATA%/Claude/claude_desktop_config.json
2๋จ๊ณ: ๋ค์ ์ค์ ์ถ๊ฐ (๊ฒฝ๋ก๋ฅผ ์ค์ ํ๋ก์ ํธ ์์น๋ก ์์ )
{
"mcpServers": {
"korean-capital-gains-tax-dev": {
"command": "/opt/homebrew/bin/npm",
"args": ["run", "dev", "--prefix", "/Users/user/dev/korean-capital-gains-tax-mcp/"],
"env": {
"NODE_ENV": "development"
}
}
}
}
ํ:
which npm
๋ช ๋ น์ด๋ก npm ๊ฒฝ๋ก๋ฅผ ํ์ธํ๊ณ ,--prefix
ํ๋๊ทธ๋ก ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ๋ฅผ ๋ช ์ํ์ธ์.
3๋จ๊ณ: Claude Desktop ์ฌ์์
๐ ์์ธํ ์ค์ ๊ฐ์ด๋: ๋ฅผ ์ฐธ์กฐํ์ธ์.
๋ ๋ฆฝ ์คํ (๊ฐ๋ฐ/ํ ์คํธ์ฉ)
npm start # ํ๋ก๋์
๋ชจ๋
npm run dev # ๊ฐ๋ฐ ๋ชจ๋ (์๋ ์ฌ์์)
๐ ์ฌ์ฉ๋ฒ
Claude Desktop์์ ์ฌ์ฉํ๊ธฐ
์ค์ ์ด ์๋ฃ๋๋ฉด Claude Desktop์์ ๋ค์๊ณผ ๊ฐ์ด ์ฌ์ฉํ ์ ์์ต๋๋ค:
๐ก ์๋์๋์ธ ๊ณ์ฐ ์์ฒญ:
๋ค์ ์กฐ๊ฑด์ผ๋ก ์๋์๋์ธ๋ฅผ ๊ณ์ฐํด์ฃผ์ธ์:
๋ถ๋์ฐ: ๊ฐ๋จ๊ตฌ ์ํํธ, ์ทจ๋๊ฐ 8์ต(2017.1.1), ์ ์ฉ๋ฉด์ 80ใก
๊ฑฐ๋: ์๋๊ฐ 15์ต(2024.12.1), ์ค๊ฐ์์๋ฃ 800๋ง์
์์ ์: 1์ธ๋1์ฃผํ, 7๋
๊ฐ ๊ฑฐ์ฃผ
๐ ๋ฐ์ดํฐ ๊ฒ์ฆ ์์ฒญ:
๋ค์ ์ ๋ณด๊ฐ ์ฌ๋ฐ๋ฅธ์ง ๊ฒ์ฆํด์ฃผ์ธ์:
- ์ํํธ ์ทจ๋: 2020๋
6์, 5์ต์
- ์๋: 2024๋
1์, 7์ต์
- ๋ค์ฃผํ์
๐ ๊ณ์ฐ ๊ณผ์ ์ค๋ช ์์ฒญ:
1์ธ๋1์ฃผํ ์๋์๋์ธ ๊ณ์ฐ ๊ณผ์ ์ ์ค๋ช
ํด์ฃผ์ธ์.
๋ณด์ 5๋
, ๊ฑฐ์ฃผ 3๋
์ธ ๊ฒฝ์ฐ์ ์ธ์จ๊ณผ ๊ณต์ ๋ฅผ ์๋ ค์ฃผ์ธ์.
MCP ๋๊ตฌ ๋ชฉ๋ก
calculate_capital_gains_tax
- ์๋์๋์ธ ๊ณ์ฐvalidate_property_info
- ์ ๋ ฅ ๋ฐ์ดํฐ ์ ํจ์ฑ ๊ฒ์ฌexplain_calculation
- ๊ณ์ฐ ๊ณผ์ ๋ฐ ๋ฒ๋ น ์ค๋ช
API ์ฌ์ฉ ์์ (๊ฐ๋ฐ์์ฉ)
{
"tool": "calculate_capital_gains_tax",
"arguments": {
"property": {
"type": "apartment",
"acquisitionPrice": 800000000,
"acquisitionDate": "2017-01-01",
"location": {
"city": "์์ธํน๋ณ์",
"district": "๊ฐ๋จ๊ตฌ",
"isAdjustmentTargetArea": true
},
"area": {
"totalArea": 100,
"exclusiveArea": 80
}
},
"transaction": {
"transferPrice": 1500000000,
"transferDate": "2024-12-01",
"necessaryExpenses": {
"brokerageFee": 8000000,
"acquisitionTax": 10000000
}
},
"owner": {
"householdType": "1household1house",
"residencePeriod": {
"start": "2017-01-01",
"end": "2024-12-01"
}
}
}
}
๐ ๋ฌธ์
- - Claude Desktop ์ค์ ๋ฐฉ๋ฒ
- - ์ค์ ์ฌ์ฉ ์ฌ๋ก์ ๋ํ ์์
- - ์์ธํ API ๋ฌธ์
- - ๋ค์ํ ์ฌ์ฉ ์ฌ๋ก
- - ํ๊ตญ ์๋์๋์ธ ๋ฒ๋ น ์ค๋ช
- - ๊ฐ๋ฐ์๋ฅผ ์ํ ๊ฐ์ด๋๋ผ์ธ
๐๏ธ ์ํคํ ์ฒ
src/
โโโ server.ts # MCP ์๋ฒ ๋ฉ์ธ ์ํธ๋ฆฌ ํฌ์ธํธ
โโโ types/ # TypeScript ํ์
์ ์
โโโ calculators/ # ์ธ์ก ๊ณ์ฐ ๋ก์ง
โโโ utils/ # ์ ํธ๋ฆฌํฐ ํจ์๋ค
โโโ tools/ # MCP ๋๊ตฌ ๊ตฌํ
๐งช ํ ์คํธ
# ์ ์ฒด ํ
์คํธ ์คํ
npm test
# ํ
์คํธ ์ปค๋ฒ๋ฆฌ์ง ํ์ธ
npm run test:coverage
# ํ
์คํธ ๊ฐ์ ๋ชจ๋
npm run test:watch
๐ง ์ง์ํ๋ ๊ณ์ฐ
์ธ๋ ๊ตฌ์ฑ๋ณ ๊ณ์ฐ
- 1์ธ๋ 1์ฃผํ: ๋น๊ณผ์ธ ํํ ๋ฐ ๊ฑฐ์ฃผ์๊ฑด ์ ์ฉ
- ์ผ์์ 2์ฃผํ: ํน๋ณ ๊ท์ ์ ์ฉ
- ๋ค์ฃผํ์: ์ค๊ณผ์ธ์จ ์ ์ฉ
๋ถ๋์ฐ ์ ํ๋ณ ๊ณ์ฐ
- ์ํํธ/์ฃผํ: ์ฃผ๊ฑฐ์ฉ ๋ถ๋์ฐ ํน๋ก
- ํ ์ง: ํ ์ง ๊ด๋ จ ํน๋ณ ๊ท์
- ์์ ์ฉ: ์ฌ์ ์ฉ ๋ถ๋์ฐ ์ธ์
ํน์ ์ํฉ
- ์กฐ์ ๋์์ง์ญ: ์ ๋ถ ์ง์ ์ง์ญ๋ณ ์ถ๊ฐ ๊ท์
- ์ฅ๊ธฐ์๋์ฃผํ: ์๋์ฃผํ ํน๋ก
- ๋จ๊ธฐ๋ณด์ : ์ค๊ณผ์ธ ์ ์ฉ
โ๏ธ ๋ฒ์ ๊ณ ์ง
์ค์: ๋ณธ ์ํํธ์จ์ด๋ ์ ๋ณด ์ ๊ณต ๋ชฉ์ ์ผ๋ก๋ง ์ฌ์ฉ๋๋ฉฐ, ์ค์ ์ธ๋ฌด ์ ๊ณ ๋ ๋ฒ์ ๊ฒฐ์ ์ ์ํด์๋ ๋ฐ๋์ ์ธ๋ฌด ์ ๋ฌธ๊ฐ์ ์๋ด์ ๋ฐ์ผ์๊ธฐ ๋ฐ๋๋๋ค. ์ธ๋ฒ์ ๋ณต์กํ๊ณ ๊ฐ์ธ๋ณ ์ํฉ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง ์ ์์ต๋๋ค.
๐ค ๊ธฐ์ฌํ๊ธฐ
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
๊ฐ๋ฐ ํ๊ฒฝ ์ค์
# ์์กด์ฑ ์ค์น
npm install
# ๋ฆฐํธ ๊ฒ์ฌ
npm run lint
# ์ฝ๋ ํฌ๋งทํ
npm run format
# ํ์
์ฒดํฌ
npm run typecheck
๐ ์๊ตฌ์ฌํญ
- Node.js 18.0.0 ์ด์
- TypeScript 5.2 ์ด์
- MCP SDK 0.5 ์ด์
๐ ๋ผ์ด์ ์ค
MIT License - ์์ธํ ๋ด์ฉ์ ํ์ผ์ ์ฐธ์กฐํ์ธ์.
๐ ์ง์
- ์ด์ ๋ฆฌํฌํธ: GitHub Issues
- ๋ฌธ์: GitHub Discussions
๐บ๏ธ ๋ก๋๋งต
- ์์/์ฆ์ฌ ๊ด๋ จ ํน๋ก ์ถ๊ฐ
- ๋ถ๋์ฐ ๊ฐ๋ฐ์ ์ ๊ณผ์ธ ํน๋ก
- ํด์ธ๋ถ๋์ฐ ์๋์๋์ธ ๊ณ์ฐ
- ์น ์ธํฐํ์ด์ค ๊ฐ๋ฐ
- ๋ค๊ตญ์ด ์ง์ (์์ด)
Made with โค๏ธ for Korean Real Estate