Skip to main content
AllMCPs
BrowseBestCategoriesStackCompareToolsGuidesBlog
Log in Submit MCP

Stay in the loop

Get new MCP servers and top picks in your inbox.

AllMCPs

The open directory for discovering and installing Model Context Protocol servers.

AllMCPs on GitHub (opens in a new tab)
Launched onTiny Startupstinystartups.com
Explore
  • Browse servers
  • Best MCP servers
  • Categories
  • MCP clients
  • Agent prompts
  • Stack Builder
  • Compare servers
  • Random discovery New
  • Submit a server
  • Pricing & Boost Boost
Learn
  • Guides hub
  • What is MCP?
  • Install guide
  • Build an MCP server
  • Deploy an MCP server
  • Security guide
  • Troubleshooting
  • MCP for SEO & AEO
  • Protocol versioning
  • Blog & updates
Tools
  • All developer tools
  • Config generator
  • Config validator
  • Config auditor
  • MCP playground
  • Token calculator
  • OpenAPI β†’ MCP
  • Badge generator
For agents
  • REST API docs
  • Trust & traffic Live
  • Remote MCP server SSE β†— (opens in a new tab)
  • llms.txt β†— (opens in a new tab)
  • Catalog JSON β†— (opens in a new tab)
Company
  • About
  • Advertise Sponsor
  • Contact
  • GitHub β†— (opens in a new tab)
  • Terms
  • Privacy
AllMCPs VerifiedAllMCPs VerifiedFeatured on Nick LaunchesFeatured on Nick LaunchesLaunch Llama NewsletterLaunch Llama NewsletterVerified DR - allmcps.comVerified DR - allmcps.comFeatured on SaaSGrowFeatured on SaaSGrowFeatured on Twelve ToolsFeatured on Twelve ToolsFeatured on Saaspa.geFeatured on Saaspa.geFeatured on Findly.toolsFeatured on Findly.toolsFeatured on Startup FameFeatured on Startup FameFeatured on LaunchKiwiFeatured on LaunchKiwiFeatured on ScrollLaunchFeatured on ScrollLaunchFeatured on DailyPingsFeatured on DailyPingsFazier badgeFazier badgeFeatured on NewTool.siteFeatured on NewTool.siteFeatured on saasfame.comFeatured on saasfame.comDR Checker - Domain RatingDR Checker - Domain RatingListed on Turbo0Listed on Turbo0Launched on LaunchBoard - Product Launch PlatformLaunched on LaunchBoard - Product Launch PlatformList on SimilarlabsList on Similarlabshttps://codetrendy.comhttps://codetrendy.comListed on DevTool.ioFeatured on BuildlistFeatured on BuildlistLaunched on Tiny StartupsFeatured on ShowMeBestAIFeatured on ShowMeBestAIFind us on LaunchZoneFind us on LaunchZoneAllMCPs VerifiedAllMCPs VerifiedFeatured on Nick LaunchesFeatured on Nick LaunchesLaunch Llama NewsletterLaunch Llama NewsletterVerified DR - allmcps.comVerified DR - allmcps.comFeatured on SaaSGrowFeatured on SaaSGrowFeatured on Twelve ToolsFeatured on Twelve ToolsFeatured on Saaspa.geFeatured on Saaspa.geFeatured on Findly.toolsFeatured on Findly.toolsFeatured on Startup FameFeatured on Startup FameFeatured on LaunchKiwiFeatured on LaunchKiwiFeatured on ScrollLaunchFeatured on ScrollLaunchFeatured on DailyPingsFeatured on DailyPingsFazier badgeFazier badgeFeatured on NewTool.siteFeatured on NewTool.siteFeatured on saasfame.comFeatured on saasfame.comDR Checker - Domain RatingDR Checker - Domain RatingListed on Turbo0Listed on Turbo0Launched on LaunchBoard - Product Launch PlatformLaunched on LaunchBoard - Product Launch PlatformList on SimilarlabsList on Similarlabshttps://codetrendy.comhttps://codetrendy.comListed on DevTool.ioFeatured on BuildlistFeatured on BuildlistLaunched on Tiny StartupsFeatured on ShowMeBestAIFeatured on ShowMeBestAIFind us on LaunchZoneFind us on LaunchZone
Β© 2026 Jackalope Digital LLC. All rights reserved.
  1. Home
  2. πŸ’» Developer Tools
  3. Mcportal
