ko-agent-tools-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., "@ko-agent-tools-mcp15300원을 한글 금액으로 바꿔줘"
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.
ko-agent-tools-mcp
한국어 AI 에이전트를 위한 작은 도구 모음을 MCP 서버로 제공합니다. AETHERION AI에서 분리한 오픈소스 프로젝트이며, 현재 뼈대(v0.0.1) 단계입니다.
도구
도구 | 설명 |
| 한글 초성 추출 ( |
| 숫자 → 한글 금액 ( |
| 연도별 한국 공휴일 (음력·대체공휴일은 2025–2026만 표로 지원, 그 외 연도는 |
| 날짜가 영업일인지 확인 |
Related MCP server: local-mcp
설치·실행
pip install git+https://github.com/Kimjinyoung0529/ko-agent-tools-mcp
ko-agent-tools-mcp # stdio MCP 서버MCP 클라이언트 설정 예:
{"mcpServers": {"ko-agent-tools": {"command": "ko-agent-tools-mcp"}}}테스트
pip install -e ".[test]" && pytest -qEnglish
Small Korean-language utility tools for AI agents, exposed as an MCP stdio server: Hangul initial-consonant (chosung) extraction, integer → Korean currency words, Korean public holidays (lunar/substitute holidays tabulated for 2025–2026 only; other years are flagged complete: false), and business-day checks. Status: early skeleton (v0.0.1). No benchmarks or usage numbers are claimed.
License: Apache-2.0 · Maintained by AETHERION 팀
Available Tools
4 toolsextract_chosungC
한글 텍스트에서 초성을 추출합니다.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about how non-Hangul characters, digits, spaces, or mixed-script input are handled, nor what the extracted output looks like. It does not contradict anything, but it also adds no behavioral context beyond the purpose statement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with the resource and action front-loaded and no filler. It is efficient, though its brevity leaves it close to under-specification for a tool with no annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The existence of an output schema means return values need not be explained, and the input is trivially a single string. Still, for a tool with zero annotation coverage, the description should say at least how non-Hangul input is treated to be complete enough for confident invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'text' has 0% schema description coverage, so the description must compensate; '한글 텍스트에서' does signal that the input should be Korean text, which is meaningful. However, nothing is said about format, length limits, or expected character set beyond that hint.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('추출합니다' / extract) and a specific resource ('초성' / initial consonants) from Hangul text, which is clearly distinct from the sibling tools (number_to_korean, korean_holidays, is_korean_business_day). It stops short of 5 only because '초성' is domain jargon that an agent may not resolve without prior knowledge.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the Korean-related siblings, no prerequisites, and no mention of what input is unsuitable (e.g., non-Hangul or mixed text). The agent must infer usage entirely from the one-line purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
is_korean_business_dayB
YYYY-MM-DD 날짜가 한국 영업일인지 확인합니다.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It implies a read-only check but never defines what makes a day a 'business day' (weekends only? public holidays too?), and with no output schema it never indicates the return value (presumably a boolean).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single efficient sentence with the format hint front-loaded and zero filler. Nothing in it is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter check this is close to adequate, but with no output schema and no annotations the definition should state the return type and the holiday/weekend rule. Those two omissions are the main gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the schema only labels the parameter 'Date' as a string. The description adds the accepted format YYYY-MM-DD, which is genuinely useful. However, it says nothing about timezone or invalid-input behavior, so it only partially compensates for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (확인합니다 / check) and a specific resource (whether a date is a Korean business day), so an agent can tell this apart from sibling tools like korean_holidays. It doesn't explicitly name or contrast those siblings, which keeps it from a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus korean_holidays or the other siblings, and no stated preconditions. The agent must infer usage entirely from the one-line purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
korean_holidaysC
해당 연도의 한국 공휴일 목록을 반환합니다.
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It implies a read operation and names the returned data, but says nothing about ordering, whether substitute/alternative holidays are included, behavior for invalid or out-of-range years, or timezone assumptions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single efficient sentence with the resource and scope front-loaded. Nothing is wasted, though there is little content to begin with.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter lookup tool the core intent is conveyed, but with no annotations, no output schema, and 0% parameter coverage, the description leaves the agent without any information on return shape or edge-case behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the single 'year' parameter is undocumented in the schema. The description only implies it via '해당 연도(the given year)' and adds no format, range, or validation semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (반환합니다/returns) and resource (한국 공휴일 목록/Korean public holiday list) scoped by year. The purpose is clear and distinguishable from siblings like is_korean_business_day, though it does not explicitly name the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus is_korean_business_day, which is a closely related holiday/business-day sibling. An agent must infer the split from the names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
number_to_koreanB
정수를 한글 금액 표기로 바꿉니다 (예: 15300 -> 일만오천삼백원).
| Name | Required | Description | Default |
|---|---|---|---|
| n | Yes | ||
| won | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the core transformation and one example, but it does not explain the effect of the optional `won` flag, handling of negatives or large numbers, or that the operation is a pure non-mutating conversion.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with an example; no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple pure conversion with an output schema, the core operation is covered, but the optional `won` parameter's behavior is not explained and there are no annotations to fill the gap, so the definition is only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The description demonstrates the required `n` parameter through an example, but it says nothing about the optional `won` boolean or how it changes the output (e.g., whether 원 is omitted), leaving one of two parameters undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource in Korean ('정수를 ... 바꿉니다') and supplies a concrete input/output example, so the agent can identify the operation immediately. Sibling tools are unrelated, so no sibling differentiation is needed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides no when-to-use, when-not-to-use, or alternative guidance. The implied use case is any integer-to-Korean-amount conversion, but the description does not say how to choose this tool over another approach.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
v0.0.1- First observed
extract_chosung - First observed
is_korean_business_day - First observed
korean_holidays - First observed
number_to_korean
TDQS
Scored across 4 tools
Each tool targets a distinct function: chosung extraction, amount formatting, holiday listing, and business-day checking. The only mild overlap is between korean_holidays and is_korean_business_day, since business-day logic depends on holidays, but the descriptions make the boundary clear (list vs. boolean check).
All names use consistent snake_case with descriptive English tokens. There is minor variation in style—two verb_object names (extract_chosung, number_to_korean), one noun phrase (korean_holidays), and one predicate (is_korean_business_day)—but the pattern remains predictable and readable.
Four tools is small but each one earns its place in a Korean locale utility kit. It is slightly thin for a general-purpose toolkit, but not so sparse that any tool feels like filler.
The surface covers chosung extraction, Korean amount formatting, holiday listing, and business-day checks, but has notable gaps: no reverse conversion, no business-day arithmetic (e.g., add N business days), no per-date holiday-name lookup, and no other common Korean text utilities like jamo decomposition or romanization.
Maintenance
Related MCP Connectors
- mcpweaveOAuthcom.mcpweave
Korea-native MCP gateway: Korean commerce, payments, messaging, gov & finance APIs for AI agents.
Pay-per-call tools for agents via x402 (USDC on Base): Korean data, doc-to-Markdown, web utilities.
All KR Data tools in one server: Korean business checks, addresses, laws, car flood records & more
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Related MCP Servers
- FlicenseAqualityDmaintenanceA lightweight MCP server providing utility tools for math, text processing, data conversion, and URL fetching. It supports both STDIO and SSE communication modes for seamless integration with Claude Desktop and remote AI agents.51-
- AlicenseNot gradedqualityDmaintenanceA lightweight, stdio-based MCP server enabling AI assistants to perform local file system operations like reading, writing, searching, and executing commands.1,023 npmMIT
- FlicenseNot gradedqualityDmaintenanceA Korean life utility MCP server providing 15 tools for Hangul decomposition, romanization, number-to-Korean conversion, business number validation, holiday lookup, and more, all without external API calls.1-
- AlicenseNot gradedqualityCmaintenanceProvides MCP servers (stdio and HTTP) with tools for calculation, text statistics, and unit conversion, plus an agent host that uses Gemini to orchestrate tool calls across them.ISC