Skip to main content
Glama
inkyunp

Investment Research MCP

by inkyunp

Investment Research MCP

TradingCodex를 control/provenance plane으로 두고 공식 공시·시장 데이터와 domain-specific evidence를 MCP sidecar로 결합하는 개인용 evidence-first 투자 리서치 스택입니다. 현재 첫 번째 domain pack은 한국 기업 리서치이며, 삼성바이오로직스·대웅제약·루닛을 각각 CDMO, pharma, AI medical device 모델로 검증했습니다.

현재 상태

  • 오프라인 adapter·정책 검증: 통과 — 31개 자동 테스트, 3개 기업 12개 시나리오가 모두 기대 상태와 일치합니다.

  • TradingCodex control plane: 차단 — 현재 VM은 public package access가 없어 generated runtime을 attach하지 못했습니다.

  • Live DART/KRX/biomedical 검증: 미실행 — API 키와 외부 네트워크가 없습니다.

  • 한국 규제 완전성: 미완성 — MFDS와 CRIS adapter가 없으므로 한국 승인·안전·허가·국내 임상 완전성을 주장할 수 없습니다.

  • 따라서 최종 validation/latest-results.json의 전체 상태는 의도적으로 **incomplete**입니다.

Related MCP server: MCP News Collector

아키텍처

  1. TradingCodex: 역할 분리, workflow, immutable SourceSnapshot, artifact lineage, 독립 judgment review.

  2. korea_official_mcp.py: OpenDART와 KRX의 HTTPS-only, allowlisted, bounded, fail-closed raw adapter.

  3. biomed_raw_mcp.py: ClinicalTrials.gov, PubMed, openFDA raw adapter. 자동 catalyst score/verdict는 노출하지 않습니다.

  4. Evidence contract: 모든 외부 응답은 ok, no_data, partial, auth_missing, unavailable, not_applicable, coverage_gap, invalid_request 중 하나이며, 분석에 사용하기 전에 record_source_snapshot으로 보존해야 합니다.

상세 내용은 docs/ARCHITECTURE.md, 운영 절차는 docs/OPERATIONS.md, 검증 증거는 docs/VALIDATION.md, 보안 모델은 docs/SECURITY.md를 참조하십시오.

바로 확인하기

cd /projects/sandbox/korean-biotech-research-stack
./scripts/run-tests.sh

이 명령은 provider credential을 제거한 결정적 오프라인 테스트를 수행하고 validation/latest-results.json을 갱신합니다.

네트워크 복구 후 TradingCodex runtime 만들기

cd /projects/sandbox/korean-biotech-research-stack
./scripts/bootstrap-online.sh

첫 attach는 populated seed 디렉터리가 아니라 기본 경로 runtime/tradingcodex-workspace/의 빈 디렉터리에 수행됩니다. 스크립트는 tradingcodex==2.1.3을 사용하고, integration·role overlay를 설치한 다음 tcx update와 doctor를 실행합니다. 다른 빈 목적지를 쓰려면 첫 번째 인자로 전달합니다.

Provider credential은 파일에 쓰지 말고 실행 환경에서만 상속하십시오:

export DART_API_KEY='...'
export KRX_API_KEY='...'
# 선택 사항
export NCBI_API_KEY='...'
export OPENFDA_API_KEY='...'

기업별 모델

기업

식별자

모델

핵심 금지 사항

삼성바이오로직스

207940, KOSPI

CDMO plant-cohort FCFF/reverse DCF

drug-pipeline catalyst score 금지

대웅제약

069620, KOSPI

commercial-base DCF + indication/territory rNPV

registry 등록을 성공으로 간주 금지

루닛

328130, KOSDAQ

segment/deployment-cohort FCFF

drug-pipeline valuation 금지

주요 경로

  • integration/servers/ — hardened MCP sidecars

  • integration/companies/ — 3개 기업의 evidence matrix·valuation model

  • integration/workflows/ — 조사 및 SourceSnapshot 계약

  • .tradingcodex/agent-instructions/ — 역할별 project overlay

  • scripts/bootstrap-online.sh — 별도 generated runtime 설치

  • tests/ — protocol, security, provider semantics, profile, installer 테스트

  • reviews/INDEPENDENT_REVIEW.md — 4개 독립 리뷰 기록

  • validation/latest-results.json — machine-readable 최종 상태

