MyKIFRS MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MyKIFRS MCPSearch K-IFRS for lease accounting paragraphs and related Q&A"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MyKIFRS MCP
Full-text search over Korean accounting standards and the official Q&A that interprets them, served as a remote MCP server for accounting professionals.
The corpus covers K-IFRS, K-GAAP (일반기업회계기준), interpretations, the Conceptual Framework, Korean auditing standards, ICFR (내부회계관리제도) standards, KSSB sustainability disclosure standards, and 3,669 authoritative Q&A (회계기준원·금융감독원·신속처리질의·IFRS IC agenda decisions). Standards are stored paragraph by paragraph, and each paragraph carries the Q&A that cite it.
Endpoint:
https://mykifrs.eocpa.kr/mcp(Streamable HTTP, stateless)Credential: an eocpa token from eocpa.kr/token
Nothing to install: register the URL in claude.ai, Claude Desktop, Claude Code, Cursor, or any Streamable HTTP client
Landing page (Korean): eocpa.kr/mykifrs
Why
A language model can paraphrase an accounting standard; a practitioner has to cite it. The paragraph number, the exact wording, the conditions in the neighboring paragraphs, and the regulator's answer to the same question are what go into a memo. This server returns them verbatim: search hits point at a unique_key such as 1116-33, get_paragraph returns that paragraph with its surrounding context, and related_qnas lists the Q&A documents that were issued about it.
Related MCP server: dart-notes-mcp
Tools
Tool | Input | Returns |
|
| Paragraph hits across all standards ( |
|
| Q&A hits with |
|
| The paragraph text with |
|
| Full text of a Q&A document (an array — a number can appear more than once or be empty; |
|
| Catalog of standards in the corpus with their |
|
| Aggregate server usage statistics |
Every tool is read-only, idempotent, and local (SQLite + FTS5). No external call is made while serving a request.
Search behavior
Tokens of three or more characters go to FTS5 (AND-joined, rank-ordered). One- and two-character tokens become
LIKEfilters, because the trigram index cannot match them. A query made only of short tokens still works but is ordered by standard number, not relevance.Search hits return a snippet with matched terms wrapped in
⟦…⟧. A snippet is a fragment; quoteget_paragraph'scontent_text, never the snippet.unique_keyis{standard number}-{paragraph number}and paragraph numbers are not digits-only (B58,AG12,6.1.1). Pass the value verbatim.
Using the server
1. Get a credential
Request an eocpa token at eocpa.kr/token. Tool calls require it; discovery (initialize, tools/list, ping) works without one, so connector onboarding never fails on authentication.
2. Connect
The credential can travel in any of these slots; the server treats them identically:
Slot | Example |
Custom header |
|
Bearer |
|
Query string |
|
claude.ai (web) — the custom connector dialog takes a URL only, so put the token in the query string:
https://mykifrs.eocpa.kr/mcp?key=<token>Claude Desktop / Claude Code — bridge with mcp-remote so the token stays in a header:
{
"mcpServers": {
"mykifrs": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mykifrs.eocpa.kr/mcp", "--header", "x-eocpa-token:${EOCPA_TOKEN}"],
"env": { "EOCPA_TOKEN": "<token>" }
}
}
}Clients with a header field (Cursor and others) — enter the endpoint and the x-eocpa-token header directly.
A Claude Code plugin manifest is included at .claude-plugin/plugin.json, and server.json is the manifest for the official MCP Registry.
3. Check
curl https://mykifrs.eocpa.kr/health
curl -X POST https://mykifrs.eocpa.kr/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "x-eocpa-token: <token>" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'A tool call without a credential returns 401; a credential that is present but rejected returns 403 with a message that says so.
PlayMCP channel
https://mykifrs.eocpa.kr/mcp/playmcp is the same server behind the same authentication, with the response contract the PlayMCP platform requires: every tool result stays within 24,000 characters. Results that would exceed it are structurally truncated (array tails and the longest strings are shortened) and flagged with playmcp_truncated: true, a playmcp_truncation_note, and playmcp_text_truncated on any object whose text was cut. get_usage_stats is not registered on this channel. The standard /mcp endpoint never truncates.
Data and terms of use
The corpus (data/kasb.sqlite) is not part of this repository. Standards text is the work of the Korea Accounting Standards Board and, for K-IFRS, the IFRS Foundation; the Q&A are publications of KASB and the Financial Supervisory Service. The hosted server is offered for personal reference by accounting practitioners. Redistribution of the full text or turning the corpus into a public service requires the rights holders' permission.
Development
Requires Node.js 22+.
git clone https://github.com/taesueocpa/mykifrs-mcp.git
cd mykifrs-mcp
npm install
npm run buildRunning the server locally needs a corpus at data/kasb.sqlite (schema in src/store/kasb-db.ts), which this repository does not ship. With one in place:
npm run stdio # stdio transport
npm start # HTTP on :8080 — /mcp and /mcp/playmcpEnvironment variable | Purpose |
| HTTP port (default 8080) |
| Corpus location (default |
| Token validation endpoint (default |
| Local development only — skips token validation; ignored on Fly.io |
| Usage log location (default |
| PlayMCP channel budget (default |
| Comma-separated |
Layout:
src/main.ts entry point (stdio by default, --http or MCP_MODE=http for remote)
src/tools/ tool registry — the single source of truth for both transports
src/server/ dispatch, server assembly, auth, HTTP wiring, PlayMCP profile and budget guard
src/store/ SQLite schema, boot-time validation, FTS definition, usage log
src/search/ query tokenizer (FTS / LIKE split)Related
This server cannot be deployed
Maintenance
Related MCP Connectors
Full-text search over K-IFRS/K-GAAP standards and KASB accounting Q&A for Korean accountants
Full-text search over FSS/FSC accounting supervision documents for Korean accounting professionals
Search company disclosures and financial statements from the Korean market. Retrieve stock profile…
Powerful OpenDART API-based Korean corporate disclosure tools for accounting professionals
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables querying K-IFRS and K-GAAP accounting standards from kifrs.com through Claude, providing tools for listing, retrieving standard details, and searching.-
- AlicenseAqualityDmaintenanceEnables precise search of financial statement footnotes from Korean DART electronic disclosure, filtering by market, industry, and topic with high precision through rule-based topic matching.7MIT
- FlicenseNot gradedqualityBmaintenanceEnables searching and retrieving Korean accounting standards (K-IFRS, general corporate accounting standards) and Q&A summaries from the Korea Accounting Standards Board (KASB) database directly in Claude.-
- FlicenseNot gradedqualityBmaintenanceMCP server for searching and retrieving Korean accounting standards (K-IFRS, general corporate accounting standards) and Q&A summaries from the KASB database. Provides four tools: keyword search of standards and Q&As, real-time full text of standards, and cached Q&A details.-