korean-capital-gains-tax-mcp

pchuri/korean-capital-gains-tax-mcp

3.1

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 ๋„๊ตฌ ๋ชฉ๋ก

  1. calculate_capital_gains_tax - ์–‘๋„์†Œ๋“์„ธ ๊ณ„์‚ฐ
  2. validate_property_info - ์ž…๋ ฅ ๋ฐ์ดํ„ฐ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ
  3. 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์ฃผํƒ: ํŠน๋ณ„ ๊ทœ์ • ์ ์šฉ
  • ๋‹ค์ฃผํƒ์ž: ์ค‘๊ณผ์„ธ์œจ ์ ์šฉ

๋ถ€๋™์‚ฐ ์œ ํ˜•๋ณ„ ๊ณ„์‚ฐ

  • ์•„ํŒŒํŠธ/์ฃผํƒ: ์ฃผ๊ฑฐ์šฉ ๋ถ€๋™์‚ฐ ํŠน๋ก€
  • ํ† ์ง€: ํ† ์ง€ ๊ด€๋ จ ํŠน๋ณ„ ๊ทœ์ •
  • ์ƒ์—…์šฉ: ์‚ฌ์—…์šฉ ๋ถ€๋™์‚ฐ ์„ธ์ œ

ํŠน์ˆ˜ ์ƒํ™ฉ

  • ์กฐ์ •๋Œ€์ƒ์ง€์—ญ: ์ •๋ถ€ ์ง€์ • ์ง€์—ญ๋ณ„ ์ถ”๊ฐ€ ๊ทœ์ œ
  • ์žฅ๊ธฐ์ž„๋Œ€์ฃผํƒ: ์ž„๋Œ€์ฃผํƒ ํŠน๋ก€
  • ๋‹จ๊ธฐ๋ณด์œ : ์ค‘๊ณผ์„ธ ์ ์šฉ

โš–๏ธ ๋ฒ•์  ๊ณ ์ง€

์ค‘์š”: ๋ณธ ์†Œํ”„ํŠธ์›จ์–ด๋Š” ์ •๋ณด ์ œ๊ณต ๋ชฉ์ ์œผ๋กœ๋งŒ ์‚ฌ์šฉ๋˜๋ฉฐ, ์‹ค์ œ ์„ธ๋ฌด ์‹ ๊ณ ๋‚˜ ๋ฒ•์  ๊ฒฐ์ •์„ ์œ„ํ•ด์„œ๋Š” ๋ฐ˜๋“œ์‹œ ์„ธ๋ฌด ์ „๋ฌธ๊ฐ€์˜ ์ƒ๋‹ด์„ ๋ฐ›์œผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. ์„ธ๋ฒ•์€ ๋ณต์žกํ•˜๊ณ  ๊ฐœ์ธ๋ณ„ ์ƒํ™ฉ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿค ๊ธฐ์—ฌํ•˜๊ธฐ

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. 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 - ์ž์„ธํ•œ ๋‚ด์šฉ์€ ํŒŒ์ผ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

๐Ÿ“ž ์ง€์›

๐Ÿ—บ๏ธ ๋กœ๋“œ๋งต

  • ์ƒ์†/์ฆ์—ฌ ๊ด€๋ จ ํŠน๋ก€ ์ถ”๊ฐ€
  • ๋ถ€๋™์‚ฐ ๊ฐœ๋ฐœ์—…์ž ๊ณผ์„ธ ํŠน๋ก€
  • ํ•ด์™ธ๋ถ€๋™์‚ฐ ์–‘๋„์†Œ๋“์„ธ ๊ณ„์‚ฐ
  • ์›น ์ธํ„ฐํŽ˜์ด์Šค ๊ฐœ๋ฐœ
  • ๋‹ค๊ตญ์–ด ์ง€์› (์˜์–ด)

Made with โค๏ธ for Korean Real Estate