Available Tools

7 tools
dart_company_overviewC

Fetch raw OpenDART company registration data.

ParametersJSON Schema
NameRequiredDescriptionDefault
corp_codeYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. 'Fetch' implies a read-only operation, but nothing is disclosed about authentication requirements, rate limits, failure behavior, or the structure/shape of the returned raw data.

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 a single concise sentence with no filler. However, it is somewhat under-specified rather than efficiently complete, so it earns high but not full marks.

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

Completeness2/5

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

For a tool with no output schema and no annotations, the description should explain what the returned data looks like or how the raw data relates to sibling tools. It does neither, leaving the agent without enough context to confidently use the tool beyond making a trivial call.

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

Parameters2/5

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

Schema description coverage is 0%, and the description does not explain the corp_code parameter beyond what the schema's name and regex pattern already imply. Since the description must compensate for the low coverage but does not, it falls below the baseline.

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 uses a specific verb ('Fetch') and a clear resource ('raw OpenDART company registration data'). It is distinguishable from siblings like dart_financial_statements and dart_disclosures, though the word 'raw' is somewhat vague and could mislead about what form the data takes.

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

Usage Guidelines2/5

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

No guidance is provided about when to use this tool versus alternatives such as resolve_dart_company or dart_disclosures. The description does not mention prerequisites like how to obtain a corp_code, nor does it exclude cases where another sibling would be more appropriate.

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

dart_disclosuresC

Fetch one bounded page of raw OpenDART disclosures; partial status marks remaining pages.

ParametersJSON Schema
NameRequiredDescriptionDefault
page_noNo
end_dateYes
corp_codeYes
page_countNo
start_dateYes

TDQS

C2.7/5.0
Behavior3/5

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

With no annotations provided, the description carries the behavioral burden and it does disclose that only one bounded page is returned and that a partial status signals remaining pages. It does not explain return format, error semantics, or whether authentication or intermediate calls like resolve_dart_company are prerequisites.

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 a single compact sentence that front-loads the main action and includes a meaningful pagination caveat. It is appropriately brief, though some parameter semantics are sacrificed for brevity.

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

Completeness2/5

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

For a 5-parameter tool with three required parameters and no output schema or annotations, the one-sentence description is insufficient. An agent lacks enough context about input formats, page size semantics, or what 'partial status' looks like in the response.

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

Parameters1/5

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

The input schema provides 0% description coverage and the description itself gives no parameter-level meaning. It does not explain what corp_code, start_date, end_date, page_no, or page_count represent or how they interact.

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 identifies the tool's purpose: fetching a bounded page of raw OpenDART disclosures, and differentiates it from overview/financial-statement sibling tools. It does not explicitly name a sibling, so it misses the full differentiation criterion.

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

Usage Guidelines2/5

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

The description gives no guidance about when to prefer this tool over alternatives such as dart_company_overview or dart_financial_statements. Pagination behavior is hinted at with 'partial status marks remaining pages,' but there is no explicit when-to-use or when-not-to-use context.

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

dart_financial_statementsC

Fetch raw OpenDART single-company account statements with explicit consolidated/separate basis.

ParametersJSON Schema
NameRequiredDescriptionDefault
fs_divYes
corp_codeYes
report_codeYes
business_yearYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full behavioral burden. It discloses that the tool returns 'raw' statements, but it does not mention prerequisites, authentication, rate limits, response format, report_code semantics, or any caveats about data availability.

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 a single front-loaded sentence with no filler; the verb and resource come first. It is concise, though it omits important parameter and usage details that would make it more effective.

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

Completeness2/5

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

With four required parameters, no output schema, no annotations, and no parameter coverage, the description leaves too much to inference. An agent cannot reliably select the correct report_code or understand what the returned statements contain or how they differ from sibling tool outputs.

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

Parameters2/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, but it only adds meaning for fs_div ('consolidated/separate basis') and partially for corp_code ('single-company'). It leaves business_year and especially the opaque report_code enum values (11013, 11012, 11014, 11011) unexplained.

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 names a specific verb ('Fetch'), a specific resource ('OpenDART single-company account statements'), and a distinguishing attribute ('explicit consolidated/separate basis'). It is clear and not a tautology, but it does not explicitly position itself against sibling tools such as dart_company_overview or dart_disclosures.

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

