Skip to main content
Glama
okdoittttt

ko-stock-mcp

by okdoittttt

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.1.0

  • Disambiguation5/5

    Each tool has a distinct purpose: company info, corp code lookup, disclosure list/detail, financial statements, market type, stock base info, trade info, and date retrieval. No overlapping functionality.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern using snake_case (e.g., get_company_info, get_stock_trade_info), making them predictable and easy to distinguish.

    Tool Count5/5

    With 9 tools covering company info, disclosures, financials, and stock market data, the count is well-scoped for the domain, neither excessive nor insufficient.

    Completeness4/5

    Core workflows (company lookup, disclosure search, financial statements, stock quotes) are covered. Minor gaps like historical price trends or advanced analytics are absent but not critical for basic stock information.

  • Average 4.3/5 across 9 of 9 tools scored. Lowest: 3.7/5.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 1 commit in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior3/5

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

    No annotations exist, so the description bears full burden. It discloses that data is returned as KRX original fields and explains parameter defaults, but does not mention authorization, rate limits, or error handling.

    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 well-structured with bullet points, front-loads the main purpose, and is appropriately sized. Minor redundancy in listing fields.

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

    Completeness3/5

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

    Covers return fields and parameter constraints, but lacks details on error cases, output schema behavior, or prerequisites. Adequate for a read tool with 3 parameters.

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

    Parameters5/5

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

    With 0% schema coverage, the description fully compensates by providing clear semantic meaning for each parameter: stock_code format (6 digits, example), bas_dd format (YYYYMMDD), and market options with auto-detect behavior.

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

    Purpose4/5

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

    The description clearly states the tool retrieves basic stock information (특정 종목의 기본정보를 조회합니다) and lists specific fields returned, distinguishing it from sibling tools like get_stock_trade_info. However, it does not explicitly differentiate from get_company_info.

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

    Usage Guidelines3/5

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

    Provides guidance on the bas_dd format and market parameter auto-detection. However, it lacks explicit direction on when to choose this tool over its siblings.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries full burden. It mentions that the tool provides all accounts and covers specific company types and report years. However, it does not disclose behavioral traits like read-only nature, data volume, pagination, rate limits, or any side effects, which are relevant for a retrieval tool.

    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 well-structured with a summary line, contextual scope, and a clear argument list. It is front-loaded with the main purpose. While it is relatively long, every sentence adds value, and the structure aids readability. Minor redundancy could be trimmed.

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

    Completeness3/5

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

    The description explains the parameters and the overall purpose but does not describe the return value format or structure. Given there is no output schema, this omission is notable. For a tool with 5 parameters and a specific domain (XBRL financial statements), more detail on the output would improve completeness.

    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 input schema has 5 parameters with 0% description coverage. The description compensates well by explaining each parameter in the Args section, including allowable values (e.g., reprt_code codes, fs_div options, sj_nm choices). This adds significant meaning beyond the bare schema.

    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 retrieves all account subjects of XBRL financial statements from periodic reports, specifying the scope (listed and major unlisted companies). It distinguishes itself from siblings like get_corp_code, which is referenced as a prerequisite, and other tools that serve different purposes.

    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 provides clear usage context: it is for retrieving financial statement data and explicitly instructs to use get_corp_code first to obtain corp_code. It does not explicitly state when not to use this tool versus alternatives, but the sibling tools have distinct purposes, making it implicitly clear.

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

  • Behavior3/5

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

    No annotations provided, so description carries full burden. It correctly describes a read operation with no side effects, but does not mention rate limits, auth, or other behaviors. Adequate but not extensive.

    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?

    Description is two short paragraphs: first states purpose and prerequisite, second lists output fields and parameter. No wasted words, front-loaded with key information.

    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?

    For a single-parameter tool with no output schema, description covers how to get the parameter, what it returns, and what fields are included. Could mention data type or validation, but overall 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 0% coverage for parameter descriptions. The description adds meaning: '공시대상회사 고유번호(8자리)' explains the parameter format and length, which is helpful beyond just the title.

    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?

    Description uses specific verb '조회' (retrieve) and resource '회사의 기본 정보' (basic company info), listing multiple output fields. It clearly distinguishes from sibling tools like get_financial_statement and get_disclosure.

    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 that corp_code should be obtained via get_corp_code, providing a clear prerequisite. Lacks explicit when-not-to-use or alternative tool guidance, but the context is sufficient.

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

  • Behavior3/5

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

    Description mentions that data may be absent on weekends/holidays and that the tool returns KRX original fields. However, with no annotations provided, it lacks details on side effects, authentication requirements, or rate limits. The behavioral disclosure is minimal but adequate for a read-only query.

    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?

    Description is well-structured with a main paragraph followed by an Args list. It is concise, with each sentence providing necessary information. No redundant or irrelevant text. Could be slightly more concise but overall efficient.

    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 absence of an output schema, the description lists the specific fields returned (closing price, change, volume, etc.) and mentions they are KRX original fields. It covers purpose, parameter meaning, usage constraints (business day), and return values, making it complete for this simple tool.

    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 0% description coverage, so the description must compensate. It does so by explaining each parameter: stock_code as 6-digit code with example, bas_dd as YYYYMMDD, and market as a list of options with auto-detect behavior. This adds significant meaning beyond the schema structure.

    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?

    Description clearly states the tool queries daily trading info for a specific stock on a specific business day. It lists the specific fields returned and distinguishes from siblings via mentioning get_today_date for date checks. The verb '조회하다' and resource '특정 종목의 특정 영업일 일별 매매정보' are specific and unique among siblings.

    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?

    Description provides explicit guidance: bas_dd must be a business day, and if not, use get_today_date to find the previous business day. It also notes that market can be omitted for auto-detection. However, it does not explicitly exclude other scenarios or compare against all siblings.

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

  • Behavior3/5

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

    With no annotations, the description bears full responsibility for behavioral disclosure. It explains the two-step fallback mechanism (DART then KRX), which adds transparency. However, it does not mention potential error conditions, side effects, or rate limits, and the return format is unspecified.

    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 concise, with the primary purpose stated first, followed by implementation details and parameter documentation. Every sentence adds value without redundancy.

    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?

    Given the tool's simplicity (2 parameters, no output schema), the description covers purpose, method, and parameter details adequately. However, it lacks information about return values or possible error cases, which would enhance completeness.

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

    Parameters5/5

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

    Schema description coverage is 0%, so the description must compensate. It provides clear explanations for both parameters: stock_code (6-digit format) and bas_dd (date format with default to recent business day). This adds significant meaning beyond the raw schema.

    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 that the tool determines the market type (KOSPI/KOSDAQ/KONEX) for a given stock code, using a specific fallback logic. It distinguishes itself from sibling tools by specifying its role as an entry point for KRX price/basic info queries.

    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 notes that the tool is used as an entry point for KRX price/basic info lookups, providing clear context. However, it does not list alternative tools or conditions to avoid using it, though the purpose is narrow enough to make this less critical.

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

  • Behavior4/5

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

    No annotations provided, but description covers key behaviors: supports unlisted companies, partial name matching, and limit parameter. It implies read-only lookup. Could have mentioned response format, but the primary output (corp_code) is clear. No contradictions.

    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?

    Well-structured with sections for purpose, usage advice, and parameter docs. Slightly verbose but every sentence adds value. The important info is front-loaded.

    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?

    Given 3 parameters, no output schema, and no annotations, the description adequately covers usage context, prerequisites, and parameter details. An agent can successfully invoke the tool. Minor missing details like response structure, but not critical.

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

    Parameters5/5

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

    Schema description coverage is 0%, but description explains each parameter in detail: corp_name (partial match, Korean/English), stock_code (6-digit format with example), limit (default 20). Adds significant meaning beyond schema.

    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 retrieves a DART unique code (corp_code) by company name or stock code, distinguishing it from sibling tools that require this code as a prerequisite. The verb '조회합니다' and resource are specific.

    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 advises using this tool first to obtain corp_code before using other DART tools. Also recommends web searching for Korean name if only English name is known, improving accuracy. No explicit when-not-to-use, but context is clear.

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

  • Behavior4/5

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

    No annotations are provided, so the description carries the full burden. It discloses the default values for parameters (e.g., last_reprt_at default N, sort default date, sort_mth default desc, page_count default 10, max 100). However, it does not explicitly state that this is a read-only, non-destructive operation (likely safe) or mention any rate limits or pagination beyond the parameters. Missing a note on return format (e.g., list of disclosure items) but acceptable for a search tool.

    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 moderately concise with a clear structure: a one-line summary, two usage tips, a blank line, then a parameter definitions section. Every sentence provides value. Could be slightly tightened (e.g., reduce redundancy in parameter defaults) but overall well-organized.

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

    Completeness3/5

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

    Given no output schema, the description does not explain the return format (e.g., list of disclosure objects, fields included). While the agent may infer from the tool name, a brief note on the response structure would improve completeness. The description covers input well but leaves output unspecified, which could cause misuse if the agent expects a different structure.

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

    Parameters5/5

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

    Schema description coverage is 0%, so the description must fully explain parameters. It does so thoroughly: each parameter is described with its meaning, allowed values (e.g., pblntf_ty letters, corp_cls options, sort criteria), and defaults. This provides sufficient semantic context for the agent to construct correct queries.

    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's purpose: '공시검색: 회사·기간·공시유형 등 여러 조건으로 공시 목록을 조회합니다.' (Disclosure search: retrieve a list of disclosures by various conditions including company, period, and disclosure type). It distinguishes itself from sibling tools like get_disclosure (single disclosure) and get_corp_code (company code lookup) by focusing on list retrieval with filtering.

    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 guidance on when to use this tool: specify bgn_de for recent searches, and use get_corp_code first to obtain corp_code for a specific company. States default behaviors (e.g., end_de default today) and limitations (corp_cls cannot be specified multiple times). This helps the agent decide when to use this tool versus alternatives.

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

  • Behavior4/5

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

    No annotations provided, so description carries full burden. It discloses the time zones (KST, UTC) and output formats (YYYYMMDD, ISO). Being a simple date getter, this is adequate; could mention it is read-only but not mandatory.

    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?

    Three sentences, each with distinct value: first states main purpose, second adds format details, third provides use case. No wasted words, front-loaded with essential 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?

    Given low complexity (0 parameters, no output schema), the description covers purpose, output details, and usage context. It is complete for an agent to decide when and how to use the tool.

    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?

    Tool has zero parameters and schema coverage is 100%. Baseline for no parameters is 4; description does not need to add parameter info. It appropriately omits param details.

    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 it provides today's date in KST and UTC, with specific formats (YYYYMMDD and ISO). It is distinct from sibling tools which are data retrieval functions, not date utilities.

    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 advises using it for interpreting relative date queries like 'recent' or 'this year'. No explicit exclusion of alternatives, but the use case is clear and context is sufficient.

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

  • Behavior5/5

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

    No annotations exist, but the description fully details behavioral traits: returns TOC for large docs, section queries, and sub-TOC for large sections, with no contradictions.

    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 main action and includes essential procedural guidance, though slightly verbose with repeated navigation instructions.

    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?

    Covers return types, large document handling, and section queries comprehensively, but lacks output schema details like field names beyond the TOC example.

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

    Parameters5/5

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

    Despite 0% schema coverage, the description thoroughly explains 'rcept_no' (14-digit from get_disclosure_list) and 'section_id' (from TOC sections[].id), including default behavior, adding critical meaning beyond the schema.

    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 'fetches parsed disclosure documents' and references 'get_disclosure_list' for the rcept_no, distinguishing it from sibling tools like listing or info tools.

    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?

    Explicitly describes when to expect TOC versus full content, how to query sections, and provides a workflow for handling large documents, including notifying the user about remaining sections.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

ko-stock-mcp MCP server

Copy to your README.md:

Score Badge

ko-stock-mcp MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/okdoittttt/ko-stock-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server