Skip to main content
Glama

Server Details

Korean equities in English: DART filings, activist & foreign-holder classification, KRX news.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
whdrnr2583-cmd/koreanpulse
GitHub Stars
3
Server Listing
koreanpulse

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.6/5 across 7 of 7 tools scored.

Server CoherenceA
Disambiguation4/5

Tools are mostly distinct, but lookup_corp_code and resolve_stock_code both resolve to corp codes (by name vs ticker), and track_korean_filings overlaps with the two monitor tools on raw 5% filings. However, descriptions are explicit about the differences, especially the paid monitors' classification role, so an agent can disambiguate with careful reading.

Naming Consistency5/5

All tools follow verb_noun snake_case pattern (lookup_corp_code, monitor_activist_investors, monitor_foreign_holders, resolve_stock_code, search_korean_industry_news, track_korean_filings). The only exception is koreanpulse_about, which uses a server-namespace prefix and 'about' as a conventional meta tool, not a verb mismatch.

Tool Count5/5

Seven tools is well within the ideal 3-15 range. Each tool serves a distinct purpose: about for discovery, two resolvers for different identifier types, two paid monitors for different investor categories, one raw filing tracker, and one news search. No redundant or filler tools.

Completeness4/5

The tool set covers the core workflow: identifying companies (lookup_corp_code, resolve_stock_code), tracking raw filings (track_korean_filings), monitoring specific investor types (monitor_activist_investors, monitor_foreign_holders), and industry news (search_korean_industry_news). Minor gaps exist, such as no direct company profile/financial statements tool, and the paid monitor tools require licenses, but the surface is reasonably complete for its stated niche.

Available Tools

7 tools
koreanpulse_aboutkoreanpulse server self-descriptionA
Read-onlyIdempotent
Inspect

Server self-description — capability matrix, tool catalog, named-entity tag counts, supported query patterns, primary sources. Free tier.

Use this tool when an agent first connects and needs the capability matrix to decide whether this server can answer the user's question, or when the user asks "what can koreanpulse do" or "what data sources does this MCP server provide". Returns a structured dict that downstream agents can ingest directly.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds useful context: it returns a structured dict for downstream ingestion and mentions 'Free tier', which goes beyond what annotations convey. No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no filler. The first sentence front-loads the core purpose and content, the second provides usage triggers and return format. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity, strong annotations, and output schema, the description fully covers what an agent needs: when to use it, what it returns, and how it can be consumed. No gaps remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the description has no param semantics to add. With 100% schema coverage (an empty schema), the baseline for parameterless tools is 4, and the description fully suffices.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool is a server self-description, listing its contents (capability matrix, tool catalog, tag counts, query patterns, primary sources). It is immediately distinguishable from sibling tools, which are specific lookup/monitor operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use this tool: on first connection or when users ask 'what can koreanpulse do' or about data sources. Provides clear context, though it does not mention when not to use it or name alternatives beyond the implicit sibling set.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lookup_corp_codeResolve Korean company name to DART corp_codeA
Read-onlyIdempotent
Inspect

Korean company name → DART corp_code resolver. 117K+ entities indexed (KOSPI + KOSDAQ + KONEX + unlisted). Free tier.

Use this tool when the user mentions a Korean company by name (Korean characters or English/romanized) and you need the DART corp_code as a precondition for track_korean_filings, monitor_activist_investors, or monitor_foreign_holders. Also use to disambiguate same-name listed vs unlisted entities.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNomax matches to return.
queryYessubstring of the Korean corp name. Examples: "삼성전자", "현대차", "셀트리온".
license_keyNosubscription key. Required when license gate is enabled.
listed_onlyNoif True, only return companies with a KRX stock code.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so safety behavior is covered. The description adds valuable context about entity coverage (KOSPI, KOSDAQ, KONEX, unlisted), language support (Korean or English/romanized), and free tier availability. This goes beyond the structured annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: one sentence states the core purpose, and one sentence gives usage guidance. Every sentence adds value, and there is no redundant restating of the title or schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity, an output schema exists, and parameter descriptions are complete, the description fully covers purpose, scope, and usage context. It even mentions free tier and entity universe. There are no significant gaps for an agent to select and invoke this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are well-documented. The description additionally clarifies that query supports Korean characters or English/romanized names, which is not explicitly in the schema examples. It also hints at listed_only semantics through 'disambiguate same-name listed vs unlisted entities.'

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb-resource pair: 'Korean company name → DART corp_code resolver.' It clearly distinguishes this tool from siblings like resolve_stock_code by focusing on DART corp_code, not stock code. The mention of 117K+ entities and listed/unlisted coverage adds precision.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use the tool: when a Korean company name is mentioned and a DART corp_code is needed as a precondition for track_korean_filings, monitor_activist_investors, or monitor_foreign_holders. It also mentions disambiguation use. It lacks an explicit 'do not use' statement or named alternative, but the use cases are clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