Usage Guidelines2/5

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

The description gives no explicit when-to-use guidance, no exclusions, and no mention of alternatives. The phrase 'raw single-company account statements' weakly implies a use case, but an agent receives no help choosing between this tool and the sibling OpenDART/DART tools.

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

declared_coverage_gapsA

Return mandatory Korean regulatory coverage gaps (MFDS and CRIS).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior2/5

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

With no annotations, the description carries the full disclosure burden, but it only states that the tool returns gaps. It does not reveal behavioral traits such as read-only/idempotent behavior, the shape of the returned gaps, data freshness, or whether any external/network dependency exists.

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?

One sentence front-loads the action and object, with no filler or repetition of the tool name. It is as concise as a zero-parameter tool's description should be.

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 is sufficient to select the tool, but with no output schema it does not explain what a returned 'gap' looks like, and the acronyms MFDS/CRIS are not expanded. More detail about the output format or the meaning of 'coverage gaps' would make it 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?

The tool has zero parameters, so the schema is fully covered and no parameter documentation is needed. Per the baseline for a no-parameter tool, the description need not compensate for missing parameter meaning.

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 uses a specific verb ('Return') and a concrete resource ('mandatory Korean regulatory coverage gaps'), naming the regulators MFDS and CRIS. This clearly separates it from the sibling DART/KRX tools, which address company data, disclosures, and stock trading.

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?

The intended use is implied: an agent would call this when coverage gaps under Korean regulations are relevant. There is no explicit when-to-use/when-not-to-use guidance or reference to alternatives, though the sibling tools are distinct enough that confusion is unlikely.

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

krx_daily_tradeB

Fetch HTTPS-only KRX daily trade data for one ticker/date.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
marketYes
tickerYes

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure, but it only mentions 'HTTPS-only' and 'Fetch'. It does not clarify whether the operation is read-only, what data is returned, how missing data is handled, or whether any rate limits or prerequisites apply.

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 a single focused sentence with no filler. It front-loads the core resource and scope, making it quick for an agent to parse.

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

Completeness2/5

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

There is no output schema and no annotations, so the description alone needs to provide enough context for correct invocation. It fails to explain the return shape, the market parameter, or any behavioral caveats, leaving an agent with an under-specified tool.

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

Parameters2/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 for undocumented parameters. It mentions ticker and date, but says nothing about the required 'market' parameter or the meaning of the pattern constraints on ticker and date.

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 names a specific verb ('Fetch'), a concrete resource ('KRX daily trade data'), and a clear scope ('one ticker/date'). This distinguishes it from siblings like krx_stock_base_info, which covers base stock information rather than daily trade records.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool versus the sibling tools. It does not mention alternatives, exclusions, or conditions that would make another tool more appropriate.

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

krx_stock_base_infoC

Fetch HTTPS-only KRX issue base information for one ticker/date.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
marketYes
tickerYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description carries the full burden, but it only adds the odd 'HTTPS-only' constraint and the singular scope. It does not disclose whether credentials are needed, what happens for missing or invalid inputs, rate limits, or the structure of the returned base information.

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 a single front-loaded sentence with no filler, which is appropriately compact for a simple tool. However, 'HTTPS-only' is awkwardly placed and the omission of any parameter guidance makes it slightly too thin for the three-parameter signature.

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

Completeness2/5

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

For a tool with no annotations and no output schema, the description should compensate with more context about expected behavior and return values, but it does not. An agent invoking this tool would still need to infer the meaning of 'issue base information,' the market parameter, and the output format.

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

Parameters2/5

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

Schema description coverage is 0%, so the description was expected to explain the three required parameters, but it only mentions 'one ticker/date' and says nothing about the required 'market' parameter or what the values mean. The schema's patterns and enum are useful, but the description adds little semantic value beyond the singular scope.

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 uses a specific verb ('Fetch') and names a concrete resource ('KRX issue base information') scoped to one ticker/date, which is clear in isolation. It does not explicitly differentiate from siblings like krx_daily_trade, and the phrase 'HTTPS-only' is confusingly placed, so it stops short of full sibling distinction.

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

