mcp_business_check_server

bamin0422/mcp_business_check_server

3.2

If you are the rightful owner of mcp_business_check_server 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 MCP Business Check Server is designed to verify and retrieve information about business registration numbers using the Model Context Protocol (MCP).

Tools
  1. check_business_number

    Verifies the authenticity of a business registration number and retrieves related information.

  2. register_api_key

    Registers an API key for accessing public data portal services.

MCP Business Check Server

μ‚¬μ—…μžλ“±λ‘λ²ˆν˜Έ μ§„μœ„ 및 정보 쑰회 MCP (Model Context Protocol) μ„œλ²„μž…λ‹ˆλ‹€.

πŸ—οΈ μ•„ν‚€ν…μ²˜

이 ν”„λ‘œμ νŠΈλŠ” MVC (Model-View-Controller) νŒ¨ν„΄μ„ μ‚¬μš©ν•˜μ—¬ κ΅¬μ‘°ν™”λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€:

src/
β”œβ”€β”€ models/          # 데이터 λͺ¨λΈ μ •μ˜
β”œβ”€β”€ services/        # λΉ„μ¦ˆλ‹ˆμŠ€ 둜직
β”œβ”€β”€ controllers/     # μš”μ²­/응닡 처리
β”œβ”€β”€ middleware/      # 미듀웨어 (인증, 검증, λ‘œκΉ…)
β”œβ”€β”€ routes/          # λΌμš°ν„° μ •μ˜
β”œβ”€β”€ utils/           # μœ ν‹Έλ¦¬ν‹° ν•¨μˆ˜
└── server.ts        # 메인 μ• ν”Œλ¦¬μΌ€μ΄μ…˜

πŸš€ κΈ°λŠ₯

MCP 도ꡬ

  • check_business_number: μ‚¬μ—…μžλ“±λ‘λ²ˆν˜Έ μ§„μœ„ 확인 및 정보 쑰회
  • register_api_key: 곡곡데이터포털 API 인증킀 등둝

REST API μ—”λ“œν¬μΈνŠΈ

  • GET /: API 정보
  • GET /health: μ„œλ²„ μƒνƒœ 확인
  • POST /register-key: 인증킀 등둝
  • GET /check-business/:bizNumber: μ‚¬μ—…μžλ“±λ‘λ²ˆν˜Έ 확인

πŸ“‹ μš”κ΅¬μ‚¬ν•­

  • Node.js 18+
  • pnpm
  • 곡곡데이터포털 API 인증킀

πŸ› οΈ μ„€μΉ˜ 및 μ‹€ν–‰

둜컬 개발

# μ˜μ‘΄μ„± μ„€μΉ˜
pnpm install

# TypeScript λΉŒλ“œ
pnpm build

# 개발 λͺ¨λ“œ μ‹€ν–‰ (Express + MCP)
pnpm start

# MCP μ „μš© λͺ¨λ“œ μ‹€ν–‰
MCP_SERVER=true pnpm start

Docker μ‹€ν–‰

# Docker 이미지 λΉŒλ“œ
docker build -t mcp-business-check-server .

# Docker μ»¨ν…Œμ΄λ„ˆ μ‹€ν–‰
docker run -it mcp-business-check-server

πŸ”§ μ„€μ •

ν™˜κ²½ λ³€μˆ˜

  • PORT: Express μ„œλ²„ 포트 (κΈ°λ³Έκ°’: 3000)
  • MCP_SERVER: MCP μ „μš© λͺ¨λ“œ ν™œμ„±ν™” (true/false)
  • NODE_ENV: μ‹€ν–‰ ν™˜κ²½ (development/production)

인증킀 등둝

# REST API둜 등둝
curl -X POST http://localhost:3000/register-key \
  -H "Content-Type: application/json" \
  -d '{"apiKey": "your-api-key-here"}'

# MCP λ„κ΅¬λ‘œ 등둝
# register_api_key 도ꡬ μ‚¬μš©

πŸ§ͺ ν…ŒμŠ€νŠΈ

# API 정보 확인
curl http://localhost:3000/

# ν—¬μŠ€μ²΄ν¬
curl http://localhost:3000/health

# μ‚¬μ—…μžλ“±λ‘λ²ˆν˜Έ 확인
curl http://localhost:3000/check-business/2208102810

πŸš€ Smithery AI 배포

