한국일보 뉴스 (Hankookilbo)
Server Details
Hankookilbo (Korean daily) news metadata: titles, dates, sections, bylines, links, and excerpts.
- Status
- Healthy
- Uptime
- 99.9% over 75 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- hkilbo/hankookilbo-mcp
- GitHub Stars
- 0
TDQS
Scored across 10 tools
The five curation tools (list_most_read_news, list_popular_news, list_recommended_articles, list_timely_news, list_top_headlines) all answer 'what should I read right now' and are only separable because the descriptions repeatedly warn 'do not use this, use that instead', which is a signal of inherent overlap. list_most_read_news is the worst offender: its name promises most-read rankings but it actually returns the '꼼꼼히 본 뉴스' bundle and even bundles in '많이 본 뉴스', colliding directly with list_popular_news. The two horoscope tools and the news tools are otherwise clearly distinct.
Every tool follows a clean verb_noun snake_case pattern with a predictable prefix family: get_* for two horoscope lookups, list_* for the seven listing/curation tools, and search_* for retrieval. No camelCase/snake_case mixing and no vague verbs like handle or process. The single deviation (search_news rather than list_news) is semantically motivated and readable.
Ten tools sits comfortably in the well-scoped 3-15 range and each maps to a recognizable Hankookilbo content surface (headlines, latest, popularity, curation, sections, search, horoscopes). Nothing is padded — even the two horoscope tools reflect genuinely separate newspaper features (띠별 vs MBTI). The curation cluster is redundant in spirit, but that is a disambiguation issue rather than a raw count issue.
Coverage of the news-browsing lifecycle is good: discovery (latest/popular/timely/headlines), semantic retrieval (search_news), and the section-code lookup needed to drive section filtering. The main gap is that list_sections exists yet there is no plain 'list articles in section X' tool — section codes only feed the popularity and recommendation lists — and no paging/date-range parameters on search_news. Article bodies being URL-only appears to be a deliberate design constraint rather than an omission.
Available Tools
10 toolsget_daily_horoscope오늘의 운세ARead-onlyInspect
'오늘의 운세', '오늘 운세 알려줘', '띠별 운세'처럼 그날의 운세를 물을 때 사용합니다. 운세 내용은 포함하지 않고 제목·발행일·원문 링크만 반환하며, 운세 본문은 다른 기사와 동일하게 item.url 의 한국일보 원문에서만 확인할 수 있습니다. 기본은 오늘(한국 시간)이며, date(YYYY-MM-DD)로 특정 날짜를 지정할 수 있습니다.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 조회할 날짜(YYYY-MM-DD). 생략 시 오늘(한국 시간) 운세. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | 반환된 운세의 발행 일시. |
| item | No | 운세 기사 카드(메타데이터·원문 링크만, 운세 내용 미포함). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/non-destructive/open-world, and the description adds genuinely non-obvious behavior: the horoscope body is NOT returned and must be read from item.url at the Hankyoreh original. The Korea-time default is also useful context. No error/empty-result behavior is described, keeping it below 5.
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?
Three sentences, front-loaded with the usage triggers, then the return-scope caveat, then the date default. Every sentence carries information; only the URL caveat is somewhat verbose.
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 an output schema present, return fields need not be explained, and the description still proactively sets expectations that the body lives behind item.url — critical because the tool name implies it returns horoscope content. Nothing essential for calling it correctly is missing, though the relation to get_mbti_horoscope is unstated.
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%, so the schema already documents the single optional date parameter, its YYYY-MM-DD format and the today-in-Korea default. The description only restates that same information, adding little 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 verb+resource ('그날의 운세' 조회) and clarifies the surprising part of the contract: it returns only title/publish date/original URL, not the horoscope text itself. It indirectly separates itself from get_mbti_horoscope via '띠별 운세', but never names that sibling, so the differentiation is only implied.
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?
Gives concrete trigger phrasings ('오늘의 운세', '오늘 운세 알려줘', '띠별 운세') and states the default (today, Korea time) plus how to override. It does not say when to prefer get_mbti_horoscope instead, so a sibling-choice edge case is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_mbti_horoscopeMBTI 오늘의 운세ARead-onlyInspect
'MBTI 운세', '오늘 내 MBTI 운세', 'ENFP 운세'처럼 MBTI 기반 오늘의 운세를 물을 때 사용합니다. 운세 내용은 포함하지 않고 제목·발행일·원문 링크만 반환하며, 운세 본문은 다른 기사와 동일하게 item.url 의 한국일보 원문에서만 확인할 수 있습니다. 기본은 오늘(한국 시간), date(YYYY-MM-DD)로 특정 날짜 지정 가능.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 조회할 날짜(YYYY-MM-DD). 생략 시 오늘(한국 시간) 운세. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | 반환된 운세의 발행 일시. |
| item | No | 운세 기사 카드(메타데이터·원문 링크만, 운세 내용 미포함). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/destructive annotations, the description discloses the key behavioral constraint: the tool does NOT return the horoscope body, only the title, publish date, and original link, and the text lives solely at item.url on the 한국일보 site. That is the non-obvious fact an agent needs before calling; only pagination/result-count behavior is left unexplained.
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?
Three tight sentences, front-loaded with the usage trigger, then the return-shape caveat, then the date parameter. No filler, though the return-shape sentence is somewhat verbose about where the body lives.
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 an output schema present, the description doesn't need to enumerate return fields, yet it usefully warns the body is absent — the biggest failure mode for this tool. The only missing piece is explicit routing versus the sibling horoscope tool.
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 100% and the schema already states YYYY-MM-DD plus the default of today (Korea time). The description repeats that same information in Korean without adding format edge cases or timezone subtleties, so it is baseline value only.
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 gives a specific verb+resource: it fetches the MBTI-based horoscope article (title, publish date, link) rather than the horoscope text. It clearly scopes the tool to MBTI horoscopes via example queries, but never names the sibling get_daily_horoscope, so the agent must infer how the two horoscope tools differ.
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?
Concrete trigger phrases ('MBTI 운세', '오늘 내 MBTI 운세', 'ENFP 운세') make the intended invocation context unambiguous, and the default-to-today behavior is stated. It stops short of explicit exclusions, e.g. when to prefer get_daily_horoscope over this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_latest_news최신 뉴스ARead-onlyInspect
'최신 기사', '방금 올라온 뉴스', '새로 나온 기사', '오늘 새 기사'처럼 최근 발행 순서대로 기사를 볼 때 사용합니다. page_num 으로 다음 페이지를 더 가져올 수 있습니다.
| Name | Required | Description | Default |
|---|---|---|---|
| page_num | No | 페이지 번호(1부터). 1=가장 최신. | |
| page_size | No | 가져올 기사 수(1~최대치로 클램프). |
Output Schema
| Name | Required | Description |
|---|---|---|
| page | No | 페이징 메타데이터(있을 때). |
| items | No | 기사 카드 목록. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is fully covered structurally. The description adds only the pagination affordance ('page_num 으로 다음 페이지를 더 가져올 수 있습니다'), with nothing about result volume caps or what happens past the last page.
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?
Two short sentences: trigger examples first, paging hint second — front-loaded and waste-free. The list of four near-synonymous Korean phrases is slightly redundant but serves as retrieval vocabulary.
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-required-parameter, read-only listing tool with full schema coverage and an output schema, the description covers ordering and paging adequately; return values need not be explained. The only real gap is disambiguation from the many sibling news-listing tools.
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 100% and both parameters are documented there, including 'page_num' starting at 1 = newest. The description restates the paging behavior without adding format, limits, or clamping details beyond the schema, so the baseline 3 applies.
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 makes clear this returns articles in reverse-chronological publication order ('최근 발행 순서대로 기사를 볼 때'), which is a specific ordering contract, not just 'news'. However, it never names or contrasts the crowded sibling set (list_top_headlines, list_timely_news, list_most_read_news, list_popular_news), so the ordering distinction must be inferred.
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?
It anchors usage to concrete user phrasings ('최신 기사', '방금 올라온 뉴스', '오늘 새 기사'), which is a strong trigger signal for an agent routing a request. It gives no explicit when-not or alternative-tool guidance, so exclusions are left implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_most_read_news꼼꼼히 본 뉴스 (+ 많이 본)ARead-onlyInspect
한국일보 홈이 '꼼꼼히 본 뉴스'로 따로 선정해 보여주는 묶음을 가져옵니다('많이 본 뉴스'도 함께 반환). '꼼꼼히 본 뉴스', '정독할 만한 기사', '많이 본 말고 꼼꼼히 본 거', '많이 본 + 꼼꼼히 본 같이 보여줘'처럼 이 '꼼꼼히 본' 묶음을 콕 집어 원할 때만 사용합니다. 그냥 '인기/많이 본/화제' 기사나 분야별 인기, 조회수 랭킹은 이 도구가 아니라 list_popular_news 를 쓰세요.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| best_items | No | 많이 본(조회수) 뉴스 기사 목록. |
| careful_items | No | 한국일보 홈이 '꼼꼼히 본 뉴스'로 선정한 묶음 기사 목록. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a safe read-only, open-world, non-destructive operation, so the bar is lower. The description still adds meaningful behavior: it returns two bundles at once (꼼꼼히 본 plus 많이 본), which an agent would not infer from the annotations or empty schema. No detail on item count or ordering, keeping it below a 5.
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?
Front-loaded with what is returned, then the usage/exclusion clause. The quoted phrase list is repetitive but serves a real disambiguation purpose for a Korean-language intent match, so it mostly earns its place.
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 an output schema present, the description needn't explain return structure, and it correctly focuses on which bundle is fetched versus the sibling tool. Adequate for a zero-parameter read tool; minor gaps like item count or ordering are not blocking.
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 tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. No parameter-related claims are made or needed.
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?
Names a specific resource (한국일보's '꼼꼼히 본 뉴스' bundle) with a clear retrieval verb and explicitly distinguishes it from list_popular_news. The parenthetical notes it also returns '많이 본 뉴스', so an agent knows exactly what comes back.
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?
Gives concrete user phrasings that select this tool ('꼼꼼히 본', '정독할 만한 기사', '많이 본 + 꼼꼼히 본 같이 보여줘') and an explicit exclusion routing general popularity/ranking requests to list_popular_news. Both when-to-use and when-not-to-use are covered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_popular_news많이 본 인기 뉴스 (분야/전체)ARead-onlyInspect
'인기 뉴스', '많이 본 기사', '오늘 가장 많이 본 뉴스', '핫한/화제의 기사', '지금 뜨는 뉴스'처럼 조회수 기준 인기(많이 본) 순위는 기본적으로 이 도구입니다. section_cd='all'이면 사이트 전체, 분야 코드를 넣으면 해당 분야 인기 기사입니다(예: section_cd='politics' = 정치 인기 기사). 이것이 조회수 기반 인기 순위이며, 편집부 추천(list_recommended_articles)과 구분됩니다. 사용자가 콕 집어 '꼼꼼히 본 뉴스'를 원할 때만 list_most_read_news 를 쓰세요. 전체 조회 시 exclude_section_cd 로 특정 분야를 제외할 수 있습니다.
| Name | Required | Description | Default |
|---|---|---|---|
| page_size | No | 가져올 기사 수(1~최대치로 클램프). | |
| section_cd | No | 섹션 코드 슬러그(소문자). 'all'=사이트 전체. list_sections 참고. | all |
| exclude_section_cd | No | section_cd='all' 전체 조회 시 제외할 섹션 코드 슬러그. |
Output Schema
| Name | Required | Description |
|---|---|---|
| page | No | 페이징 메타데이터(있을 때). |
| items | No | 기사 카드 목록. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as a read-only, non-destructive, open-world tool. The description adds meaningful behavioral context by explaining that results are ranked by view count and by contrasting this with editorial recommendation behavior, though it does not discuss freshness windows or ranking details beyond that.
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 front-loaded with the core routing rule and alternative tools, and every part is relevant. It is slightly repetitive in restating that this is the view-count-based popularity ranking, but the redundancy reinforces a subtle sibling distinction rather than derailing the agent.
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 that annotations cover safety behavior, the input schema fully documents parameters, and an output schema exists, the description supplies the remaining critical context: ranking basis, section vs whole-site scope, and sibling routing. Nothing essential for correct invocation 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 description coverage is 100%, so the schema already documents page_size, section_cd, and exclude_section_cd thoroughly. The description adds a useful example for section_cd='politics' and clarifies whole-site exclusion behavior, but it mostly recaps what the schema already provides and does not address page_size.
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 resource and ranking basis: view-count-based popular news, with optional section scoping. It explicitly distinguishes this tool from list_recommended_articles and list_most_read_news, so an agent can route popularity queries without inspecting sibling schemas.
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?
It gives explicit default-use guidance for popularity queries and names the alternatives by condition: use list_recommended_articles for editorial recommendations and list_most_read_news only when the user specifically asks for '꼼꼼히 본 뉴스'. This is clear 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_recommended_articles분야별 편집부 추천 기사ARead-onlyInspect
특정 분야(정치·경제·사회 등)에서 '편집부가 추천하는/읽을 만한 기사'를 물을 때 사용합니다. 반환 목록은 조회수 인기 순위가 아니라 편집 추천이며, 순위(랭킹) 값을 갖지 않습니다. '많이 본/핫한/인기' 기사는 list_popular_news 를 쓰세요. 분야 코드는 list_sections 로 확인합니다.
| Name | Required | Description | Default |
|---|---|---|---|
| page_size | No | 가져올 기사 수(1~최대치로 클램프). | |
| section_cd | Yes | 섹션 코드 슬러그(소문자). list_sections 로 확인. 예: politics, economy, opinion. |
Output Schema
| Name | Required | Description |
|---|---|---|
| page | No | 페이징 메타데이터(있을 때). |
| items | No | 기사 카드 목록. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds meaningful behavioral context: the returned list is editorial recommendation rather than view-count popularity and has no ranking value, which is not captured by annotations alone. It does not discuss rate limits or auth, but those are not essential here.
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?
Three tightly written sentences front-load the use case, then the semantic distinction, alternative tool, and prerequisite. Every sentence carries useful routing or clarification information.
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 read-only list operation with annotations and an output schema, the description covers purpose, selection conditions, alternative tool, and section-code prerequisite. Return values are handled by the output schema, leaving no critical 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?
Schema description coverage is 100%, so both section_cd and page_size are already documented. The description repeats the list_sections check for section_cd but does not add syntax, constraints, or page_size behavior beyond the schema, making the baseline 3 appropriate.
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: retrieving editorially recommended/read-worthy articles for a given section. It explicitly distinguishes itself from popularity-based siblings by naming list_popular_news, so an agent can select it without opening the schema.
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?
Gives explicit when-to-use ('특정 분야... 물을 때 사용합니다'), when-not-to-use ('많이 본/핫한/인기' → list_popular_news), and a prerequisite for obtaining the section code via list_sections. The routing conditions are fully specified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_sections섹션 코드 목록ARead-onlyInspect
기사 목록·추천 도구(list_popular_news, list_recommended_articles)에 입력하는 분야(섹션) 코드(politics, economy, society, world, culture, sports, people, life, local, opinion)와 한글 분야명을 가져옵니다. '어떤 분야가 있어?', '뉴스 카테고리 목록'을 물을 때 또는 분야 코드를 확인할 때 사용합니다.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| items | No | 섹션 코드·한글명 목록. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered; the description usefully adds that this is a reference/enumeration lookup whose output feeds other tools' parameters. It does not say whether the value set is static or could change, which is the one behavioral fact still missing, so it falls short of a 5.
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?
Two sentences, purpose front-loaded before the usage triggers, with zero filler. The ten-value enumeration is informative but somewhat long and overlaps with what the output schema already declares, keeping it just short of a 5.
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?
Zero parameters, an output schema that carries the return shape, and annotations that cover the safety profile — the description only needed to say what it fetches and when to call it, and it does both. Nothing an agent needs to invoke this correctly is absent.
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 tool takes zero parameters, so the baseline is 4 by rule. The description's enumeration of codes adds meaning about what the tool yields rather than about inputs, which is appropriate here and needs no further compensation.
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 (가져옵니다 / fetch) and resource (분야(섹션) 코드와 한글 분야명), and enumerates the exact code values returned, so the agent knows precisely what comes back. It also names the two sibling tools that consume these codes (list_popular_news, list_recommended_articles), distinguishing it from the other list_* news tools.
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?
It states explicit trigger conditions ('어떤 분야가 있어?', '뉴스 카테고리 목록', or checking a section code) and implicitly defines when-not-to-use by pointing to the tools that take these codes as input. An agent can decide between this and the article-listing siblings without inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_timely_news지금 볼만한 뉴스ARead-onlyInspect
'지금 볼만한 뉴스', '지금 읽을 만한 뉴스 추천', '뭐 볼 만한 거 없어?', '출근길/점심/퇴근길에 볼 뉴스'처럼 지금 시간대에 맞춰 골라주는 추천 뉴스를 물을 때 사용합니다. 홈페이지의 시간대별 큐레이션을 반환합니다.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| page | No | 페이징 메타데이터(있을 때). |
| items | No | 기사 카드 목록. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=true, so the safety profile is covered. The description adds useful provenance — the results come from homepage time-slot curation rather than query-matched search — but says nothing about result volume, freshness, or whether the set changes through the day.
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?
Two sentences, front-loaded with the trigger phrases an agent would match against, followed by the return behavior. The four quoted example queries are somewhat redundant with each other but each adds a distinct surface form worth matching.
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?
An output schema exists, so return-value explanation is not required, and the zero-parameter call needs no calling conventions. What remains thin is the definition of what '시간대별 큐레이션' actually selects — how the time slot is determined and how results differ from the popular/latest siblings — which an agent would need in order to choose confidently.
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 tool takes zero parameters, so the parameter baseline applies and there is nothing for the description to disambiguate. Schema coverage is 100% with an empty properties object, leaving no parameter gap to compensate for.
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 the resource (time-of-day curated news from the homepage) and the intent (recommendations matched to the current time slot), which separates it from list_latest_news or list_most_read_news. The verb is descriptive rather than crisp ('반환합니다'), and it never names the sibling it displaces, so differentiation is implied rather than explicit.
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?
Four concrete user phrasings ('지금 읽을 만한 뉴스 추천', '뭐 볼 만한 거 없어?', '출근길/점심/퇴근길에 볼 뉴스') map directly to invocation contexts, which is strong trigger guidance. There is no explicit when-not or alternative-tool routing, so an agent must infer that latest/most-read/popular siblings cover non-time-based requests.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_top_headlines오늘의 주요 뉴스(헤드라인)ARead-onlyInspect
'오늘 주요 뉴스', '지금 헤드라인', '메인 뉴스 뭐야', '제일 중요한 뉴스'처럼 편집부가 가장 비중 있게 배치한 머리기사를 물을 때 사용합니다. 조회수 인기 순위가 아니라 편집 비중 기준입니다 — '많이 본' 기사는 list_popular_news 를 쓰세요.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| page | No | 페이징 메타데이터(있을 때). |
| items | No | 기사 카드 목록. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false, openWorldHint=true), but the description adds the non-obvious behavioral fact that ordering is editorial weight rather than traffic — a ranking semantic an agent could not infer from structured fields. It stops short of stating the time window implied by '오늘' or how many items are returned.
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?
Two sentences, zero filler: the routing trigger comes first, the exclusion second. The example phrasings earn their space because they map directly to how an agent would match a user utterance.
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 an output schema present, return values need no explanation, and the safety profile is annotation-covered. The only real gap is the freshness/time window behind '오늘' (same-day only? rolling 24h?), which an agent calling a headline tool would reasonably want.
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 tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. No misleading parameter hints are present.
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 resource (편집부가 가장 비중 있게 배치한 머리기사) and immediately disambiguates it from a superficially similar sibling (list_popular_news). An agent can distinguish this from list_most_read_news or list_popular_news without opening any schema.
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?
Gives concrete trigger phrasings ('오늘 주요 뉴스', '지금 헤드라인', '메인 뉴스 뭐야') plus an explicit exclusion rule routing '많이 본' queries to list_popular_news. Both the when and the when-not are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_news뉴스 검색 (자연어/주제)ARead-onlyInspect
어떤 주제·인물·사건에 대한 뉴스를 찾거나 '요즘 왜 이슈야', '이거 왜 화제야', '관련 기사 더 보여줘', '배경이 뭐야' 같은 질문에 답이 될 기사를 찾을 때 사용합니다. 질문의 맥락·의미로 관련 기사를 찾아 제목·링크·발행일·섹션 등 메타데이터만 반환하며, 기사 본문이나 AI 생성 답변·요약 전문은 제공하지 않습니다. 각 항목의 본문 전문은 item.url 의 한국일보 원문에서만 확인할 수 있습니다.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | 가져올 기사 수(1~20, 기본 5). | |
| query | Yes | 자연어 질의. 예: '부동산 왜 이슈야', '대선 관련 기사 찾아줘', '이 사건 배경이 뭐야'. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | No | 관련 기사 카드 목록(관련도 내림차순). |
| query | Yes | 검색에 사용한 자연어 질의. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/openWorld/non-destructive, and the description adds genuinely new behavioral context: only metadata (title, link, date, section) is returned, with no article body or AI summary, and full text lives only at item.url. It doesn't discuss result ordering or rate limits, but the return-shape disclosure is the important part.
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?
Three sentences, front-loaded with the use case before the return-shape caveat. Every sentence is relevant, though the final sentence about 확인할 수 있습니다 is somewhat redundant with the preceding 'no body text' clause.
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 two-parameter read-only search tool, the description covers what it does, when to use it, what it returns, what it deliberately does not return, and where to get the full content. Nothing needed to invoke or interpret 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 100% schema description coverage, both query and limit are already documented with examples in the schema. The description reinforces that queries are interpreted by context and meaning, which clarifies the retrieval model, but adds no syntax, formatting, or constraint detail beyond what the schema states.
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 gives a specific verb+resource ('뉴스를 찾는다') and scopes it to semantic/topic retrieval with example questions. It implicitly separates itself from the list_* siblings by emphasizing meaning-based search, but it never names those alternatives, so differentiation is inferred rather than stated.
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?
It gives clear triggering contexts via quoted user phrasings ('요즘 왜 이슈야', '배경이 뭐야'), which is strong positive guidance. It stops short of saying when NOT to use it or pointing to list_latest_news for plain recency browsing.
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.
10 tool updates
- First observed
get_daily_horoscope - First observed
get_mbti_horoscope - First observed
list_latest_news - First observed
list_most_read_news - First observed
list_popular_news - First observed
list_recommended_articles - First observed
list_sections - First observed
list_timely_news - First observed
list_top_headlines - First observed
search_news
Related MCP Connectors
Search and read recent articles of The Korean Today, with source links and dates.
Korean news: search, latest and full articles, 15 editions and AI summaries in 87 languages.
Korean news aggregator - Naver, Google News, Daum trends in real-time
Verified Korean facts: law changes by date, Bank of Korea figures, fact-check requests.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceProvides access to Korean financial news and market data (stocks and crypto) with AI-ready mathematical scoring to prevent hallucinations. Includes tools for news retrieval, chart analysis, financial statements, tag matching, and trend analysis.106 npm5MIT
- FlicenseNot gradedqualityBmaintenanceEnables read-only search and retrieval of Korean newspaper editorials from the GQAI Supabase database, supporting keyword, media outlet, and date-range queries, full-text lookup, and listing of outlets.-
- FlicenseNot gradedqualityBmaintenanceEnables read-only search and retrieval of press releases from 12 South Korean government agencies, returning metadata like title, agency, publication date, and original URL.3-
- AlicenseBqualityDmaintenanceFetches, summarizes, and translates news headlines and articles using the News API and OpenAI. It enables users to browse top stories and receive high-quality Korean translations of global news content.4MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.