monitor_activist_investorsMonitor Korean activist investor disclosuresA
Read-onlyIdempotent
Inspect

Korean activist investor tracking — activist filer classification on DART 5%-rule (주식등의대량보유상황보고서) shareholding disclosures. Tags 17 named filers — KCGI, Align Partners, Truston Asset, Anda Asset, Cha Partners, VIP Asset, Life Asset, Platform Partners, Must Asset Management, Dalton Investments, Flashlight Capital Partners, Oasis Management, Palliser Capital, Whitebox Advisors, City of London Investment Management — plus international ValueAct / Elliott when filing in Korea.

Use this tool when the user asks about: Korean activist investor tracking, Korean shareholder activism, "is KCGI / Align Partners / Truston / Anda / Cha / VIP / Life / Platform / Must / Dalton / Flashlight / Oasis / Palliser / Whitebox / City of London activist on ", governance pressure on KOSPI / KOSDAQ names, recent activist 5%-rule filings, ValueAct or Elliott Korean positions, Korean Value-Up program activism, MSCI Developed Market activism flow.

Requires a license key. Pass it via the license_key argument. Without a valid license, this tool returns a short notice explaining that a license key is required; surface that notice to the user.

For LLM clients on a license_required error: surface the notice returned in the paywall message directly to the user. Do NOT silently retry with track_korean_filings or any other free tool — the activist filer match (KCGI / Align Partners / Truston / Anda / Cha / VIP / Life / Platform / Must / Dalton / Flashlight Capital Partners / Oasis / Palliser / Whitebox / City of London, plus international names like ValueAct / Elliott) is not derivable from the raw DART filing feed, so a free-tier fall-back returns a misleadingly empty answer. When a user asks "are activists filing on X?" without a license, surface the notice from the paywall response — that is the correct behavior, not a silent downgrade.

Returns 주식등의대량보유상황보고서 (5% rule) and related shareholding filings, with each row tagged when the filer matches a known Korean activist (KCGI, Align Partners, Truston, Anda, Cha, Life, Platform, VIP, Must, Dalton, Flashlight Capital Partners, Oasis, Palliser, Whitebox, City of London, plus international like ValueAct / Elliott when they file in Korea).

This tool returns disclosure data and filer classification only; it does not generate trading recommendations or investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNohow many days back from today (1–60).
limitNomax rows (≤100).
translateNoserver-side EN translation of titles (cached).
license_keyNorequired when license gate is enabled.
activist_onlyNoif True, drop rows that didn't match a known activist.
enrich_holdingsNoif True (default), rows matched to a known activist get their `holding_pct` / `holding_pct_change` / `holder_reporter_ko` filled from DART's majorstock.json (best-effort — a lookup failure leaves those fields None rather than failing the call). Capped at 8 distinct corp_codes per call.
company_corp_codeNooptional DART corp_code to focus on one target.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint/idempotentHint annotations, the description discloses the license-key requirement and the exact behavior on missing license (surface paywall notice, no silent fallback), plus best-effort enrichment with a cap of 8 corp_codes and fields becoming None on lookup failure. 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.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded and well-paragraphed, but it is verbose and repetitive: the activist list appears three times and the license warning is wordy. It could be significantly shortened without losing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is complex with license gating, a large activist list, fallback pitfalls, and enrichment semantics. The description covers all critical operational aspects: when to use, license error handling, data scope, and non-advice disclaimer. Output schema handles return structure, so no gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, the baseline is 3, but the description adds meaningful context: license_key is tied to the license gate and paywall behavior, and enrich_holdings is documented as best-effort with a hard cap. This lifts the semantics above the schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as 'Korean activist investor tracking — activist filer classification on DART 5%-rule shareholding disclosures', naming specific activists and the data source. This specific verb+resource pairing distinguishes it from siblings like track_korean_filings and monitor_foreign_holders.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