M
Health: Not checked yetWe have not completed a health check for this listing yet.No health check has run yet.

Mcportal

User RatingsBe the first to rate and review this MCP server! Enrichment pendingWe haven’t run our AI enrichment pass on this listing yet, so the overview, use cases, and FAQ below may be sparse or missing. We work through the catalog over time β€” check back soon.
View Repository

Quota-guarded MCP layer over Korean public data APIs (data.go.kr), compiled from OpenAPI specs

Quick Install

Automated & IDE Setup

Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β€” or use 1-click editor setup below.

Add to CursorAdd to VS Code
Manual Client & Custom JSON ConfigExpand JSON β–Ύ

Client Config & Setup

Choose your client or environment
Target File:~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "mcportal": {
      "command": "npx",
      "args": [
        "-y",
        "mcportal"
      ]
    }
  }
}

πŸ’‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.

Install Directory Badge Claim listing AlternativesπŸ’» More in Developer Tools

Documentation Overview

MCPortal

The missing bridge between data.go.kr and the global MCP ecosystem. MCPortal normalizes Korean public-API specifications into standard OpenAPI 3.1, compiles them into MCP servers, and puts every outbound call behind a hard daily budget with backoff and caching. Fully open source, fully self-hosted.

ν•œκ΅­μ–΄ λ¬Έμ„œ: README.ko.md β€” this English README is the canonical document and the Korean file is a translation of it.

Accuracy disclaimer

data.go.kr publishes no "remaining quota" endpoint. MCPortal's usage ledger therefore counts only the calls that went through MCPortal, which makes it a best-effort estimate. Calls that the same serviceKey spends outside MCPortal β€” another script, the portal console, a different tool β€” never reach the ledger, so the ledger value is always a lower-bound approximation of real consumption. The axis of trust is not that estimate but the hard budget cap (CALL_BUDGET). Even when the ledger is wrong, the hard guard physically blocks calls beyond the daily cap, so the safety line against quota-related account sanctions always comes from CALL_BUDGET.

The no-key boundary

Works without any API keyNeeds a data.go.kr service key
Replaying record/replay cassettesLive API calls
The full test suite (pytest), including the record-mode tests, which run on synthetic transportsLive response sampling
Standing up an MCP server from a committed spec plus its cassette (mcportal serve <id> --replay) β€” from a repo checkout, or from a PyPI install pointed at one (note 1)Ad-hoc conversion of an API that has no cassette yet
Regenerating the compile demo (examples/compile_demo.py)Recording new cassettes
Regenerating and listing the preset bundles (mcportal compile / mcportal presets) β€” bundled in the wheel since 0.2.0 (note 1)Sampling a response schema that is still unresolved (mcportal sample)
Reading quota status (mcportal quota status)The key-dependent benchmark items K1–K3
Running the benchmark harness (the five key-free items in benchmarks/PROTOCOL.md)β€”

Every demo, development and CI path in MCPortal runs without a key. The record/replay layer replays cassettes that were recorded earlier, so the same response flow can be reproduced and the whole test suite can go green with no serviceKey present. Spec-to-MCP conversion has already happened at build time β€” the compiled artifacts are committed under specs/ β€” so clone the repository and even standing up an MCP server and answering tool calls needs no key: mcportal serve 15000115 --replay serves eight tools over stdio with no serviceKey anywhere in the environment.

That sentence says clone on purpose. Replay needs a cassette, and cassettes are recorded upstream responses that stay in the repository instead of going out in the wheel (note 1), so a bare pip install mcportal has nothing to replay until it is pointed at a checkout with --presets-root <path> or MCPORTAL_PRESETS=<path>. Cassettes exist for three of the four bundles β€” 15081808 has none in the repository either, because it was deliberately left out of sampling (see Presets below), so that one bundle is live-only.

What does need a key is narrow: live traffic to data.go.kr, and sampling or converting an API that has no cassette yet.

