MyFSS
Server Details
Full-text search over FSS/FSC accounting supervision documents for Korean accounting professionals
- Status
- Healthy
- Uptime
- 99.5% over 42 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
The four tools map to cleanly separate operations: search_documents (query/filter sweep with pagination), list_recent (query-less chronological skim), list_tags (facet enumeration for filter values), and get_document (full-body retrieval for quoting). Descriptions explicitly cross-reference each other, telling the agent when to switch (e.g. use search_documents for periods, get_document for quoting bodies). No functional overlap remains.
All names are lowercase snake_case with a verb-first pattern (get_, list_, list_, search_), forming a predictable verb_noun convention throughout. The only minor variation is noun plurality (get_document vs search_documents), which does not impair readability.
Four tools is lean but each earns its place across the discover-to-retrieve lifecycle (browse, facet, search, fetch), fitting the well-scoped 3-15 range. It sits at the minimal end, so slightly larger corpora workflows still rely entirely on these four.
For a read-only document corpus the surface is complete: discovery via list_recent/list_tags/search_documents (with filters and pagination) and retrieval via get_document (with offset/max_chars continuation). No create/update/delete is needed, and the toolchain even documents handling of unparsed attachments and truncation, leaving no obvious dead ends.
Available Tools
4 toolsget_document문서 전문ARead-onlyIdempotentInspect
MyFSS MCP의 get_document 도구는 문서 전문을 반환합니다 — 첨부 HWP를 마크다운으로 변환한 본문.
[Purpose]
To read and quote a found document — summary·snippet are never quoting grounds.
[Usage]
"그 자료 본문 보여줘" → ntt_id=12345
"길어서 잘렸는데 이어서" → ntt_id=12345, offset_chars=60000
"앞부분만 짧게" → ntt_id=12345, max_chars=8000
[Response]
{ ntt_id, date, board, source, title, nature, topics, depts, summary, url, attachments:[{file_name, ext, parsed}], body_total_chars, offset_chars, truncated, body }
truncated=true means offset_chars+max_chars < body_total_chars — raise offset_chars to continue.
Unknown id returns { error: "ntt_id {n} 없음" }.
body = "(본문 없음)" when nothing was parsed and no HTML 본문 exists.
[Rules]
body = parsed attachments (parsed=true) joined under "## 첨부: {file_name}" heads; with no attachment body it falls back to the detail-page HTML body (mostly FSC).
attachments with parsed=false are NOT in body — disclose the gap, never hide it.
Continue with offset_chars; raising max_chars grows the whole response.
| Name | Required | Description | Default |
|---|---|---|---|
| ntt_id | Yes | search_documents/list_recent가 반환한 ntt_id | |
| max_chars | No | 본문 최대 길이(자) | |
| offset_chars | No | 본문 시작 오프셋 (긴 문서 이어읽기) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it read-only and idempotent, and the description adds substantial behavior: truncated semantics, offset continuation, fallback from parsed HWP attachments to HTML body, exclusion of parsed=false attachments, unknown-id error format, and '(본문 없음)' placeholder. 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 organized into Purpose, Usage, Response, and Rules, with the most important scoping statement first. Every section earns its place; the labeled format and short example mappings make it easy to scan.
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?
There is no output schema, so the description must carry return-value information; it enumerates the response fields, explains truncated and error cases, and documents body fallback behavior. Given the tool's moderate complexity, nothing needed to call it 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 enriches parameter meaning: offset_chars=60000 for continuing, max_chars=8000 for a short excerpt, and the rule that raising max_chars grows the whole response while offset_chars moves the window. This is actionable guidance beyond 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?
States a specific action and resource: returns the full document body, with HWP attachments converted to markdown. The Purpose line explicitly frames it as the quoting/reading follow-up to a found document, distinguishing it from search_documents/list_recent.
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?
Contains clear context and usage examples ('그 자료 본문 보여줘' -> ntt_id), and says summary/snippet are never quoting grounds, implying get_document is for exact reading. It does not explicitly name alternative tools or state when not to use it, so it falls short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_recent최신 문서 목록ARead-onlyIdempotentInspect
MyFSS MCP의 list_recent 도구는 최신 문서 목록을 게시일 내림차순으로 반환합니다.
[Purpose]
Query-less skim of "what came out lately", optionally narrowed by 게시판.
[Usage]
"최근 자료 뭐 있어" → (인자 없음 — limit=20)
"감리 지적사례 최신 10건" → board="sanction_case", limit=10
"금융위 보도자료 최신" → board="fsc_press"
[Response]
{ results:[{ntt_id, date, board, source, title, nature, topics, depts, summary, url}] }
No total/offset — this tool has no pagination, and no snippet (there is no query).
[Rules]
board takes the English key while the response returns the 한글 라벨 — same asymmetry as search_documents; never feed the response board back as a parameter.
Sorted by 게시일(date) — retroactively registered old documents never surface as new.
For period/topic narrowing or larger volumes use search_documents.
| Name | Required | Description | Default |
|---|---|---|---|
| board | No | 게시판 필터 | |
| limit | No | 최대 결과 수 (기본 20) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, and the description adds meaningful behavioral context beyond them: no pagination, no total/offset, no snippet, ordering by publish date, and the subtle point that retroactively registered old documents never surface as new. 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 exceptionally well structured with [Purpose], [Usage], [Response], and [Rules] sections. Every section earns its place and important caveats are front-loaded before deeper behaviors.
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 the tool has no output schema, the description supplies the response shape, the absence of pagination and snippet, sort behavior, and routing to search_documents for larger/narrower queries. This is complete enough for an agent to select and invoke the tool 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 schema coverage is 100%, the description adds crucial semantics not present in the schema: board uses English keys while responses return Korean labels, and includes a warning not to feed the response board back as a parameter. The usage examples also clarify valid value mappings and the limit default.
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: returns the recent document list sorted by publish date descending. The [Purpose] section explicitly frames it as a query-less skim, and contrasts it with search_documents, making differentiation clear.
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 concrete natural-language usage examples that map directly to parameter values, and explicitly says to use search_documents for period/topic narrowing or larger volumes. This gives the agent both when-to-use and when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_tags검색 어휘 사전ARead-onlyIdempotentInspect
MyFSS MCP의 list_tags 도구는 검색 필터에 넣을 수 있는 어휘를 반환합니다 — 주제 태그·문서 성격·게시판·주요 담당부서.
[Purpose]
Which values actually exist for search_documents' topics·nature·board·dept. Invented values return 0 rows, not an error — check here before a futile search.
[Usage]
"어떤 주제로 검색할 수 있어?" → (인자 없음)
[Response]
{ topics:[{name, n}], natures:[{name, n}], boards:[{key, label, n}], depts_top25:[{name, n}] }
n = 그 값이 붙은 문서 수.
boards[].key is what the board parameter takes; boards[].label is what responses show.
[Rules]
topics is exact-match — no partial/synonym matching; pass a name from here verbatim.
dept is the opposite, partial match — a fragment like "회계감리" works.
depts_top25 is only the top 25 — a 부서 missing from the list still exists.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, idempotentHint, destructiveHint), so the description carries a lighter burden and far exceeds it. It adds genuinely non-obvious behaviors: exact-match vs partial-match semantics for different fields, '0 rows, not an error' for invented values, boards[].key vs label distinction, and the top-25 truncation of depts_top25.
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, with the core purpose front-loaded in the first sentence. Every sentence earns its place — matching rules, response shape, and caveats are each stated once with no repetition or filler.
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 zero-arg, read-only tool with no output schema, the description carries full responsibility for return-value documentation and handles it completely: full response shape, meaning of n, key/label distinction, matching behavior, and edge cases (missing dept, empty results). No information an agent needs to invoke it 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?
With zero parameters, the baseline is 4, and the description exceeds it substantially. The [Response] and [Rules] sections document the semantic meaning of every returned value field — the exact n count, the key/label contract for the board parameter, the partial-match rule for dept, and the open-world caveat that absent depts still exist. This effectively documents the vocabulary contract that search_documents' parameters depend on.
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 names a specific verb (반환합니다/returns) and a specific resource (search-filter vocabulary: 주제 태그·문서 성격·게시판·주요 담당부서). The [Purpose] section cements differentiation by tying the tool to search_documents' exact fields (topics·nature·board·dept), making it clearly distinguishable from siblings like get_document and list_recent.
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 when-to-use guidance: 'check here before a futile search' because invented values return 0 rows rather than an error. It also names the consuming sibling (search_documents). It stops short of a 5 because it never states when not to use the tool (no explicit exclusions of alternatives).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_documents회계·공시 자료 전문검색ARead-onlyIdempotentInspect
MyFSS MCP의 search_documents 도구는 금융감독원(FSS)·금융위원회(FSC) 회계·공시 자료를 전문검색합니다.
[Purpose]
What 감독당국 checks — 심사·감리 지적사례·감독지침·모범사례 등 게시판 11종.
Filters alone (no query) sweep a topic.
[Usage]
"전환사채 콜옵션 관련 감독원 자료" → query="전환사채 콜옵션"
"작년 감리 지적사례 전부" → board="sanction_case", date_from="2025-01-01", date_to="2025-12-31"
"내부회계관리제도 주제로 20건" → topics=["내부회계관리제도"], limit=20
[Response]
{ total, showing, offset, note, results:[{ntt_id, date, board, source, title, nature, topics, depts, summary, url, snippet?}] }
total = 전체 건수, showing = 이번 페이지 — paginate with offset.
source: "fss"=금융감독원, "fsc"=금융위원회.
snippet marks matches with [ … ]; only when a query matched.
[Rules]
board is asymmetric: param = English key, response = 한글 라벨 — never feed it back.
topics·depts are joined strings (", " / " / "), not arrays — split first.
≥3-char tokens → FTS (AND, rank); 1~2-char → LIKE. No query → 게시일 DESC, no snippet.
Corpus = 2010 onward (absent = 미수록); quote body via get_document, not summary·snippet.
| Name | Required | Description | Default |
|---|---|---|---|
| dept | No | 담당부서명 부분일치 (예: '회계감리') | |
| board | No | 게시판 필터 | |
| limit | No | 최대 결과 수 (기본 15) | |
| query | No | 검색 키워드 (공백 구분, 예: '전환사채 콜옵션') | |
| nature | No | 문서 성격 필터 | |
| offset | No | 페이지네이션 오프셋 | |
| source | No | 발행기관 필터 (fss=금융감독원, fsc=금융위원회) | |
| topics | No | 주제 태그 필터 (하나라도 일치, list_tags의 topics 값) | |
| date_to | No | YYYY-MM-DD 이전 | |
| date_from | No | YYYY-MM-DD 이후 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes far beyond annotations: it discloses the board key/label asymmetry, that topics/depts are joined strings requiring split, the FTS-vs-LIKE token length rule, no-query descending date ordering, corpus coverage from 2010, and snippet-only-on-match behavior. This is rich, non-obvious behavioral detail.
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 well-organized into Purpose, Usage, Response, and Rules sections. Every line carries necessary information for a 10-parameter search tool, and front-loading the purpose makes it scannable despite the density.
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 documents the response shape, pagination via total/offset, source labels, snippet conditions, and the get_document fallback for body content. It also addresses search semantics, board asymmetry, and corpus boundaries, leaving no significant calling gap.
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 schema coverage is 100%, the description adds substantial meaning: query-to-parameter examples, the board English-key/한글-label mismatch, filter-only sweeping, and the no-query behavior. It clarifies how to combine parameters effectively, which the schema alone does not convey.
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 performs full-text search over FSS/FSC accounting and disclosure materials, and it enumerates the board categories and example queries. However, it never explicitly distinguishes itself from sibling tools like list_recent or list_tags; the differentiation is only implied by the term '전문검색' and a later rule mentioning get_document.
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 three concrete natural-language-to-parameter mappings and a rule directing users to get_document for quote bodies. It lacks explicit when-not-to-use guidance for the sibling list tools, though the examples give clear context for typical search scenarios.
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
- Removed
get_usage_stats
5 tool updates
- First observed
get_document - First observed
get_usage_stats - First observed
list_recent - First observed
list_tags - First observed
search_documents
Related MCP Connectors
Full-text search over K-IFRS/K-GAAP standards and KASB accounting Q&A for Korean accountants
- find-refOAuthcom.find-ref
Korean accounting standards, audit, tax and legal sources and rulings, with citation checks
Powerful OpenDART API-based Korean corporate disclosure tools for accounting professionals
Search company disclosures and financial statements from the Korean market. Retrieve stock profile…
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables full-text search and retrieval of Korean FSS/FSC accounting supervision and disclosure documents, including attachment bodies, summaries, and metadata, via a remote MCP server.MIT
- 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
- 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 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.-
Glama MCP Gateway
Add one secure layer between your agents and this server.