Content
# Korea Data.go.kr MCP Servers
This is a project that provides the Korea Public Data Portal (data.go.kr) API as a Model Context Protocol (MCP) server.
[](https://github.com/Koomook/data-go-mcp-servers)
[](https://pypi.org/project/data-go-mcp.nps-business-enrollment/)
[](LICENSE)
[](https://www.python.org/)
## Table of Contents
- [Korea Data.go.kr MCP Servers](#korea-datagokr-mcp-servers)
- [Table of Contents](#table-of-contents)
- [What is MCP (Model Context Protocol)?](#what-is-mcp-model-context-protocol)
- [Why Korea Public Data MCP Server?](#why-korea-public-data-mcp-server)
- [Available MCP Servers](#available-mcp-servers)
- [Installation and Setup](#installation-and-setup)
- [Installation using UV](#installation-using-uv)
- [Installation using pip](#installation-using-pip)
- [Claude Desktop Setup](#claude-desktop-setup)
- [Cline Setup](#cline-setup)
- [Usage by Server](#usage-by-server)
- [NPS Business Enrollment](#nps-business-enrollment)
- [NTS Business Verification](#nts-business-verification)
- [Developer Guide](#developer-guide)
- [Contributing](#contributing)
- [License](#license)
## What is MCP (Model Context Protocol)?
Model Context Protocol (MCP) is an open protocol that enables seamless integration between LLM applications and external data sources and tools. Whether you're building an AI-powered IDE, enhancing a chat interface, or creating custom AI workflows, MCP provides a standardized way for LLMs to connect with the context they need.
An MCP server is a lightweight program that exposes specific functionality through the Model Context Protocol. AI tools such as Claude Desktop, Cline, Cursor, and Windsurf can communicate with these servers as MCP clients.
## Why Korea Public Data MCP Server?
The Korean government's public data portal (data.go.kr) provides data from various public institutions as APIs. This project wraps these APIs as MCP servers, making it easy for AI tools to access and utilize Korean public data.
Key benefits:
- **Standardized Access**: Use various public APIs with a unified MCP interface
- **AI Tool Integration**: Utilize public data directly in AI tools such as Claude and Cline
- **Easy Installation**: Easily install with pip or uv
- **Type Stability**: Strong type validation using Pydantic
## Available MCP Servers
| Category | Server Name | Description | Package | PyPI |
|----------|--------|------|--------|------|
| **🏢 Business Information** | **NPS Business Enrollment** | Retrieve business enrollment information from the National Pension Service | `data-go-mcp.nps-business-enrollment` | [](https://pypi.org/project/data-go-mcp.nps-business-enrollment/) |
| **🏢 Business Information** | **NTS Business Verification** | Verify business registration information and check status from the National Tax Service | `data-go-mcp.nts-business-verification` | [](https://pypi.org/project/data-go-mcp.nts-business-verification/) |
| **📋 Procurement/Contract** | **PPS Narajangteo** | Bid announcements, successful bid information, and contract information from NaraJangteo | `data-go-mcp.pps-narajangteo` | [](https://pypi.org/project/data-go-mcp.pps-narajangteo/) |
| **💰 Financial Information** | **FSC Financial Info** | Corporate financial information (financial statements, income statements) from the Financial Services Commission | `data-go-mcp.fsc-financial-info` | [](https://pypi.org/project/data-go-mcp.fsc-financial-info/) |
| **📜 Public Records** | **Presidential Speeches** | Retrieve speeches from the Presidential Archives | `data-go-mcp.presidential-speeches` | [](https://pypi.org/project/data-go-mcp.presidential-speeches/) |
| **⚗️ Safety Information** | **MSDS Chemical Info** | Chemical information from Material Safety Data Sheets (MSDS) | `data-go-mcp.msds-chemical-info` | [](https://pypi.org/project/data-go-mcp.msds-chemical-info/) |
## Installation and Setup
### Installation using UV
```bash
# Business Information Server
uv pip install data-go-mcp.nps-business-enrollment
uv pip install data-go-mcp.nts-business-verification
# Procurement/Contract Server
uv pip install data-go-mcp.pps-narajangteo
# Financial Information Server
uv pip install data-go-mcp.fsc-financial-info
# Public Records Server
uv pip install data-go-mcp.presidential-speeches
# Safety Information Server
uv pip install data-go-mcp.msds-chemical-info
```
### Installation using pip
```bash
# Business Information Server
pip install data-go-mcp.nps-business-enrollment
pip install data-go-mcp.nts-business-verification
# Procurement/Contract Server
pip install data-go-mcp.pps-narajangteo
# Financial Information Server
pip install data-go-mcp.fsc-financial-info
# Public Records Server
pip install data-go-mcp.presidential-speeches
# Safety Information Server
pip install data-go-mcp.msds-chemical-info
```
### Claude Desktop Setup
Add the MCP server to the Claude Desktop configuration file:
**MacOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
```json
{
"mcpServers": {
"data-go-mcp.nps-business-enrollment": {
"command": "uvx",
"args": ["data-go-mcp.nps-business-enrollment@latest"],
"env": {
"API_KEY": "your-api-key-here"
}
},
"data-go-mcp.nts-business-verification": {
"command": "uvx",
"args": ["data-go-mcp.nts-business-verification@latest"],
"env": {
"API_KEY": "your-api-key-here"
}
},
"data-go-mcp.pps-narajangteo": {
"command": "uvx",
"args": ["data-go-mcp.pps-narajangteo@latest"],
"env": {
"API_KEY": "your-api-key-here"
}
},
"data-go-mcp.fsc-financial-info": {
"command": "uvx",
"args": ["data-go-mcp.fsc-financial-info@latest"],
"env": {
"API_KEY": "your-api-key-here"
}
},
"data-go-mcp.presidential-speeches": {
"command": "uvx",
"args": ["data-go-mcp.presidential-speeches@latest"],
"env": {
"API_KEY": "your-api-key-here"
}
},
"data-go-mcp.msds-chemical-info": {
"command": "uvx",
"args": ["data-go-mcp.msds-chemical-info@latest"],
"env": {
"API_KEY": "your-api-key-here"
}
}
}
}
```
**Note**: Using `@latest` will always run the latest version.
### Cline Setup
Configure the MCP server in the Cline extension for VS Code:
`.vscode/cline_mcp_settings.json`:
```json
{
"mcpServers": {
"data-go-mcp.nps-business-enrollment": {
"command": "python",
"args": ["-m", "data_go_mcp.nps_business_enrollment.server"],
"env": {
"API_KEY": "your-api-key-here"
}
}
}
}
```
## Usage by Server
### NPS Business Enrollment
You can retrieve business information enrolled in the National Pension Service.
#### Environment Variable Setup
```bash
export API_KEY="your-api-key-here" # API key issued from data.go.kr
```
#### Available Tools
**`search_business`**: Search for business information
- Parameters:
- `ldong_addr_mgpl_dg_cd`: Legal district address metropolitan city code (2 digits)
- `ldong_addr_mgpl_sggu_cd`: Legal district address city/county/district code (5 digits)
- `ldong_addr_mgpl_sggu_emd_cd`: Legal district address township/neighborhood code (8 digits)
- `wkpl_nm`: Business name
- `bzowr_rgst_no`: Business registration number (first 6 digits)
- `page_no`: Page number (default: 1)
- `num_of_rows`: Number of results per page (default: 100, maximum: 100)
#### Usage Example
You can request the following in an AI tool:
```
"Search for businesses in Gangnam-gu, Seoul"
"Find Samsung Electronics business information"
"Retrieve businesses starting with business registration number 123456"
```
### NTS Business Verification
You can verify the authenticity of business registration information and check the current status.
#### Environment Variable Setup
```bash
export API_KEY="your-api-key-here" # API key issued from data.go.kr
```
#### Available Tools
**`validate_business`**: Verify business registration information
- Parameters:
- `business_number`: Business registration number (10 digits, required)
- `start_date`: Business start date (YYYYMMDD format, required)
- `representative_name`: Representative name (required)
- `representative_name2`: Representative name 2 (foreigner's name in Korean)
- `business_name`: Business name
- `corp_number`: Corporate registration number (13 digits)
- `business_sector`: Main business sector name
- `business_type`: Main business type name
- `business_address`: Business address
**`check_business_status`**: Check business registration status
- Parameters:
- `business_numbers`: List of business registration numbers (comma-separated, maximum 100)
- Returns:
- Business status: Active business (01), Suspended business (02), Closed business (03)
- Tax type: General taxpayer, Simplified taxpayer, etc.
- Closure date, Tax type conversion date, etc.
**`batch_validate_businesses`**: Batch verification
- Parameters:
- `businesses_json`: Array of business information in JSON format (maximum 100)
- JSON Format:
```json
[
{
"b_no": "1234567890",
"start_dt": "20200101",
"p_nm": "홍길동",
"b_nm": "테스트회사"
}
]
```
#### Usage Example
You can request the following in an AI tool:
```
"Verify if business registration number 123-45-67890 was registered on January 1, 2020, under the representative name Hong Gil-dong"
"Check the current status of business registration number 123-45-67890"
"Check the status of multiple business registration numbers 123-45-67890, 098-76-54321 at once"
```
#### Status Code Description
- **Business Status Code**:
- `01`: Active business (currently operating)
- `02`: Suspended business (temporarily suspended)
- `03`: Closed business (business terminated)
- **Tax Type Code**:
- `01`: Value-added tax general taxpayer
- `02`: Value-added tax simplified taxpayer
- Other: Tax-exempt business, etc.
## Developer Guide
### Development Environment Setup
```bash
# Clone the repository
git clone https://github.com/Koomook/data-go-mcp-servers.git
cd data-go-mcp-servers
# Install UV
curl -LsSf https://astral.sh/uv/install.sh | sh
# Install development dependencies
uv sync --dev
```
### 🚀 Quickly Create a New MCP Server
#### Use the Automation Script (Recommended)
The fastest way is to use the provided template generation script:
```bash
# Run the interactive script
uv run python scripts/create_mcp_server.py
```
The script will guide you step by step through the required information and create a new MCP server in minutes.
#### Use the Template Manually
```bash
# Install Cookiecutter (if needed)
uv pip install cookiecutter
# Create a new server from the template
uv run cookiecutter template/ -o src/
```
For detailed template usage, refer to [TEMPLATE_USAGE.md](TEMPLATE_USAGE.md).
For the complete development guide, refer to [CONTRIBUTING.md](CONTRIBUTING.md).
### Run Tests
```bash
# Run all tests
uv run pytest
# Test a specific server
uv run pytest src/nps-business-enrollment/tests/
```
## Contributing
If you would like to contribute to this project:
1. Fork this repository
2. Create a new feature branch (`git checkout -b feature/new-api-server`)
3. Commit your changes (`git commit -am 'Add new API server'`)
4. Push to the branch (`git push origin feature/new-api-server`)
5. Open a Pull Request
For a detailed guide, refer to [CONTRIBUTING.md](CONTRIBUTING.md).
## License
This project is distributed under the Apache License 2.0 license. For more information, see the [LICENSE](LICENSE) file.
---
**Note**: This project is not officially associated with the Korean government or data.go.kr. Please check the terms of use for each data when using public data.
Connection Info
You Might Also Like
markitdown
MarkItDown-MCP is a lightweight server for converting URIs to Markdown.
markitdown
Python tool for converting files and office documents to Markdown.
Filesystem
Node.js MCP Server for filesystem operations with dynamic access control.
Sequential Thinking
A structured MCP server for dynamic problem-solving and reflective thinking.
Fetch
Retrieve and process content from web pages by converting HTML into markdown format.
TrendRadar
TrendRadar: Your hotspot assistant for real news in just 30 seconds.