이 ν”„λ‘œμ νŠΈλŠ” Smithery AIμ—μ„œ 배포할 수 μžˆλ„λ‘ κ΅¬μ„±λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

배포 파일

  • Dockerfile: Docker μ»¨ν…Œμ΄λ„ˆ λΉŒλ“œ μ„€μ •
  • smithery.yaml: Smithery AI 배포 μ„€μ •
  • .dockerignore: Docker λΉŒλ“œ μ‹œ μ œμ™Έ 파일

μ£Όμš” μˆ˜μ •μ‚¬ν•­

  1. stdout/stderr 뢄리: MCP JSON-RPC ν”„λ‘œν† μ½œκ³Ό 좩돌 λ°©μ§€
  2. ν™˜κ²½λ³€μˆ˜ 지원: PORT ν™˜κ²½λ³€μˆ˜ μ œλŒ€λ‘œ 처리
  3. MCP μ „μš© λͺ¨λ“œ: Express μ„œλ²„ λΉ„ν™œμ„±ν™” μ˜΅μ…˜

πŸ“ ν”„λ‘œμ νŠΈ ꡬ쑰

Models (λͺ¨λΈ)

  • BusinessInfo.ts: μ‚¬μ—…μž 정보 μΈν„°νŽ˜μ΄μŠ€
  • Config.ts: μ„€μ • κ΄€λ ¨ μΈν„°νŽ˜μ΄μŠ€

Services (μ„œλΉ„μŠ€)

  • BusinessCheckService.ts: μ‚¬μ—…μžλ“±λ‘λ²ˆν˜Έ 확인 λΉ„μ¦ˆλ‹ˆμŠ€ 둜직
  • ConfigService.ts: μ„€μ • 관리
  • MCPService.ts: MCP μ„œλ²„ 관리

Controllers (컨트둀러)

  • BusinessController.ts: μ‚¬μ—…μž κ΄€λ ¨ μš”μ²­ 처리
  • ConfigController.ts: μ„€μ • κ΄€λ ¨ μš”μ²­ 처리
  • HealthController.ts: ν—¬μŠ€μ²΄ν¬ μš”μ²­ 처리

Middleware (미듀웨어)

  • auth.ts: 인증 처리
  • validation.ts: μž…λ ₯ μœ νš¨μ„± 검증
  • common.ts: CORS, λ‘œκΉ…, μ—λŸ¬ 처리

Routes (λΌμš°ν„°)

  • business.ts: μ‚¬μ—…μž κ΄€λ ¨ λΌμš°ν„°
  • config.ts: μ„€μ • κ΄€λ ¨ λΌμš°ν„°
  • health.ts: ν—¬μŠ€μ²΄ν¬ λΌμš°ν„°

Utils (μœ ν‹Έλ¦¬ν‹°)

  • errors.ts: μ»€μŠ€ν…€ μ—λŸ¬ 클래슀
  • validators.ts: μœ νš¨μ„± 검증 ν•¨μˆ˜

πŸ” API 응닡 μ˜ˆμ‹œ

μ‚¬μ—…μžλ“±λ‘λ²ˆν˜Έ 확인 응닡

{
  "isValid": true,
  "businessName": "ν…ŒμŠ€νŠΈ κΈ°μ—…",
  "ownerName": "홍길동",
  "address": "μ„œμšΈμ‹œ 강남ꡬ",
  "status": "ꡭ세청에 λ“±λ‘λœ μ‚¬μ—…μžμž…λ‹ˆλ‹€.",
  "raw": {
    "b_no": "2208102810",
    "b_stt": "κ³„μ†μ‚¬μ—…μž",
    "tax_type": "ꡭ세청에 λ“±λ‘λœ μ‚¬μ—…μžμž…λ‹ˆλ‹€."
  },
  "timestamp": "2025-07-20T04:13:28.985Z",
  "requestId": "vla2g0r4y"
}

🀝 κΈ°μ—¬

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“„ λΌμ΄μ„ μŠ€

이 ν”„λ‘œμ νŠΈλŠ” MIT λΌμ΄μ„ μŠ€ ν•˜μ— λ°°ν¬λ©λ‹ˆλ‹€.

πŸ“ž 지원

λ¬Έμ œκ°€ λ°œμƒν•˜κ±°λ‚˜ 질문이 μžˆμœΌμ‹œλ©΄ 이슈λ₯Ό 생성해 μ£Όμ„Έμš”.