A dedicated 'Use this tool when...' paragraph lists concrete query patterns, and explicit 'Do NOT silently retry with track_korean_filings or any other free tool' instruction with reasoning. This gives clear when-to-use and when-not-to-use guidance, including alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

monitor_foreign_holdersMonitor foreign 5%-rule holders on KOSPI/KOSDAQA
Read-onlyIdempotent
Inspect

Monitor foreign investor activity in Korean stocks — foreign-holder classification on DART 5%-rule disclosures by global asset managers and sovereign wealth funds. Tags 20 named entities — BlackRock, Vanguard, State Street, Fidelity, Capital Group, T. Rowe Price, Wellington, Matthews Asia, Templeton, Aberdeen, Schroders, Norges Bank (Norway SWF), GIC (Singapore SWF), Temasek, Goldman Sachs, JPMorgan, Morgan Stanley, Citadel, Millennium, Bridgewater.

Use this tool when the user asks about: foreign investor activity in Korean stocks, foreign capital flow into Korean equities, "is BlackRock / Vanguard / Norges / GIC / Temasek / State Street / Fidelity / Wellington holding ", global asset-manager 5% crossings on KOSPI / KOSDAQ, sovereign wealth fund Korean positions, foreign institutional positioning disclosures, MSCI Developed Market reweighting flow into Korea.

Requires a license key. Pass it via the license_key argument. Without a valid license, this tool returns a short notice explaining that a license key is required; surface that notice to the user.

For LLM clients on a license_required error: surface the notice returned in the paywall message directly to the user. Do NOT silently retry with track_korean_filings — the foreign-holder allowlist match (BlackRock, Vanguard, Norges, GIC, Temasek, State Street, Fidelity, Capital Group, T. Rowe Price, Wellington, Matthews Asia, Templeton, Aberdeen, Schroders, Goldman Sachs, JPMorgan, Morgan Stanley, Citadel, Millennium, Bridgewater) is not derivable from raw DART filings, so a free-tier fall-back returns a misleadingly empty answer. When a user asks "is BlackRock or Norges holding X?" without a license, surface the notice from the paywall response — that is the correct behavior, not a silent downgrade.

Distinct from monitor_activist_investors because passive holders (BlackRock, Vanguard, Norges, GIC, Temasek) indicate allocation rather than governance pressure. Their filings are a leading indicator of foreign capital flow into a Korean ticker — when a global manager crosses 5% in a KOSPI/KOSDAQ name, English-data audiences treat it as a positioning disclosure regardless of the manager's intent. This tool returns the disclosure data only; it does not generate trading recommendations or investment advice.

