MyKIFRS
Server Details
Full-text search over K-IFRS/K-GAAP standards and KASB accounting Q&A for Korean accountants
- Status
- Healthy
- Uptime
- 100.0% over 21 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 6 tools
Each tool targets a distinct resource and action: search vs. retrieve vs. list, with standards and Q&A corpora kept cleanly apart. get_paragraph and get_qna are clearly separated by entity type, and get_usage_stats is obviously a server-level utility.
All tool names follow a consistent lowercase snake_case verb_noun pattern: get_, search_, and list_. There are no mixed conventions, vague verbs, or unpredictable naming styles.
Six tools is well-scoped for a read-only accounting-standards research server: search/retrieval pairs for standards and Q&As, a catalog listing, and usage statistics. Each tool earns its place without redundancy or sprawl.
The surface fully covers the apparent domain: discover standards, search and retrieve exact paragraphs with context, search and retrieve full Q&A responses, and link between them. There are no dead ends for the intended research workflow.
Available Tools
6 toolsget_paragraph기준서 문단 원문ARead-onlyIdempotentInspect
MyKIFRS MCP의 get_paragraph 도구는 기준서 문단 전문을 앞뒤 문맥과 함께 반환합니다.
[Purpose]
To quote a found 문단 exactly — a search snippet is never quotable evidence.
To check 조건절·예외 with neighbors.
[Usage]
"1116호 33문단 원문" → unique_key="1116-33"
"앞뒤로 더 넓게" → unique_key="1116-33", context=5
[Response]
{ standard:{std_num, title, category}, target, related_qnas:[doc_number], items:[…] }
items[]: { seq, item_type, unique_key, para_num, level, title, ref, content_text }; item_type "paragraph"=본문, "title"=제목.
related_qnas → get_qna.
Miss → { error: "문단 없음: {unique_key}", similar:[{unique_key, para_num}] } (≤5).
[Rules]
unique_key = "{기준서번호}-{문단번호}"; 문단 numbers aren't digits-only (B58·6.1.1) — pass verbatim, never normalize.
Keys can carry a "-N" suffix ("1109-B2.7" misses, "1109-B2.7-1" hits — 12% of 문단). On a miss retry a
similarcandidate; never read it as "the 문단 does not exist".context expands within one part — boundaries return fewer items; not an error.
Quote content_text, never a snippet.
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | 앞뒤로 포함할 항목 수 (기본 2) | |
| unique_key | Yes | 문단 키 (예: '1116-33') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds substantial non-annotation behavior: the full success response shape, the miss/error format with similar[] candidates, boundary behavior ('context expands within one part — boundaries return fewer items; not an error'), and the crucial '-N' suffix matching nuance with a concrete example. No contradiction with the annotations.
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?
The description is organized into labeled sections — Purpose, Usage, Response, Rules — making it scannable, and the core purpose is front-loaded in the first sentence. It is long, but every section earns its place given the tool's real complexity (key format quirks, boundary behavior, error handling). The slight Korean-English mixing is contextually appropriate for a Korean-titled MCP and not penalized.
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?
With no output schema present, the description carries the full burden of documenting return values — and the Response section does this thoroughly, covering the success structure, the items[] fields, the error/miss format, and routing to get_qna. Combined with complete invocation rules and boundary semantics, an agent has everything needed to call and interpret this tool correctly. The section could be slightly tighter, but nothing essential is missing.
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 100% — both params have descriptions (unique_key format '1116-33', context default 2). The description reinforces and extends this with the Rules section: unique_key must be passed verbatim and never normalized, allowed non-digit keys (B58·6.1.1), and the suffix rule ('1109-B2.7' misses vs '1109-B2.7-1' hits — 12% of paragraphs). This critical key-format knowledge meaningfully augments the schema.
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 opening sentence states a specific verb+resource+scope: '기준서 문단 전문을 앞뒤 문맥과 함께 반환합니다' (returns full standard paragraph text with surrounding context). The Purpose section further distinguishes it from siblings — 'a search snippet is never quotable evidence' positions it against the search tools, and 'related_qnas → get_qna' routes to that sibling. An agent can clearly tell this apart from get_qna, search_qnas, and search_standards.
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?
The Purpose section gives concrete trigger conditions ('To quote a found 문단 exactly', 'To check 조건절·예외 with neighbors') and the Usage section shows real invocation mappings ('1116호 33문단 원문' → unique_key='1116-33'). Sibling routing is explicit via 'related_qnas → get_qna'. It lacks a hard 'do not use when X' exclusion, but the contexts where this tool is the right choice are clearly implied and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_qna질의회신 전문ARead-onlyIdempotentInspect
MyKIFRS MCP의 get_qna 도구는 질의회신 전문을 반환합니다.
[Purpose]
The 회신 full text for a doc_number (search_qnas, get_paragraph's related_qnas) or a qna_key (search_qnas).
[Usage]
"2017-001 회신 전문" → doc_number="2017-001"
"legacy:6009 전문" → qna_key="legacy:6009"
[Response]
{ results:[{source, qna_key, doc_number, date, title, rel_stds, full_content, org}] }
Miss → { error: "문서번호 없음: {doc_number}", similar:[{source, qna_key, doc_number, title}] } (≤5 부분일치) or { error: "qna_key 없음: {qna_key}" }.
source / org / rel_stds: same meaning as in search_qnas.
[Rules]
results is an array; doc_number is NOT unique ("GKQA03-100" → 2 rows). Never answer from the first row alone — pin one by qna_key.
qna_key = "{source}:{id}" exactly as returned; if both arguments are given, qna_key wins.
번호 formats differ by series ("2021-G-KQA005" · "GKQA01-085" · "금감원사례-1") — pass the value as received, never alter case or separators.
On a miss, re-ask using
similarrather than guessing another 번호.
| Name | Required | Description | Default |
|---|---|---|---|
| qna_key | No | 행 식별자 "{source}:{id}" (search_qnas 의 qna_key, 예: legacy:6009) — 번호가 비었거나 중복일 때 | |
| doc_number | No | 질의회신 문서번호 — qna_key 를 주지 않을 때 필수 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, idempotentHint, and destructiveHint=false, and the description adds valuable behavior beyond those: doc_number is not unique, results is always an array, qna_key wins when both arguments are present, and miss responses return a standardized error with a similar list. It also warns the agent never to answer from the first row alone.
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?
The description is organized into Purpose, Usage, Response, and Rules sections, front-loaded with a one-sentence summary. Each section communicates a distinct kind of information without redundancy or filler, and every sentence contributes to the safe invocation of the tool.
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?
Although there is no output schema, the description explicitly covers the response shape, including fields like source, qna_key, title, and full_content, as well as both miss-error variants and the similar list. For a read-only retrieval tool with two simple parameters, this is a comprehensive description and fills the gaps left by structured data.
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 100%, but the description substantially enriches both parameters: it explains the exact "{source}:{id}" format, the precedence if both parameters are supplied, that doc_number can return duplicate rows, and that numbering formats differ by series so values must be passed unaltered. This is genuinely useful beyond the schema's basic descriptions.
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 clearly states that get_qna returns the full text (질의회신 전문) for a doc_number or qna_key, and explicitly says where those identifiers come from (search_qnas, get_paragraph's related_qnas). This differentiates it from sibling search tools like search_qnas by focusing on retrieval of a full document rather than search results.
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?
The Usage section gives concrete input examples ("2017-001 회신 전문" → doc_number, "legacy:6009 전문" → qna_key), and the Rules section explains precedence when both arguments are given. It gives clear context for when to supply doc_number vs. qna_key, though it does not explicitly spell out when-not-to-use this tool versus siblings such as search_qnas.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_usage_stats사용량 통계ARead-onlyIdempotentInspect
MyKIFRS MCP의 get_usage_stats 도구는 이 MCP 서버의 도구 사용량 통계를 반환합니다.
[Purpose]
Per-tool usage·latency (avg/percentiles)·error rate·daily trend.
[Usage]
"최근 30일 사용량" → (인자 없음)
"지난 7일만" → days=7
"전체 기간" → days=0
[Response]
Both tiers: { visibility, period:{days, since, until}, overview:{total_calls, unique_users, errors, error_rate, p50_ms, p90_ms, p99_ms}, by_tool:[{tool, calls, errors, error_rate, avg_ms, p99_ms, users}], by_day:[{day, calls}] }
visibility="public" adds
note; period.days = "all" when days=0.visibility="operator" adds users:[{user, is_owner, calls, distinct_tools, first_seen, last_seen, tools:[{tool, calls, avg_ms}]}] and top_targets:[{target, tool, calls, users}].
[Rules]
Tier by requester: admin token·local stdio → "operator", else "public".
users·top_targets exist only at operator tier — absence ≠ 0.
useris a truncated SHA-256 of the 접속 토큰 — not a person. stdio calls (no hash) never appear.Timings = server-side handler time (no network).
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | 최근 N일 윈도 (0이면 전체 기간, 기본 30) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even though annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, the description adds substantial behavioral context: the public vs operator tier distinction, that users/top_targets are omitted at public tier where absence is meaningful, that user IDs are truncated SHA-256 hashes of tokens rather than person identifiers, and that timings are server-side handler times. This goes far beyond the annotations.
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?
The description is well-organized into Purpose, Usage, Response, and Rules sections, with the main purpose front-loaded first. Although it is longer than average, every section earns its place by adding operational detail that the schema and annotations do not provide, and it avoids redundancy.
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?
With no output schema, the description fully compensates by specifying the complete response shape for both tiers, including field-level detail for overview, by_tool, by_day, users, and top_targets. It also covers tier determination, privacy implications of hashed users, and timing semantics, making the tool fully callable and interpretable by an agent.
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 schema already documents days with 100% coverage, including default 30 and 0 meaning the full period. The description adds practical usage mapping and clarifies that period.days becomes 'all' when days=0, which enriches the parameter's meaning beyond the raw schema.
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 clearly states the tool returns usage statistics for the MCP server, with a specific bulleted list of what it measures: per-tool usage, latency percentiles, error rate, and daily trends. Sibling tools are all content lookups (paragraphs, QNA, standards), so this tool is unambiguously distinct as a metrics/statistics tool.
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?
The description gives explicit natural-language invocation scenarios ('recent 30 days' with no arguments, 'last 7 days' with days=7, 'entire period' with days=0), which clarifies when to call the tool and how to shape the request. It does not name alternatives or exclusions, but no sibling tool offers comparable usage statistics, so this level of guidance is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_standards수록 기준서 카탈로그ARead-onlyIdempotentInspect
MyKIFRS MCP의 list_standards 도구는 수록된 기준서 카탈로그를 반환합니다.
[Purpose]
Which 기준서 are in the corpus, and which numbers feed search_standards' std_num filter.
[Usage]
"수록된 기준서 전부" → (인자 없음)
"감사기준서만" → category="audit"
"내부회계관리제도 관련" → category="icfr"
[Response]
{ count, standards:[{std_num, title, category}] }
category values: kifrs(한국채택국제회계기준) · interpretation(해석서) · concept(재무보고를 위한 개념체계) · kgaap(일반기업회계기준) · audit(감사기준서) · icfr(내부회계관리제도) · esg(KSSB 지속가능성 공시기준) · translation(번역본) · special(특수분야).
[Rules]
Lists 수집 성공(crawl_status='ok') 기준서 only — an absent 기준서 means "미수집", not "존재하지 않음".
category is a free-form string, not an enum: an unknown value returns count=0, not an error.
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | 카테고리로 필터 (생략 시 전체) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant behavior beyond annotations: it discloses that only crawl_status='ok' standards are listed and that an absent standard means '미수집' (not collected), not 'exists nowhere' — a crucial completeness caveat. It also documents that category is a free-form string where an unknown value yields count=0 rather than an error, plus the full response shape. All of this is consistent with readOnlyHint=true and idempotentHint=true; the openWorldHint=false annotation is not contradicted because the description clarifies exactly what absence means rather than asserting standard AI completeness semantics.
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?
The description is longer than average but every section earns its place: [Purpose], [Usage], [Response], [Rules] each carry distinct, non-redundant information. The core purpose is front-loaded in the first sentence, and the rules section condenses two subtle behavioral traps (crawl-status semantics, free-form category) into one compact block.
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?
Given one optional parameter, annotations that already cover safety/idempotency, and no output schema, the description covers everything needed: response shape ({count, standards:[{std_num,title,category}]}), all category values, error semantics, completeness semantics, and sibling routing. Nothing an agent needs to call this tool correctly is missing.
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?
Even though schema coverage is 100%, the description goes far beyond the schema's terse '카테고리로 필터 (생략 시 전체)' by enumerating all eight accepted category values (kifrs, interpretation, concept, kgaap, audit, icfr, esg, translation, special) and the count=0-not-error behavior. Usage examples tie Korean phrasings to parameter values, which the schema alone does not provide.
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 opening line states a specific verb and resource: '수록된 기준서 카탈로그를 반환합니다' (returns the catalog of included standards). The embedded question 'Which 기준서 are in the corpus, and which numbers feed search_standards' std_num filter' explicitly positions it as the catalog feeder to the search sibling, making differentiation immediate.
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?
The Usage section maps natural-language intents to concrete invocations ('감사기준서만' → category="audit", '내부회계관리제도 관련' → category="icfr"), which is actionable guidance an agent can follow directly. The purpose statement names search_standards as the consumer of its output, clearly separating catalog enumeration from content search.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_qnas질의회신 전문검색ARead-onlyIdempotentInspect
MyKIFRS MCP의 search_qnas 도구는 회계기준원·금융감독원·신속처리질의·IFRS 해석위원회 질의회신 3,669건을 전문검색합니다.
[Purpose]
Official 회신 for practice issues the 기준서 text alone cannot settle.
For 회신 tied to a 문단, get_paragraph's related_qnas is more precise.
[Usage]
"전환사채 콜옵션 회계처리 질의회신" → query="전환사채 콜옵션"
"리스료 재측정 회신 30건" → query="리스료 재측정", limit=30
[Response]
{ hits, results:[{source, qna_key, doc_number, date, title, rel_stds, org, snippet}] }
source = 수록 세대 ("v2" 현행 / "legacy" 구 QnA), NOT the 회신 기관.
org = 회신 기관: 회계기준원 / 금융감독원 / 신속처리질의 / IFRS 해석위원회 논의결과 ("구 QnA" = unmapped legacy 유형).
rel_stds is raw HTML: → unique_key "1109-6.1.1".
[Rules]
Tokens ≥3 chars → FTS (AND, rank); 1~2 chars → LIKE.
Never present
sourceas the 회신 기관 — useorg.Strip HTML in rel_stds; build 문단 키 from data-std/data-id.
qna_key ("{source}:{id}") is get_qna's single-row handle — use it when doc_number is "" or duplicated. legacy 회신 are mostly 2000~2011 (구 기업회계기준) — check
datebefore citing.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | 최대 결과 수 (기본 10) | |
| query | Yes | 검색 키워드 (공백 구분) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as readOnly, idempotent, and non-destructive. The description adds substantial behavioral context beyond that: token-length-dependent search behavior (≥3 chars FTS vs 1-2 chars LIKE), the distinction between `source` and `org`, the raw HTML nature of `rel_stds`, and the legacy-source date caveat. No contradiction with annotations.
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?
The description is long but tightly organized into [Purpose], [Usage], [Response], and [Rules] sections. Every sentence earns its place, and the most important selection criterion is front-loaded. There is no filler or repetition.
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?
With no output schema, the description fully defines the response shape and field semantics, and it explains how to handle `rel_stds` HTML, how to use `qna_key` with get_qna, and how legacy data should be treated. This is sufficient for correct invocation and post-processing.
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?
Although the schema covers both parameters, the description adds real semantic value: it explains query tokenization rules (FTS vs LIKE), shows concrete example queries, and demonstrates how `limit` is used with 'limit=30'. This is meaningful guidance an agent would not get from the schema alone.
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 opens by stating the tool name, the action ('전문검색'), and the exact resource ('3,669건 질의회신'). It also distinguishes itself from get_paragraph's more precise related_qnas path for paragraph-linked answers, making correct selection straightforward.
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?
The [Purpose] section explicitly explains when to use search_qnas: for official 회신 that the 기준서 text alone cannot settle. It also provides an explicit when-not: for 회신 tied to a 문단, get_paragraph's related_qnas is more precise. The [Usage] examples reinforce with concrete query strings and a limit setting.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_standards기준서 전문검색ARead-onlyIdempotentInspect
MyKIFRS MCP의 search_standards 도구는 K-IFRS·일반기업회계기준·감사기준서·내부회계관리제도·ESG(KSSB) 기준서 본문을 전문검색합니다.
[Purpose]
Find the 기준서 문단 grounding a treatment ("사용권자산 손상 is which 문단?").
For a hit's 원문·문맥, pass its unique_key to get_paragraph.
[Usage]
"사용권자산 손상 관련 기준" → query="사용권자산 손상"
"1116호 안에서만 리스료 재측정" → query="리스료 재측정", std_num=1116
"수익 인식 5단계 문단 30개까지" → query="수익 인식 단계", limit=30
[Response]
{ hits, results:[{std_num, std_title, category, unique_key, snippet}] }
unique_key = "{std_num}-{문단번호}" (e.g. "1116-33", "1109-6.1.1", "2-2.7") — feed to get_paragraph.
snippet marks matches with ⟦…⟧ and elides with "…".
Empty query returns { error: "검색어가 비어 있음" }.
[Rules]
Tokens of ≥3 chars go to FTS (AND-joined, rank-ordered); 1~2 char tokens become LIKE filters. Short-token-only queries work but are ordered by std_num, not relevance.
Body 문단 only (item_type='paragraph') — 제목 rows are excluded, so a hit is always body text.
snippet is a fragment, never the whole 문단 — do not quote it as 기준서 원문.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | 최대 결과 수 (기본 10) | |
| query | Yes | 검색 키워드 (공백 구분) | |
| std_num | No | 특정 기준서로 한정 (예: 1116) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent/destructive annotations, the description discloses token-length behavior (>=3 chars FTS vs 1-2 char LIKE), ordering behavior, item_type filtering, snippet truncation semantics, unique_key formatting, and the empty-query error contract. This is substantial behavioral detail far beyond what the annotations provide.
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?
The description is organized into clear sections ([Purpose], [Usage], [Response], [Rules]) and every sentence carries actionable information. It is reasonably long only because it documents edge cases and integration behavior, which is necessary for correct invocation.
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 search tool with three parameters and no output schema, the description covers input semantics, output shape, error behavior, filtering constraints, and downstream usage via get_paragraph. The response structure is explicitly documented, so an agent has enough information to call the tool and interpret its results correctly.
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?
Although the input schema already documents all parameters, the description adds operational meaning: query tokens are space-separated with different matching behavior by token length, std_num constrains to a specific standard such as 1116, and limit is shown with example values like 30. The unique_key format and snippet behavior also clarify how results relate to parameters.
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 begins with a specific verb and resource: full-text search across K-IFRS, general accounting standards, audit standards, internal accounting control, and ESG(KSSB) standard text. It clearly distinguishes itself from get_paragraph (which retrieves full metadata/context by unique_key) and from the Q&A-focused sibling search_qnas by stating that it searches 기준서 본문 only.
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?
The [Usage] section provides concrete query examples that map natural-language requests to parameter values, including query, std_num, and limit. It also explicitly tells the agent to pass a hit's unique_key to get_paragraph for full text, and the [Rules] section states exclusions such as title rows being filtered out.
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.
1 tool update
- Changed
get_qna3 fields changed- changed
Input schema / properties / doc_number / descriptionPrevious value: -"질의회신 문서번호"New value: +"질의회신 문서번호 — qna_key 를 주지 않을 때 필수" - added
Input schema / properties / qna_keyAdded value: +{ + "description": "행 식별자 \"{source}:{id}\" (search_qnas 의 qna_key, 예: legacy:6009) — 번호가 비었거나 중복일 때", + "type": "string" +} - removed
Input schema / requiredRemoved value: -[ - "doc_number" -]
6 tool updates
- First observed
get_paragraph - First observed
get_qna - First observed
get_usage_stats - First observed
list_standards - First observed
search_qnas - First observed
search_standards
Related MCP Connectors
Full-text search over FSS/FSC accounting supervision documents for Korean accounting professionals
Powerful OpenDART API-based Korean corporate disclosure tools for accounting professionals
Search company disclosures and financial statements from the Korean market. Retrieve stock profile…
FinBridge is a hosted MCP server for Korean company disclosures, read in English. DART filings and normalized financial statements, business segments, insider reports and 13F holdings, with US, Japanese and European filers on the same schema for comparison. Search a company by its registered English name or its Korean name. Every answer names the filing, the receipt number and the date. Korean price delivery is planned and not currently served. Docs: https://www.gronox.kr/docs
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables full-text search and retrieval of Korean accounting standards (K-IFRS, K-GAAP, auditing, ICFR, KSSB) and authoritative Q&A, returning verbatim paragraphs with context and related regulatory guidance.MIT
- FlicenseNot gradedqualityBmaintenanceEnables searching and retrieving Korean accounting standards (K-IFRS, general corporate accounting standards, and other standards) and Q&A summaries from the KASB database. Provides four tools for keyword search and real-time retrieval of standard texts and Q&A details.-
- 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.-
- 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.-
Glama MCP Gateway
Add one secure layer between your agents and this server.