FieldCure.Mcp.PublicData.Kr
1.0.2
{ "servers": { "FieldCure.Mcp.PublicData.Kr": { "type": "stdio", "command": "dnx", "args": ["FieldCure.Mcp.PublicData.Kr@1.0.2", "--yes"] } } }
.vscode/mcp.json settings file.
dotnet tool install --global FieldCure.Mcp.PublicData.Kr --version 1.0.2
dotnet new tool-manifest
dotnet tool install --local FieldCure.Mcp.PublicData.Kr --version 1.0.2
#tool dotnet:?package=FieldCure.Mcp.PublicData.Kr&version=1.0.2
nuke :add-package FieldCure.Mcp.PublicData.Kr --version 1.0.2
FieldCure.Mcp.PublicData.Kr
Korean public data API gateway. An MCP server that lets any MCP client discover, inspect, and call 80,000+ APIs on data.go.kr.
Tools
| Tool | Description |
|---|---|
discover_api |
Search data.go.kr APIs by keyword — returns names, providers, endpoint URLs |
describe_api |
Get operations, request parameters, and response fields for a specific API |
call_api |
Call any data.go.kr API with automatic serviceKey injection and response normalization |
Quick Start
dotnet tool install -g FieldCure.Mcp.PublicData.Kr
Prerequisites
- Sign up at data.go.kr and get your API key (data.go.kr 회원가입 후 인증키 발급)
- Subscribe to 목록조회서비스 (Required)
—
discover_apianddescribe_apidepend on this API (discover_api, describe_api 도구가 이 API를 사용합니다) - Subscribe to each individual API you want to query (조회하려는 개별 API도 각각 활용신청 필요)
API key resolution
The server resolves the data.go.kr serviceKey lazily on the first tool call using the chain
defined in ADR-001:
--api-key <value>CLI arg (debug/manual only — not the recommended path)DATA_GO_KR_API_KEYenvironment variable (primary)PUBLICDATA_API_KEYenvironment variable (legacy — retained for backward compatibility)- MCP Elicitation — if the client supports it, the server requests the key via an
in-session prompt. The resolved key is cached in memory for the session; it is never
persisted to disk by the server. On
401/403the cache is invalidated and a re-elicit is attempted (capped at 2 retries per session to prevent loops). - Soft-fail — if none of the above yield a key,
tools/liststill works and each tool returns a JSON error explaining thatDATA_GO_KR_API_KEYmust be set or that the client must support MCP Elicitation.
Claude Desktop
{
"mcpServers": {
"publicdata-kr": {
"command": "fieldcure-mcp-publicdata-kr",
"env": {
"DATA_GO_KR_API_KEY": "YOUR_DATA_GO_KR_API_KEY"
}
}
}
}
VS Code (Copilot)
{
"servers": {
"publicdata-kr": {
"command": "fieldcure-mcp-publicdata-kr",
"env": {
"DATA_GO_KR_API_KEY": "YOUR_DATA_GO_KR_API_KEY"
}
}
}
}
AssistStudio
Install the dotnet tool first. AssistStudio does not auto-install external MCP servers. Without the
fieldcure-mcp-publicdata-krcommand on PATH the connection fails with a generic "server shut down unexpectedly" message.dotnet tool install -g FieldCure.Mcp.PublicData.Kr
Then: Settings > MCP Servers > Add Server:
| Field | Value |
|---|---|
| Name | PublicData.Kr |
| Command | fieldcure-mcp-publicdata-kr |
| Arguments | (empty) |
| Environment | DATA_GO_KR_API_KEY = your data.go.kr API key (optional — will prompt via Elicitation if unset) |
| Description | (auto-filled on first connection) |
Configuration
| Variable | Required | Default | Description |
|---|---|---|---|
DATA_GO_KR_API_KEY |
— | — | data.go.kr API key (인증키). If unset, the server will prompt via MCP Elicitation. |
PUBLICDATA_API_KEY |
— | — | Legacy alias for DATA_GO_KR_API_KEY. |
PUBLICDATA_TIMEOUT_SECONDS |
— | 30 | Per-request timeout |
PUBLICDATA_MAX_RESPONSE_LENGTH |
— | 50000 | Max response body length |
Naming note: the API key follows the external service naming convention (
DATA_GO_KR_API_KEY), while server-local configuration uses thePUBLICDATA_prefix. This keeps the key aligned with data.go.kr's own documentation so users don't have to configure it twice, while local tunables stay grouped under a single package namespace.
Requirements
- .NET 8.0 Runtime or later
See Also
Part of the AssistStudio ecosystem.
Links
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.
v1.0.2: Harden tool descriptions so models driving invoke_tool-style dispatch (no per-step sub-agent) pick correct arguments — call_api spells out the discover_api→describe_api→call_api workflow, forbids serviceId-as-input, and documents params as a JSON string with a concrete example. No runtime behaviour change.