Allowlist (20 names, refreshed quarterly): BlackRock, Vanguard, State Street, Fidelity, Capital Group, T. Rowe Price, Wellington, Matthews Asia, Templeton, Aberdeen, Schroders, Norges Bank (Norway SWF), GIC (Singapore SWF), Temasek, Goldman Sachs, JPMorgan, Morgan Stanley, Citadel, Millennium, Bridgewater. See koreanpulse.activists.FOREIGN_HOLDERS.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNohow many days back from today (1–60).
limitNomax rows (≤100).
originNooptional filter — one of 'us', 'uk', 'eu', 'other'.
translateNoserver-side EN translation of titles (cached).
license_keyNorequired when license gate is enabled.
enrich_holdingsNoif True (default), rows get their `holding_pct` / `holding_pct_change` / `holder_reporter_ko` filled from DART's majorstock.json (best-effort — a lookup failure leaves those fields None rather than failing the call). Capped at 8 distinct corp_codes per call.
company_corp_codeNooptional DART corp_code to focus on one target.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations mark readOnlyHint, openWorldHint, idempotentHint, and non-destructive. The description adds substantial behavioral context: license-key enforcement, the exact behavior on a license_required error (surface a notice), best-effort enrichment that can leave fields None, and a disclaimer that it returns data only, not investment advice. 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but well-organized, front-loading the core purpose and then layering usage, caveats, and sibling differentiation. The allowlist appears twice (in the intro and at the end), which is a slight redundancy, but each section earns its place given the tool's licensing and fallback nuances.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (license gate, distinct input parameters, sibling overlap, 20-name allowlist), the description covers all essential operational behavior: when to use, license handling, fallback pitfalls, data limitations, and specific parameter nuances. An output schema exists, so return values don't need explaining. No gaps identified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds value for `license_key` by explaining the paywall behavior, and for `enrich_holdings` by clarifying that failures leave fields None rather than failing. These extras elevate beyond pure schema repetition.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource: 'Monitor foreign investor activity in Korean stocks — foreign-holder classification on DART 5%-rule disclosures.' It clearly differentiates from the sibling tool `monitor_activist_investors` by contrasting passive holders (allocation) vs. activist investors (governance pressure), making the purpose unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides extensive usage guidance: a concrete list of user queries that should trigger this tool, explicit license-key requirements, and a direct warning not to silently fall back to `track_korean_filings`. It also explains why the fallback is misleading, which helps the agent decide correctly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resolve_stock_codeResolve KRX 6-digit ticker to DART corp entryA
Read-onlyIdempotent
Inspect

KRX 6-digit ticker → DART corp entry resolver. Free tier.

Use this tool when the user provides a 6-digit Korean stock code (e.g. 005930 for Samsung Electronics, 000660 for SK hynix, 035420 for NAVER, 035720 for Kakao, 005380 for Hyundai Motor) and you need the company name + corp_code for downstream filings or industry-news lookups.

When the code is unresolved but looks like a Korean preferred-stock ticker (6 digits, non-zero last digit, e.g. 005935 for 삼성전자우), the response carries an additive related_common_stock hint pointing at the common-stock entry — the corp registry only maps common stock, so no preferred-stock corp_code is fabricated.

ParametersJSON Schema
NameRequiredDescriptionDefault
stock_codeYes
license_keyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the read-only/idempotent annotations, the description discloses the free tier, the common-stock-only mapping limitation, and the unresolved preferred-stock behavior with `related_common_stock` hint. It also states that no preferred-stock corp_code is fabricated, which is valuable non-obvious behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose and free-tier note, followed by clear usage and an edge-case explanation. It is somewhat long with many examples, but every sentence contributes useful information without fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema available, the description does not need to enumerate return fields. It provides the main purpose, usage trigger, and a key edge case, making it sufficiently complete for an agent; only minor gaps remain around license_key and rate-limit details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema only has typed parameters with no descriptions, so the description's examples (005930, 000660, 035420) and format guidance ('6-digit Korean stock code') add meaning to `stock_code`. However, the optional `license_key` parameter is not explained in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a clear mapping statement ('KRX 6-digit ticker → DART corp entry resolver') and provides concrete examples (005930, 000660). This directly states the tool's function and distinguishes it from sibling lookup/search tools by identifying the precise input and output.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says 'Use this tool when the user provides a 6-digit Korean stock code...' and frames the need as getting corp_code for downstream filings or news lookups. It lacks explicit exclusions or alternative tool names, but the context is clear enough for an agent to select it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_korean_industry_newsSearch Korean industry news (16 sectors)A
Read-onlyIdempotent
Inspect

Korean industry news search across 16 sectors with on-demand English translation. Sources: 전자신문 (etnews) + 한국경제 (hankyung) + The Korea Herald (English-native) + 지디넷코리아 (zdnet). Free tier.