Note 1 β€” what the wheel carries, and what it does not. Since 0.2.0, the published wheel carries the four preset bundles (16 bundle files plus the two presets/ documents, measured on the built artifact), so a plain pip install mcportal can run mcportal presets with no checkout. Since 0.2.2 the wheel also carries the three sampled_schemas.json files β€” 15000115, 15101612 and 15102108; 15081808 has none, because it was deliberately left out of sampling. They ship because mcportal compile --check needs them: --check does not diff files, it re-synthesizes openapi.json from its source + curation + sampled layers, so without the sampled layer an installed copy cannot reproduce the very openapi.json it shipped. On 0.2.1 as published, compile --check from a plain install reports 3 of 4 drifted and exits 3 (measured 2026-08-15); on that version pass --presets-root <checkout>/presets. 0.2.2 restores it to 4 of 4 matched, exit 0, from the install alone. Those three files carry only the field names and types inferred from the responses β€” zero response values β€” and that structure already ships inside openapi.json, so nothing is exposed that the wheel did not already carry. What the wheel still leaves out is the recorded upstream traffic itself: cassettes/ and samples/ stay in the repository only, which is why mcportal serve --replay is a checkout path. To use a different bundle set β€” or to give a PyPI install the cassettes β€” point MCPortal at a checkout with --presets-root <path> or the environment variable MCPORTAL_PRESETS=<path>. When mcportal presets finds no bundle it prints the paths it searched.

Key-free reproduction walkthrough

server.ts
# 1) Compile a spec from synthetic fixtures (zero network, zero credentials).
python examples/compile_demo.py
#    -> specs/demo/openapi.json + specs/demo/samples/*.json
#    Re-running produces byte-identical output; the determinism check is
#    built into the script.

# 2) Stand up an MCP server over stdio from a committed bundle (no key).
#    Needs the [mcp] extra. --replay reads presets/<id>/cassettes/<id>.json,
#    which exists for 15000115, 15101612 and 15102108; 15081808 has none.
mcportal serve 15000115 --replay
#    -> 8 tools over stdio, zero credentials. On a PyPI install add
#    --presets-root <checkout>/presets (note 1).
#
#    The same thing without the CLI, against any spec plus any cassette:
python -c "from mcportal.mcp import build_server; \
build_server('specs/demo/openapi.json', mode='replay', \
cassette_path='<cassette path>')"
#    specs/demo/ commits the spec and the samples, not a cassette, so
#    <cassette path> must point at one you recorded yourself. That a server
#    really stands up and answers a tool call without a key is proven by the
#    last case in tests/test_mcp_wiring.py, which builds a synthetic cassette
#    in tmp_path. presets/<id>/openapi.json fits the same slot.

# 3) Regenerate the preset bundles from real published specs (no key).
#    Works from a checkout, and β€” since 0.2.2 started carrying the sampled
#    layer β€” from a plain pip install too (note 1). On 0.2.1 as published from
#    PyPI, or to point at a different bundle set, pass --presets-root <path>
#    or set MCPORTAL_PRESETS=<path>.
mcportal presets            # list
mcportal compile --check    # byte-compare committed vs regenerated (exit 3 on drift)

# 4) The whole test suite (no live network, no key, no real data).
pytest -q

Install

Terminal
pip install mcportal            # core runtime (single dependency: httpx)
pip install "mcportal[mcp]"     # + the MCP conversion layer (fastmcp)

Dependency policy: the core runtime depends on httpx and nothing else. The spec-normalizing compiler (mcportal.compiler) uses only the standard library and httpx. fastmcp is required solely by mcportal.mcp and ships as the optional [mcp] extra β€” without it, import mcportal and the entire test suite still work, and calling into the MCP layer raises a Korean ImportError that explains how to install it. The [mcp] extra also declares anyio, because the sync-to-async bridge imports anyio.to_thread directly; httpx pulls anyio in transitively, but a direct import deserves a direct declaration so that pins and lockfiles constrain it.

import mcportal does not import mcportal.mcp β€” that is what keeps the import working without fastmcp installed. The MCP symbols are resolved lazily on first attribute access through a module __getattr__ (PEP 562), so from mcportal.mcp import build_server and mcportal.build_server refer to the same object. Either spelling is fine.

Single-key principle (no multi-key rotation)

MCPortal's data.go.kr profile does not support multi-key rotation. data.go.kr issues one key per development account and meters a daily call limit against it; cycling several keys to escape that limit risks violating the service's operating policy and inviting account sanctions. MCPortal respects the structure as it is and accepts a single key. When the limit is too low, the supported answer is data.go.kr's own path β€” registering a use case and applying for the operational tier β€” not more keys.