Usage Guidelines2/5

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

There is no statement about when to use this tool versus krx_daily_trade, the DART siblings, or any alternative. The only implied guidance is singularity ('one ticker/date'), but no exclusions, prerequisites, or trade-offs are provided.

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

resolve_dart_companyA

Resolve a Korean listed company to its OpenDART corporation code.

ParametersJSON Schema
NameRequiredDescriptionDefault
corp_nameNo
stock_codeNo

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral burden. It does disclose the core behavior: resolving a company to a code, implying a lookup/read-style operation. It does not explain behavior around ambiguous matches, simultaneous inputs, or response format, but the basic operation is stated.

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?

A single focused sentence with no filler. The action and output are front-loaded, making it easy to scan.

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?

For a simple two-parameter resolver, the description plus the oneOf schema gives a minimally viable picture. Still, there are no annotations and no output schema, and the description omits guidance on which parameter to prefer, so an agent must infer details from the schema alone.

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

Parameters2/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 adds domain context but does not explain the roles of stock_code and corp_name, Korean-name expectations, or precedence between the two parameters. The oneOf schema partially covers this, but the description itself does not.

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?

Uses a specific verb ('resolve'), a specific resource ('Korean listed company'), and a specific output ('OpenDART corporation code'). This clearly distinguishes it from sibling tools like dart_company_overview, dart_disclosures, and krx_daily_trade.

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?

The purpose implies when to use it: when the agent needs an OpenDART corporation code for a Korean listed company. However, it gives no explicit guidance on when not to use it or how it relates to the sibling tools.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 7 tool updatesv0.1.0
    • First observeddart_company_overview
    • First observeddart_disclosures
    • First observeddart_financial_statements
    • First observeddeclared_coverage_gaps
    • First observedkrx_daily_trade
    • First observedkrx_stock_base_info
    • First observedresolve_dart_company

TDQS

B3.2/5.0

Scored across 7 tools

Disambiguation5/5

Each tool targets a distinct data source and resource: company resolution, registration overview, disclosures, financial statements, KRX base info, daily trades, and declared coverage gaps. Overlap is minimal and the DART/KRX prefixes help agents select the right tool.

Naming Consistency3/5

All names are readable snake_case, and several use DART or KRX prefixes, but the verb pattern is inconsistent: resolve_dart_company is verb-first, dart_company_overview and dart_disclosures are noun-only, and declared_coverage_gaps breaks the source-prefix convention. This makes the naming style mixed but still understandable.

Tool Count5/5

Seven tools is well-scoped for a specialized Korean-market research server. Each tool covers a distinct retrieval need without redundancy or bloat.

Completeness3/5

The server covers core regulatory filing and trade data retrieval, but there are notable gaps: KRX data is limited to one ticker/date with no historical range or multi-security lookup, and DART disclosure pagination is implied but not exposed as a dedicated next-page tool. It is usable for basic research but may require agents to compose multiple calls to fill gaps.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

  • MCP server for VC pitch-deck scoring, thesis-fit matching, and deal-flow management.

  • FinBridge is a hosted MCP server for Korean company disclosures, read in English. DART filings and normalized financial statements, business segments, insider reports and 13F holdings, with US, Japanese and European filers on the same schema for comparison. Search a company by its registered English name or its Korean name. Every answer names the filing, the receipt number and the date. Korean price delivery is planned and not currently served. Docs: https://www.gronox.kr/docs

  • The Octagon MCP server provides specialized AI-powered financial research and analysis by integrating with the Octagon Market Intelligence API. It enables users to analyze public market data (SEC filings, earnings transcripts, financial metrics, and stock data for 8000+ companies), private market data (3M+ companies, 500k+ funding rounds, 2M+ M&A/IPO transactions), and conduct deep research including web scraping capabilities. The server also features autonomous research agents that search hundreds of sources and return fully cited reports in approximately one minute.

  • Research-only MCP server: your AI as a quant research desk. 90 tools, no trades, no brokers.

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP Server for public disclosure information of Korean companies, powered by the dartpoint.ai API.
    3
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that collects and analyzes Korean stock market news in real-time, providing investment insights through AI-based analysis of sentiment, market impact, and rumor detection.
    1
    MIT