koreafilings-mcp
MCP server that turns koreafilings.com into a
callable toolset for Claude Desktop, Cursor, Continue, and any other MCP
client. Built on top of the koreafilings
Python SDK; the underlying HTTP + x402 + EIP-3009 flow is delegated entirely
to the SDK so this package is just the protocol bridge.
Once installed, your agent can resolve a Korean company by name, browse the market-wide disclosure feed for free, and pay per call to fetch AI-generated English summaries — all without leaving the chat.
Tools
| tool | payment | what it does |
|---|---|---|
get_pricing |
free | Live pricing descriptor — wallet, network, USDC contract, per-endpoint price. |
find_company |
free | Trigram fuzzy search of 3,961 KRX-listed companies by Korean name, English name, or ticker. Returns ticker, corp_code, name_kr, name_en, market. |
list_recent_filings |
free | Market-wide recent DART filings (metadata only — title, date, filer, ticker). Use to scan before paying for summaries. |
get_recent_filings |
0.005 × limit USDC | Batch AI summaries for one ticker. Price is declared dynamically in the 402 (limit=5 → 0.025 USDC). Includes the on-chain settlement tx hash. |
get_disclosure_summary |
0.005 USDC | AI summary for a single DART receipt number when the agent already has one. |
The natural agent flow is find_company → get_recent_filings (one
free call to resolve a name to a ticker, one paid call to fetch summaries
for that ticker). get_disclosure_summary is the direct path when the
agent already has a 14-digit receipt number from somewhere else.
Quickstart — Claude Desktop
-
Install (requires uv):
uv tool install koreafilings-mcp
-
Open Claude Desktop → Settings → Developer → Edit Config, and add:
{ "mcpServers": { "koreafilings": { "command": "uv", "args": ["tool", "run", "koreafilings-mcp"], "env": { "KOREAFILINGS_PRIVATE_KEY": "0x_your_burner_wallet_key", "KOREAFILINGS_NETWORK": "base" } } } }
Use a fresh burner wallet funded only with the USDC you intend to spend — see "Security notes" below.
-
Restart Claude Desktop. Five koreafilings tools should now appear in the 🔧 menu.
-
Ask: "What did Samsung Electronics file at DART recently?" Claude calls
find_company("Samsung Electronics"), picks005930from the matches, then callsget_recent_filings("005930", limit=5). The MCP server signs an EIP-3009 authorization with your key, pays 0.025 USDC on Base, and returns five English summaries with importance scores plus a BaseScan tx link.
Quickstart — Cursor / Continue
The MCP server speaks stdio so any client supporting the MCP protocol will pick up the same five tools. Point your client at:
uv tool run koreafilings-mcp
with the same two environment variables (KOREAFILINGS_PRIVATE_KEY,
KOREAFILINGS_NETWORK=base).
Configuration
| env var | required | default | notes |
|---|---|---|---|
KOREAFILINGS_PRIVATE_KEY |
for paid tools | — | 0x-prefixed 32-byte hex; signs the x402 payment locally. The key never leaves the MCP server process. |
KOREAFILINGS_NETWORK |
no | base-sepolia |
base-sepolia (testnet) or base (mainnet). Must match the server's advertised 402 response or the SDK aborts before signing. |
KOREAFILINGS_BASE_URL |
no | https://api.koreafilings.com |
Override for self-hosted deployments. |
Free tools (get_pricing, find_company, list_recent_filings) work
without a private key — useful to confirm the network and wallet, or to
explore the feed, before funding a payer.
Local development
git clone https://github.com/OldTemple91/korea-filings-api.git
cd korea-filings-api
uv venv mcp/.venv
source mcp/.venv/bin/activate
uv pip install -e mcp/
KOREAFILINGS_PRIVATE_KEY=0x... KOREAFILINGS_NETWORK=base koreafilings-mcp
# stdio; pipe to an MCP client
Inspect interactively with the official MCP Inspector:
npx @modelcontextprotocol/inspector uv run koreafilings-mcp
Security notes
- The MCP server is trusted with a wallet private key — only ever use a fresh burner wallet funded with the USDC you intend to spend. Same threat model as any per-call merchant integration.
- On Base Sepolia all amounts are testnet value. On
basemainnet each paid tool call moves real USDC. - The SDK signs locally; the key is not transmitted to koreafilings.com or to the facilitator. Only the signed authorization goes on the wire.
- Each EIP-3009 authorization carries a fresh nonce. The facilitator refuses replays.
Links
- Landing: https://koreafilings.com
- Repo: https://github.com/OldTemple91/korea-filings-api
- Python SDK: https://pypi.org/project/koreafilings/
MIT-licensed.
Metadata
Release files for koreafilings-mcp 0.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| koreafilings_mcp-0.3.1.tar.gz | 6.8 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| koreafilings_mcp-0.3.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 14.7 kB
Release files / koreafilings_mcp-0.3.1.tar.gz
| Download URL | koreafilings_mcp-0.3.1.tar.gz |
|---|---|
| Size | 6.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5695a4be2aea442dbddfa37dcd2c2abf62436bc29a732637564ca8dc220a6568
|
|
BLAKE2b-256 checksum How to use checksums |
c754071e592bc23b8d9664ea0ecf20999326afab3e5bf37fea958d3b319dd32f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / koreafilings_mcp-0.3.1-py3-none-any.whl
| Download URL | koreafilings_mcp-0.3.1-py3-none-any.whl |
|---|---|
| Size | 7.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6236f4a6c28eeac98ca8ddda11e90a24871efdc4c33ada90fed5c23b1a30856a
|
|
BLAKE2b-256 checksum How to use checksums |
d7c6f4dbf73d3bf3780c482cd64e27fc5f3af8dffb818152981ee7f98d60f4aa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for koreafilings-mcp 0.3.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.