98 MCP tools for verifiable AI: citations, law, KYB, peer review, forecast, media provenance.
Korean public-data MCP servers for AI agents — KOSIS Statistics Korea (live), BoK ECOS · NEIS · LOCALDATA (planned).
Built and maintained by Vivory. Backend powered by the Vivory Korea Data Gateway.
Korean public statistics (population, GDP, CPI, employment, trade, etc.) are published by official agencies via Korean-only APIs that require local accounts and return JS-literal responses with mixed taxonomies. This repo packages them as Model Context Protocol servers so any MCP-compatible client (Claude Desktop, Claude Code, etc.) can query Korean data in English with zero setup.
Foreign user → Claude → vivory-mcp-* → api.vivory.app → kosis.kr / ecos.bok.or.kr / etc.
(caching, attribution, normalization)
No KOSIS account, no API key, no Korean phone — just install and ask.
This is a monorepo of MCP server packages. Each is independently installable from PyPI.
| Package | Status | Tools | Source |
|---|---|---|---|
vivory-mcp-kosis | Live | 15 | KOSIS — Statistics Korea curated key indicators |
vivory-mcp-korea | Live (KOSIS only) | 15 | Umbrella — adds BoK ECOS, NEIS, LOCALDATA, etc. as v0.2+ |
vivory-mcp-kosis)vivory-mcp-korea) — auto-grows as we add sourcesEdit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"vivory-kosis": {
"command": "uvx",
"args": ["vivory-mcp-kosis"]
}
}
}
Or to use the umbrella (all Korean data):
{
"mcpServers": {
"vivory-korea": {
"command": "uvx",
"args": ["vivory-mcp-korea"]
}
}
}
Restart Claude Desktop. The tools appear in the tool palette.
PyPI release pending — until then use:
uvx --from "git+https://github.com/jayjodev/vivory-mcp.git#subdirectory=packages/mcp-server-kosis" vivory-mcp-kosis
Ask Claude (or any MCP client):
"What's Korea's CPI trend over the last 24 months?" "Show me Korean quarterly GDP growth, last 12 quarters." "Search KOSIS for tables related to youth unemployment." "What's the indicator ID for 추계인구?"
Claude picks the right tool automatically.
packages/
├── mcp-server-kosis/ # KOSIS standalone MCP server
│ ├── src/vivory_mcp_kosis/
│ │ ├── server.py # 15 KOSIS tool definitions
│ │ └── client.py # HTTP wrapper to api.vivory.app
│ ├── pyproject.toml
│ └── README.md
│
└── mcp-server-korea/ # Umbrella MCP server
├── src/vivory_mcp_korea/
│ ├── server.py # Aggregates tools from all sources
│ ├── client.py
│ └── tools/
│ ├── kosis.py # KOSIS tool catalog
│ └── (ecos.py, neis.py, etc. — planned)
└── ...
All packages are thin wrappers — no API keys, no rate limit handling, no parsing logic. They translate MCP tool calls → HTTP GETs against api.vivory.app, where the heavy lifting lives.
Set VIVORY_API_BASE to point at your own backend:
export VIVORY_API_BASE="http://localhost:8000/api"
The Vivory backend code is not in this repo (it lives in the private Vivory app monorepo). If you want to run the full stack, you'll need to implement the /api/public-tools/kosis/* endpoints yourself or contact us about licensing.
Every tool response includes an attribution block. When citing or redistributing data, include the attribution_required text.
Issues and PRs welcome. Specifically interested in:
vivory-mcp) — packages here mirror what's published to PyPI🇰🇷 Built in Seoul · 🌐 vivory.app
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
uvx vivory-mcp-verificationMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-jayjodev-vivory-mcp-verification": {
"command": "uvx",
"args": [
"vivory-mcp-verification"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup referenceVivory Verification Gateway works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.