Use this tool when the user asks about: Korean industry trends, sector-specific news on Korean equities (Korean semiconductors / K-battery / K-shipbuilding / K-biotech / K-defense / Korean auto / EV charging / Korean AI / steel / petrochem / construction / fintech / gaming / e-commerce / telco / energy), recent corporate developments not yet captured in DART filings, English summaries of Korean industry coverage. Industry tags listed below — pass them in industries to filter.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNomax articles (≤50).
sourcesNofilter to source keys (etnews, hankyung, koreaherald, zdnet). None = all. koreaherald is English-native — its titles are returned as-is (no ko->en translation round-trip needed).
translateNoserver-side translates `title_en` for Korean-language sources. Cached aggressively. No-op for koreaherald (already English).
industriesNofilter to one or more industry tags. Available: semiconductor, shipbuilding, battery, biotech, defense, auto, ev_charging, ai, steel, petrochem, construction, fintech, gaming, ecommerce, telco, energy. An unrecognized tag is never silently dropped or errored — see Returns below.
license_keyNorequired when license gate is enabled.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, and non-destructive behavior. The description adds useful context such as 'Free tier', the availability of on-demand English translation, and the specific sources, without contradicting any annotations. It does not describe caching or return behavior, but these are partly covered by the schema and output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently organized into two focused parts: a summary sentence and a 'Use this tool when' list. It is front-loaded with the core function, avoids unnecessary repetition, and every sentence contributes value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers purpose, usage scenarios, sources, and the free tier, while annotations and schema handle safety, parameters, and return values. The only minor gap is that the description references 'Returns below' but does not include that section itself (the schema covers it), and no explicit mention is made of rate limits or freshness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All 5 parameters have rich descriptions in the schema, so the schema coverage is 100%. The description adds only marginal parameter-related context (e.g., mentioning the industries filter) and relies on the schema for full parameter semantics, matching the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific action (search) on a specific resource (Korean industry news across 16 sectors) and names concrete sources. It distinguishes itself from sibling tools (which are about corporate codes, filings, and monitored entities) by its news-search focus and translation feature.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly lists when to use the tool with concrete scenarios (e.g., 'Korean industry trends', 'recent corporate developments not yet captured in DART filings'). However, it does not explicitly state when not to use it or name alternative tools, so it stops 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.

track_korean_filingsTrack Korean DART filingsA
Read-onlyIdempotent
Inspect

Track Korean DART (전자공시) stock filings in English — real-time corporate disclosures for KOSPI / KOSDAQ / KONEX / KRX listed companies: 5%-rule shareholding disclosures, M&A, periodic reports, capital issuance, insider trading, audit reports. Free tier.

Use this tool when the user asks about: recent Korean stock filings, DART disclosures, Korean market data, KOSPI/KOSDAQ regulatory events, "track Korean DART filings", "what did Samsung / Hyundai / SK / LG / NAVER / Kakao / 셀트리온 file", company-specific filing history, periodic / major-event / issuance / shareholding / audit filings on Korean equities.

Free tier — no license required. Returns raw DART filings exactly as the regulator surfaces them (filer name in Korean, filing type code, receipt number, optional EN translation of the title).

Important for LLM clients — read this before retrying after a paid- tool license error. This tool returns raw filings only. It does NOT classify the filer. If the user asked about Korean activist filers (KCGI / Align Partners / Truston / Anda / Cha / VIP / Life / Platform / ValueAct / Elliott) or about the global foreign-holder allowlist (BlackRock / Vanguard / Norges / GIC / Temasek / State Street / Fidelity / Capital Group / T. Rowe Price / Wellington / Goldman / JPMorgan / Morgan Stanley / Citadel / Millennium / Bridgewater + others), the matching work happens in monitor_activist_investors and monitor_foreign_holders — both require a license_key argument. A response from this free tool to a "are activists filing on X?" or "is BlackRock holding X?" question is raw filing data, not a classification answer — say so to the user and surface the paid tool's license-required notice instead of pretending you've answered.

