# Quokka Korea Tools

> Korean holidays, business days & legal deadlines, won amounts in words, NEIS/SMS byte counts

- name: com.thequokkacompany/korea-tools
- version: 0.5.2
- connection class: R0 (autonomous)
- trust: 96/100
- quality: 89/100 (new)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.thequokkacompany%2Fkorea-tools
- tools: https://api.protogrid.dev/v1/servers/com.thequokkacompany%2Fkorea-tools/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "korea-tools": {
      "type": "http",
      "url": "https://mcp.thequokkacompany.com/korea"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 100
- freshness: 100
- provenance: 85
- drivers: +repository +dns-namespace +website +reachable +uptime-100% +updated-0d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 89/100 (new)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 17 of 17 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 3,274 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump
- pass `tools.hidden_text`: no hidden text in tool names, descriptions, schemas or annotations

### stability: n/a (weight 15)

- n/a `stability.changes`, `stability.rug_pull`, `stability.new_links`: tool history recorded for 1 of the 7 days needed

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 17, about 3,274 tokens to load them all
- tool set hash: cd8d7af07f4b8a14076846f7ac791822
- tools last changed: 2026-11-14T04:06:37.637Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.thequokkacompany/korea-tools.svg)](https://protogrid.dev/servers/com.thequokkacompany/korea-tools)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-11-14 `kr_amount_check` added
  - Find amounts written both in Korean words and in digits in a contract, quote or IOU, e.g. "일금 일백이십삼만원정(₩1,230,000)" or "1,230,000원(금 일백이십삼만원)", and check that the two agree. Mismatches come back with both values and the correct Korean words for the digits. You can also pass explicit pairs. Use before sending or signing a Korean document with amounts.
- 2026-11-14 `kr_lunar_convert` changed (description)
  - before: Convert between the Korean lunar calendar (음력) and the Gregorian calendar using the Korea Astronomy and Space Science Institute standard, with leap months (윤달) and 간지. Korean and Chinese lunar dates differ in some years (2027 Lunar New Year: Korea Feb 7, China Feb 6), so do not use a Chinese lunar library for Korean dates. For a lunar birthday or memorial day (제사) give lunar_month_day and years to get the solar date in each year. Range: lunar 1000-01-01 to 2050-11-18.
  - after: Convert between the Korean lunar calendar (음력) and the Gregorian calendar using the Korea Astronomy and Space Science Institute standard, with leap months (윤달) and 간지. Korean and Chinese lunar dates differ in some years (2027 Lunar New Year: Korea Feb 7, China Feb 6), so do not use a Chinese lunar library for Korean dates. For a lunar birthday or memorial day (제사) give lunar_month_day and years to get the solar date in each year. With no arguments it returns today's lunar date in Korea. Range: lunar 1000-01-01 to 2050-11-18.
- 2026-11-13 `kr_lunar_convert` added
  - Convert between the Korean lunar calendar (음력) and the Gregorian calendar using the Korea Astronomy and Space Science Institute standard, with leap months (윤달) and 간지. Korean and Chinese lunar dates differ in some years (2027 Lunar New Year: Korea Feb 7, China Feb 6), so do not use a Chinese lunar library for Korean dates. For a lunar birthday or memorial day (제사) give lunar_month_day and years to get the solar date in each year. Range: lunar 1000-01-01 to 2050-11-18.
- 2026-11-12 `kr_relative_date` added
  - Turn a Korean relative date expression into an exact date and weekday, counted from a base date in Korea time: 오늘/내일/모레/내일모레/글피, 어제/그제, "3일 뒤", "이틀 후", "2주 후", "한 달 뒤", "3영업일 후", "다음 주 화요일", "지난주 금요일", "이번 주말", "금요일", "다음 달 말일", "이번 달 25일", "내년 3월 1일", "연말". Weeks start on Monday. Also says whether the result is a Korean business day. Use this instead of working out weekdays yourself.
- 2026-11-12 `kr_text_count` added
  - Count Korean text exactly: characters with and without spaces (as Korean job sites count 자기소개서), lines, words, UTF-8 bytes, NEIS school-record bytes (Hangul 3, ASCII 1), and SMS/LMS bytes with the message type. Models see tokens, not characters, so use this instead of estimating length.
- 2026-11-12 `kr_legal_deadline` added
  - Compute when a period expires under the Korean Civil Act (arts. 155-161), the default rule when a law or contract does not say otherwise: the first day is not counted unless the period starts at 00:00; weeks, months and years follow the calendar and end the day before the corresponding date (or at month end if that date does not exist); if the last day is a Saturday, Sunday or public holiday the deadline moves to the next working day. Use for "within 14 days of receipt", "1 month from notice", contract terms. Not legal advice; some statutes set their own rules. Holiday data covers 2024-2027 (source: KASI; updated 2026-11-12). It includes substitute holidays and election days, and the 2026 additions Labor Day (May 1) and Constitution Day (Jul 17).

Full history: https://api.protogrid.dev/v1/servers/com.thequokkacompany%2Fkorea-tools/changes

## Remotes

- https://mcp.thequokkacompany.com/korea (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (17)

- `kr_add_business_days`: Move forward (or back, with negative days) a number of South Korean business days from a start date, skipping weekends and public holidays. The start date itself is not counted. Use for deadlines like "within 7 business days". Holiday data covers 2024-2027 (source: KASI; updated 2026-11-12). It includes substitute holidays and election days, and the 2026 additions Labor Day (May 1) and Constitution Day (Jul 17).
- `kr_address_split`: Split South Korean addresses into province/city (시도, normalized to the official name such as 서울특별시), district (시군구, including 일반구 like 수원시 영통구), base address (road name + building number) and detail (unit). Handles leading postal codes and addresses written without spaces. Rule-based; does not look up a database.
- `kr_age`: Compute international age (만 나이, the legal standard in Korea since June 2023) and year age (연 나이, used by the Youth Protection Act and military service) on a reference date. Input a birth date, or the first 7 digits of a resident registration number (YYMMDD-G) to also get sex and century. Feb 29 birthdays turn a year older on Mar 1 in common years. The input is not stored.
- `kr_amount_check`: Find amounts written both in Korean words and in digits in a contract, quote or IOU, e.g. "일금 일백이십삼만원정(₩1,230,000)" or "1,230,000원(금 일백이십삼만원)", and check that the two agree. Mismatches come back with both values and the correct Korean words for the digits. You can also pass explicit pairs. Use before sending or signing a Korean document with amounts.
- `kr_amount_to_korean`: Write a won amount in Korean words exactly: reading form ("백이십삼만 사천오백육십칠 원", spaced every 만 per Korean orthography), contract/receipt form ("일금 일백이십삼만사천오백육십칠원정"), and mixed form ("123만 4,567원"). Whole numbers below 10^20.
- `kr_business_day`: Check whether a date is a business day in South Korea (not a weekend and not a public holiday), and give the previous and next business days. Holiday data covers 2024-2027 (source: KASI; updated 2026-11-12). It includes substitute holidays and election days, and the 2026 additions Labor Day (May 1) and Constitution Day (Jul 17).
- `kr_business_number_check`: Validate the format and check digit of South Korean business registration numbers (사업자등록번호, 10 digits, NTS weights 1,3,7,1,3,7,1,3,5) and format them as 123-45-67890. This is an offline checksum test only: it does not tell whether the business is open or closed.
- `kr_count_business_days`: Count South Korean business days between two dates (both ends included by default). Also returns weekend and weekday-holiday counts. Holiday data covers 2024-2027 (source: KASI; updated 2026-11-12). It includes substitute holidays and election days, and the 2026 additions Labor Day (May 1) and Constitution Day (Jul 17).
- `kr_holidays`: List South Korean public holidays (공휴일) for a year or a date range, with Korean names. Holiday data covers 2024-2027 (source: KASI; updated 2026-11-12). It includes substitute holidays and election days, and the 2026 additions Labor Day (May 1) and Constitution Day (Jul 17).
- `kr_korean_to_amount`: Read a Korean money expression as an exact number: "1억 2천만 원", "삼백오십만원", "일금 일백만원정", "2.5억", "12만3천". Returns digits and comma form.
- `kr_legal_deadline`: Compute when a period expires under the Korean Civil Act (arts. 155-161), the default rule when a law or contract does not say otherwise: the first day is not counted unless the period starts at 00:00; weeks, months and years follow the calendar and end the day before the corresponding date (or at month end if that date does not exist); if the last day is a Saturday, Sunday or public holiday the deadline moves to the next working day. Use for "within 14 days of receipt", "1 month from notice", contract terms. Not legal advice; some statutes set their own rules. Holiday data covers 2024-2027 (source: KASI; updated 2026-11-12). It includes substitute holidays and election days, and the 2026 additions Labor Day (May 1) and Constitution Day (Jul 17).
- `kr_lunar_convert`: Convert between the Korean lunar calendar (음력) and the Gregorian calendar using the Korea Astronomy and Space Science Institute standard, with leap months (윤달) and 간지. Korean and Chinese lunar dates differ in some years (2027 Lunar New Year: Korea Feb 7, China Feb 6), so do not use a Chinese lunar library for Korean dates. For a lunar birthday or memorial day (제사) give lunar_month_day and years to get the solar date in each year. With no arguments it returns today's lunar date in Korea. Range: lunar 1000-01-01 to 2050-11-18.
- `kr_mask_pii`: Mask Korean personal data before you store, log or share it. Text mode finds and masks resident registration numbers (900101-1******), phone numbers (010-****-5678), emails (ab****@x.com) and 16-digit card numbers inside free text. Item mode masks given values by kind, including names (홍*동). Nothing is stored or logged.
- `kr_name_split`: Split Korean full names into family name and given name, recognizing two-character surnames (남궁, 황보, 제갈, 선우 …). Flags names that are ambiguous from the characters alone (선우진 = 선 + 우진 or 선우 + 진). Latin-script names use the last word as family name.
- `kr_phone_format`: Normalize South Korean phone numbers (mobile 010, Seoul 02, regional 031-064, 070, 050x safe numbers, 15xx/16xx/18xx company numbers) to one style. Restores a leading 0 dropped by Excel, converts +82, keeps extensions. Unknown shapes return null.
- `kr_relative_date`: Turn a Korean relative date expression into an exact date and weekday, counted from a base date in Korea time: 오늘/내일/모레/내일모레/글피, 어제/그제, "3일 뒤", "이틀 후", "2주 후", "한 달 뒤", "3영업일 후", "다음 주 화요일", "지난주 금요일", "이번 주말", "금요일", "다음 달 말일", "이번 달 25일", "내년 3월 1일", "연말". Weeks start on Monday. Also says whether the result is a Korean business day. Use this instead of working out weekdays yourself.
- `kr_text_count`: Count Korean text exactly: characters with and without spaces (as Korean job sites count 자기소개서), lines, words, UTF-8 bytes, NEIS school-record bytes (Hangul 3, ASCII 1), and SMS/LMS bytes with the message type. Models see tokens, not characters, so use this instead of estimating length.
