nts-business-verification
# data-go-mcp-servers
**한국어** · [English](README.en.md)
한국 공공데이터 API 를 MCP(Model Context Protocol) 서버로 제공한다. Claude Desktop, Claude Code 등 MCP 클라이언트에서 국민연금 사업장과 고용·산재보험 현황, 사업자등록 상태, 나라장터 입찰, 기업 재무제표·법인번호·주식시세, DART 전자공시·재무제표, 한국은행 경제통계, 부동산 실거래가, 대통령 연설문, MSDS 화학물질 정보를 바로 조회할 수 있다.
[Koomook/data-go-mcp-servers](https://github.com/Koomook/data-go-mcp-servers)(Apache-2.0, 2025-09 이후 정지)를 기반으로 mcp SDK 2.x 에 맞춰 재정비한 것이다. 툴 이름과 파라미터는 원저장소와 호환된다.
## 서버
| 서버 | 기관 / 데이터 | 툴 |
|---|---|---|
| [nps-business-enrollment](docs/guide/servers/nps-business-enrollment.md) | 국민연금공단 — 사업장 가입내역 (+ 법정동코드 조회, 고용·산재보험 현황) | `search_business` `get_business_detail` `get_period_status` `find_region_code` `get_insurance_status` |
| [nts-business-verification](docs/guide/servers/nts-business-verification.md) | 국세청 — 사업자등록 진위확인·상태 | `validate_business` `check_business_status` `batch_validate_businesses` |
| [pps-narajangteo](docs/guide/servers/pps-narajangteo.md) | 조달청 — 나라장터 입찰·낙찰·계약 | `search_bid_announcements` `search_successful_bids` `search_contracts` `get_bid_detail` `find_bid_winners` |
| [fsc-financial-info](docs/guide/servers/fsc-financial-info.md) | 금융위원회 — 기업 재무제표 (+ 법인번호 조회·기업 개요·주식시세·지수·ETF) | `get_summary_financial_statement` `get_balance_sheet` `get_income_statement` `search_company_financial_info` `find_corp_number` `get_corp_outline` `get_stock_price` `search_stock_items` `get_market_index` `get_etf_price` |
| [presidential-speeches](docs/guide/servers/presidential-speeches.md) | 대통령기록관 — 연설문 | `list_speeches` `search_speeches` `get_recent_speeches` |
| [msds-chemical-info](docs/guide/servers/msds-chemical-info.md) | 안전보건공단 — MSDS | `search_chemicals` `get_chemical_section` `get_complete_msds` 외 4 |
| [dart-disclosure](docs/guide/servers/dart-disclosure.md) | 금융감독원 — DART 전자공시 (기업 개황, 공시 목록·원문, 재무제표) | `find_corp_code` `get_company` `list_disclosures` `get_key_accounts` `get_financial_statements` `get_disclosure_document` |
| [molit-realestate](docs/guide/servers/molit-realestate.md) | 국토교통부 — 부동산 실거래가 (아파트·오피스텔·연립다세대·단독다가구·상업업무용·공장창고·토지, 매매/전월세) + 건축물대장 | `search_property_trades` `search_property_rents` `get_building_register` |
| [work24-jobs](docs/guide/servers/work24-jobs.md) | 고용24(옛 워크넷) — 채용공고 (사업자번호로 조회, 기업 규모·자격요건) | `search_job_postings` `get_job_posting` |
| [bok-ecos](docs/guide/servers/bok-ecos.md) | 한국은행 — 경제통계시스템 ECOS (기준금리·환율·물가, 100대 지표) | `find_statistic_table` `get_statistic_items` `get_statistic_data` `get_key_statistics` `search_term` |
서버 10개, 툴 49개, 공공 API 28종. 모든 툴은 조회 전용이며, 실패는 MCP 오류 결과(`isError`)로 전달된다. 한 서버가 API 여러 개를 쓰는 경우(molit 12, fsc 5, nps 3, pps 2)는 각각 활용신청이 필요하다 — 표는 [api-keys.md](docs/guide/api-keys.md). dart-disclosure(OpenDART)·bok-ecos(한국은행 ECOS)·work24-jobs(고용24)는 data.go.kr 이 아닌 각자의 키를 쓴다.
## 무엇이 다른가
한국 공공데이터 MCP 서버는 대개 API 하나를 감싼다. 이 저장소는 기관을 가로질러 잇는다 — 사업자등록번호 하나가 국세청·금융위·근로복지공단·조달청·고용24·DART 를 지나간다:

위는 `scripts/demo_due_diligence.py` 를 실제로 돌린 화면이다 (실호출 결과, 연출 없음).
직접 돌려볼 수 있다 (실제 API 를 호출하므로 결과는 그때그때 다르다):
```bash
uv run python scripts/demo_due_diligence.py 214-87-12538
```
같은 방식의 데모가 셋 더 있다 — [업체별 낙찰 이력](docs/guide/servers/pps-narajangteo.md#낙찰업체로-찾기)(`demo_bid_winners.py`), [지역 아파트 실거래](docs/guide/servers/molit-realestate.md#지역코드-찾기)(`demo_realestate.py`), [회사 채용 현황](docs/guide/servers/work24-jobs.md#사업자번호로-조회하기)(`demo_jobs.py`).
## 빠른 시작
**처음이라면 → [시작하기](docs/guide/quickstart.md)** (코드·터미널 없이 10분).
요약: data.go.kr 인증키 발급·활용신청 → [data-go-mcp-desktop.mcpb](https://github.com/hichang4u/data-go-mcp-servers/releases/latest/download/data-go-mcp-desktop.mcpb) 를 Claude Desktop 설정 → 확장 프로그램에 끌어다 놓고 키 입력 → 질문.
서버를 골라 쓰거나 설정 파일로 등록하려면:
1. [uv](https://docs.astral.sh/uv/getting-started/installation/) 설치
2. [data.go.kr](https://www.data.go.kr) 인증키(Decoding) 발급 후 쓰려는 API 에 **활용신청** → [docs/guide/api-keys.md](docs/guide/api-keys.md)
3. Claude Desktop 설정(`claude_desktop_config.json`)에 추가:
```json
{
"mcpServers": {
"nts-business-verification": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/hichang4u/data-go-mcp-servers#subdirectory=src/nts-business-verification",
"data-go-mcp.nts-business-verification"
],
"env": { "API_KEY": "<data.go.kr 인증키>" }
}
}
}
```
다른 서버는 `nts-business-verification` 을 서버명으로 바꾸면 된다. `dart-disclosure` 만 `"env": { "DART_DISCLOSURE_API_KEY": "<OpenDART 인증키>" }` (data.go.kr 키와 별개, [api-keys.md](docs/guide/api-keys.md) 4절). 전부를 한 프로세스로 띄우는 `all-servers`, Claude Code, Cline, [Smithery](https://smithery.ai/servers/hichang4u/data-go-mcp)(`smithery mcp add hichang4u/data-go-mcp`), clone 해서 쓰는 방법은 [docs/guide/installation.md](docs/guide/installation.md).
```
> 사업자등록번호 120-88-00767 상태 조회해줘
계속사업자, 부가가치세 일반과세자 …
```
## 문서
| | |
|---|---|
| 사용 | [시작하기](docs/guide/quickstart.md) · [설치·클라이언트 설정](docs/guide/installation.md) · [API 키·활용신청](docs/guide/api-keys.md) · [문제 해결](docs/guide/troubleshooting.md) · [서버별 툴 레퍼런스](docs/guide/servers/) |
| 개발 | [CONTRIBUTING](CONTRIBUTING.md) · [아키텍처](docs/development/architecture.md) · [새 서버 추가](docs/development/adding-a-server.md) · [테스트](docs/development/testing.md) · [릴리스](docs/development/release.md) |
| 이력 | [PRD](docs/development/PRD.md) · [작업 계획](docs/development/PLAN.md) · [원저장소 기록](docs/history/) |
## 개발
```bash
git clone https://github.com/hichang4u/data-go-mcp-servers && cd data-go-mcp-servers
uv sync --dev --all-packages
cp .env.example .env # API_KEY, DART_DISCLOSURE_API_KEY, BOK_ECOS_API_KEY 채우기 — 실호출 테스트용
uv run pytest # 482 tests; 실호출은 -m integration
uv run ruff check src scripts tests && uv run pyright src scripts tests
uv run python scripts/check_apis.py # 주요 API 생존·권한 확인
```
Python 3.10+, `mcp>=2.2`. CI 는 ubuntu/windows × 3.10/3.13 에서 pytest, ruff, pyright 를 필수로 돌린다.
## 라이선스
Apache-2.0. 원저작물 저작권 표시는 [NOTICE](NOTICE) 와 각 패키지의 LICENSE 에 유지한다. 이 프로젝트는 data.go.kr 및 각 기관과 무관하며, 데이터 이용은 각 API 의 이용약관을 따른다.
TDQS
Scored across 3 tools
validate_business and batch_validate_businesses are clearly distinguished by single vs. batch operation, and check_business_status focuses on status lookup. Some minor overlap exists because validate_business also returns status information, but the purposes are distinct enough for an agent to select correctly.
All tool names follow a consistent verb_noun snake_case pattern. validate_business, check_business_status, and batch_validate_businesses use clear, predictable naming with appropriate verb choices for each action.
Three tools is well-scoped for the business verification domain. Each tool covers a distinct need: single validation, status lookup, and batch validation, with no redundant or superfluous entries.
The domain of business registration verification is fully covered: individual validation, batch validation, and status checks. No obvious missing operations or dead ends exist for the stated purpose.