CLI

The CLI uses the standard library argparse only. Zero new runtime dependencies is a binding rule for this project, so even the terminal tables are laid out by hand (Hangul counted as double width, ASCII rules, safe on a Windows cp949 console).

Code
mcportal quota status [--ledger PATH] [--budget N] [--day YYYY-MM-DD]
                      [--key-fp FP | --key-env VAR] [--json]
mcportal compile [PRESET_ID ...] [--presets-root PATH] [--check] [--json]
mcportal presets [--presets-root PATH] [--json] [--verbose]
mcportal sample PRESET_ID ... --key-env VAR [--budget N] [--count N]
                [--ledger PATH] [--presets-root PATH] [--json]
mcportal serve PRESET_ID [--replay | --key-env VAR] [--presets-root PATH]
                         [--name TEXT]

Read the full README β†’View source on GitHub β†’

Related MCP Servers

View all in Developer Tools View all alternatives
  • Publicdata Kr logoPublicdata Kr

    Korean public data API gateway for discovering and calling data.go.kr APIs from MCP clients.

    πŸ’» Developer Tools0 views
    Compare vs Publicdata Kr β†’
  • AENA Flights MCP logoAENA Flights MCP

    Flight data for Spain's 50 AENA airports over the public and OAuth2 REST APIs

    πŸ’» Developer Tools0 views
    Compare vs AENA Flights MCP β†’
  • PraisonAI logoPraisonAI

    AI Agents Framework with Self Reflection and MCP support

    πŸ’» Developer Tools1 views
    Compare vs PraisonAI β†’
  • SvGrid logoSvGrid

    Version-pinned Svelte 5 data grid APIs, 373 demo sources, and SvelteKit app scaffolding.

    πŸ’» Developer Tools1 views
    Compare vs SvGrid β†’

Reviews

No reviews yet β€” be the first to share how this listing worked for you.

Frequently Asked Questions about Mcportal

Add the following block to your claude_desktop_config.json under mcpServers: "mcpServers": { "mcportal": { "command": "npx", "args": ["-y", "mcportal"] } }

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewMcportal AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/mcportal?style=directory)](https://allmcps.com/mcp/mcportal)
HTML Embed
<a href="https://allmcps.com/mcp/mcportal"><img src="https://allmcps.com/api/badge/mcportal?style=directory" alt="Mcportal on AllMCPs" /></a>

Technical Specs & Signals

CategoryπŸ’»Developer Tools
More technical detailsExpand β–Ύ
TransportSTDIO
RuntimeNode.js
Last updatedSep 7, 2026
Views0
Unique ViewsTotal visits recorded for this listing page on AllMCPs.
Installs0
Installs & Copy ActionsTotal times users copied install commands or configuration snippets for this server.
27Quality signal: Emerging Β· 27/100How this signal is calculated β–Ύ
Server availabilityNot measured

Not scored for repo-hosted servers β€” we can't reach the running server, only its GitHub page. Hosted MCP endpoints are health-checked live.

Verified ownership8/20
Documentation & tools11/30
Adoption & activity1/15
Community engagement0/10

A guidance signal from public completeness & health data β€” not a user rating. New listings start lower and rise as they add docs, get verified, and grow adoption. Signals we can't observe for a listing are skipped, not counted against it.

β˜… Spotlight Slot

Feature Your MCP Server

Get maximum visibility for your server across our directory, search results, and detail pages.

Spotlight Your Server

Own this project?

This directory is pre-filled from public sources. Claim via GitHub README, site badge, or DNS TXT to unlock edit access and the Official badge and attach your website β€” proof is checked automatically, then reviewed by our team.

Free dofollow backlink: add your website and place the AllMCPs badge on it β€” no claim needed. We detect it automatically and keep it verified as long as the badge stays live.

Claim & get free dofollow

Share & Embed

Add our SVG badge (dark/light directory styles) or embeddable widget to your site.

Explore more

More in πŸ’» Developer Tools β†’Best MCP servers for Developers β†’Alternatives to Mcportal β†’Install in Claude DesktopInstall in CursorInstall in VS Code