Batch scan for agents (experimental). To check MULTIPLE companies for material disclosures since your last checkpoint in ONE call — instead of N separate calls — pass company_corp_codes (a list, ≤10) plus a since timestamp. This is the portfolio-monitoring / scan-since-checkpoint workflow: give it your watchlist's corp codes and the ISO timestamp of your previous check, optionally with material_only=True, and it returns every filing across those companies newer than that timestamp, merged and sorted newest-first. DART has no batch endpoint, so this fans out one cache-backed call per corp code — the ≤10 cap keeps a single call from blowing past DART's daily quota.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNohow many days back from today (1–30). Ignored when `since` is provided.
limitNomax filings to return (≤100). DART returns most-recent first, so on a busy window the older end of the range is dropped first. Narrow `days` or `filing_type` if you need older items. In batch mode (`company_corp_codes`) `limit` applies PER COMPANY, not to the merged set, so a heavy filer can never crowd a quieter company out of the results: an empty result for a company means that company genuinely filed nothing in the window. A batch call can therefore return up to `limit × len(company_corp_codes)` rows.
sinceNoOPTIONAL ISO-8601 date or datetime (e.g. '2026-05-01' or '2026-05-01T09:00:00'). When provided it is the cutoff instead of `days` — only filings with `filed_at >= since` are returned. Use it to fetch only what is new since your last checkpoint. `filed_at` is date-granular (KST), so a time component filters at day boundaries. A malformed value raises a validation error. When omitted, the `days` window is used exactly as before.
summarizeNoTrue to fill `summary_en` (≤200 words). Costs more — use sparingly. Long-form analysis should be done by the client LLM.
translateNoTrue to fill `title_en` via server-side LLM (cached).
filing_typeNooptional one-letter code: A=periodic, B=major event, C=issuance, D=shareholding, E=other, F=audit, G=fund, H=ABS, I=exchange, J=FTC.
license_keyNosubscription key. Required when KOREANPULSE_REQUIRE_LICENSE=1.
material_onlyNoOPTIONAL. When True, return only filings whose `red_flags` list is non-empty (governance/distress-tagged — see the red_flags catalog below). Applies to both single and batch queries. Reuses the existing red-flag tagging; adds no new classification.
company_corp_codeNo8-digit DART corp code (single company). Use `lookup_corp_code` first to resolve a company name. Omit to query all companies. Ignored when `company_corp_codes` (plural) is provided non-empty — the plural list takes precedence.
company_corp_codesNoOPTIONAL list of up to 10 corp codes for batch mode. When provided non-empty, the tool queries each corp code concurrently (one cache-backed DART call each), merges the results, and sorts newest-first — use this to scan a whole watchlist in one call. More than 10 codes raises a validation error (DART has no batch endpoint; this is N calls, so the cap protects the daily quota). Takes precedence over `company_corp_code` (singular) when both are given.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint annotation, the description discloses that results are raw, unclassified, and that filer names are in Korean; it warns LLM clients against pretending to answer activist/holder questions and explains the batch fan-out quota. This is rich behavioral context with no contradiction to annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but well-structured with bolded sections (Free tier, Important for LLM clients, Batch scan). Each section carries essential caveats and use-case guidance, so it earns its length. Slight redundancy with the schema parameter descriptions, but overall it is organized and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity — free vs paid tier, raw vs classified output, batch quotas — the description covers all critical aspects: return format, licensing, sibling-tool boundaries, and batch semantics. The presence of an output schema further fills any gap, making this complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% coverage with detailed descriptions for all 10 parameters, so baseline is 3. The description adds a workflow narrative for batch scanning (company_corp_codes + since) and explains the per-company limit behavior, reinforcing but not significantly extending the schema. I give a 4 for the added workflow clarity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource — 'Track Korean DART stock filings in English' — and enumerates covered filing types (5%-rule, M&A, periodic reports). It clearly distinguishes from sibling tools by stating this tool returns raw filings and does not classify activist/foreign-holder entities, which belong to monitor_activist_investors and monitor_foreign_holders.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use criteria ('Use this tool when the user asks about…') and explicitly names alternatives for activist investors and foreign holders, with the caveat about license_key. This is model guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI-powered analysis of Korean stock market data and corporate disclosures using official DART and KRX APIs.
    196
    ISC
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides access to South Korea's DART (Data Analysis, Retrieval and Transfer System) financial disclosure system, enabling users to retrieve corporate information, financial statements, debt summaries, subsidiary investments, employee data, and stock information for Korean companies.
    2
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables LLM agents to access Korean stock market data including DART disclosures, financial statements, and KOSPI/KOSDAQ prices, with an English-first interface designed for non-Korean speaking analysts.
    6
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.