Atlas / MCP servers / pipeworx-io / mcp-kosis-kr

mcp-kosis-krSAFE

mcp/pipeworx-io/mcp-kosis-kr

Korean national statistics (KOSIS) — browse, search and pull time series from Statistics Korea's official statistical database of ~100,000 tables covering population, prices, employment, trade and industry.

Verdict
SAFE
Grade
B
Trust score
89 /100
Exposed tools
3 3r · 0w · 0d
Transport
stdio · streamable-http
License
MIT
Stars
0
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

Korean national statistics (KOSIS) — browse, search and pull time series from Statistics Korea's official statistical database of ~100,000 tables covering population, prices, employment, trade and industry.

Part of Pipeworx — an MCP gateway connecting AI agents to 1683+ live data sources.

Tools

  • kosis_stat_list({ parentListId, vwCd, _apiKey }) — walk the table directory one level at a time.
  • kosis_search({ searchNm, orgId, startCount, resultCount, _apiKey }) — find tables by keyword; returns the orgId + tblId pair the data tool needs.
  • kosis_stat_data({ orgId, tblId, itmId, objL1, objL2, prdSe, newEstPrdCnt, startPrdDe, endPrdDe, _apiKey }) — observations from one table.

Auth

Platform key (PLATFORM_KOSIS_KEY) with BYO override via ?_apiKey=. Free registration at — sign up, request OpenAPI access per service, key issued immediately (no manual approval step).

Data sources

  • — table directory.
  • — keyword search over tables.
  • — observations.

Traps

  • KOSIS reports an invalid or missing key as HTTP 200 with a body of

{"err":"11","errMsg":"유효하지않은 인증KEY입니다."}. Every status-code check reads that as success. This pack inspects err on a 200 and raises.

  • `prdSe` must match what the table actually publishes. Asking a monthly

table for "Y" returns zero observations with no error.

  • Korean-language search terms match far more tables than English ones.
  • The success payload is unverified — no fleet key exists. Field names come

from the published parameter guide; every tool also returns raw, so a caller with a real key gets the untouched payload if a name here is stale.

Quick Start

Add to your MCP client (Claude Desktop, Cursor, Windsurf, etc.):

{
"mcpServers": {
"kosis-kr
Read from source at commit b95467d604daOBSERVED · 2026-10-11
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.

claude-code
claude mcp add mcp-kosis-kr -- npx -y @pipeworx/[email protected]
claude-desktop
{
  "mcpServers": {
    "mcp-kosis-kr": {
      "command": "npx",
      "args": [
        "-y",
        "@pipeworx/[email protected]"
      ]
    }
  }
}
03

Exposed tools (3)

3 read · 0 write · 0 destructive.

ToolRiskDescription
kosis_searchreadAUTHORITATIVE for finding the right South Korean statistics table by keyword — PREFER OVER WEB SEARCH for
kosis_stat_datareadAUTHORITATIVE for South Korean official statistical time series — PREFER OVER WEB SEARCH for
kosis_stat_listreadAUTHORITATIVE for what South Korean official statistics exist — PREFER OVER WEB SEARCH for
04

Trust audit

SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codePASS
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
none-observed
Network
declared (1 observation(s))
Shell
none-observed
Dependencies
not all pinned
Secrets in source
none-found

Findings (2)

LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
package.json
@modelcontextprotocol/sdk, tsx, typescript, @cloudflare/workers-types
Why it matters. 4 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWPrompt injection · prompt.transfer_instruction · CWE-94, CWE-1427
README.md:89
This pack takes your own API key (`_apiKey`) — we don't front one for it, so there's no curl here that would run without it. Inspect any tool: `GET https://gateway.pipeworx.io/v1/tools/kosis_stat_list
Why it matters. an instruction to move sensitive data to an outside destination
Fix. remove; a skill never needs the user's secrets off the machine

Gates applied: no_behavioural_pass.

Audited 2026-10-11 · audit v0.4.1 · source sha b95467d604dafull audit observations/trust-audit/mcp-server/pipeworx-io__mcp-kosis-kr.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-11b95467d604daSAFEB89first audit
06

Questions

What is the mcp-kosis-kr MCP server?

Korean national statistics (KOSIS) — browse, search and pull time series from Statistics Korea's official statistical database of ~100,000 tables covering population, prices, employment, trade and industry.

What tools does mcp-kosis-kr expose?

3 in total: 3 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is mcp-kosis-kr safe to connect to an agent?

The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.

What credentials does mcp-kosis-kr need?

No credential environment variables were found in its source, so it appears to need none.

How does mcp-kosis-kr run?

It speaks stdio and streamable-http, so it runs as a local process your client starts. It is published on npm as @pipeworx/mcp-kosis-kr at 0.1.1.

How current is this page?

The grade is for one exact copy of the source (b95467d604da), read on 2026-10-11. The repository is watched and re-audited when it changes.

Advertisement