Skip to main content
Glama
openpharma-org

Asian Financial Filings MCP Server

Unofficial Asian Financial Filings MCP Server

A Model Context Protocol (MCP) server that provides comprehensive access to Asian financial filings via Japan's EDINET and South Korea's DART systems. This server enables AI assistants and applications to search, retrieve, and analyze financial statements and XBRL data from 7,700+ Asian companies.

Key Features

  • Japan Coverage: Access 5,000+ companies via EDINET (Electronic Disclosure for Investors' NETwork)

  • Korea Coverage: Access 2,700+ companies via DART (Data Analysis, Retrieval and Transfer System)

  • Complete Filing Access: Retrieve filing histories and document details

  • XBRL Parsing: Full iXBRL/XBRL-JSON parsing with J-GAAP and K-GAAP taxonomy support

  • Dimensional Analysis: Extract segment, geographic, and product breakdowns from financial data

  • Time-Series Analysis: Multi-period growth rates, trends, and mix analysis (Phase 2)

  • Fact Tables: Build BI-ready fact tables with value search and deviation analysis (Phase 2)

  • Comprehensive Data: Company info, financial statements, shareholders, executives, dividends

  • MCP Compatible: Works seamlessly with Cursor, Claude Desktop, and other MCP clients

  • Free APIs: Both EDINET and DART provide free access (API keys required)

Related MCP server: OpenDart-MCP

What are EDINET and DART?

EDINET (Japan)

The Electronic Disclosure for Investors' NETwork is Japan's mandatory electronic reporting system operated by the Financial Services Agency (FSA). Since 2008, all listed companies and major fund-raising entities must file their disclosure documents using EDINET in XBRL format with J-GAAP (Japanese GAAP) taxonomy.

Data Source: EDINET - Free public access with API key registration

DART (South Korea)

The Data Analysis, Retrieval and Transfer System is Korea's electronic disclosure repository operated by the Financial Supervisory Service (FSS). Companies on KOSPI, KOSDAQ, and KONEX exchanges file their reports through DART using K-GAAP/IFRS standards.

Data Source: Open DART - Free public API with key registration

Installation & Setup

Prerequisites

You'll need API keys from both services (free registration):

  1. EDINET API Key:

  2. DART API Key:

Usage

{
  "mcpServers": {
    "asia-filings": {
      "command": "node",
      "args": ["/path/to/asia-filings-mcp-server/build/index.js"],
      "env": {
        "EDINET_API_KEY": "your-edinet-api-key-here",
        "DART_API_KEY": "your-dart-api-key-here"
      }
    }
  }
}

Complete API Reference

The server provides a unified asia-filings tool with 19 powerful methods (including Phase 2 advanced analytics):

Japan EDINET Methods

1. Search Companies (search_japan_companies)

Find Japanese companies by name (Japanese or English).

{
  "method": "search_japan_companies",
  "query": "Toyota",
  "limit": 10
}

Returns: List of matching companies with EDINET codes and recent filing info.

2. Get Company by EDINET Code (get_japan_company_by_code)

Look up a specific company using its EDINET code.

{
  "method": "get_japan_company_by_code",
  "edinet_code": "E01225"
}

Returns: Company details including name, codes, and latest filing.

3. Get Company Filings (get_japan_company_filings)

Retrieve filing history for a Japanese company.

{
  "method": "get_japan_company_filings",
  "edinet_code": "E01225",
  "start_date": "2023-01-01",
  "end_date": "2024-12-31",
  "limit": 100
}

Returns: Array of filings with URLs for documents and viewer.

4. Get Filing Document (get_japan_filing_document)

Download a specific filing document.

{
  "method": "get_japan_filing_document",
  "document_id": "S100XXXX",
  "document_type": "4"
}

Document Types: 1=submission, 2=PDF, 3=attachments, 4=XBRL

5. Get Documents by Date (get_japan_documents_by_date)

Get all filings submitted on a specific date.

{
  "method": "get_japan_documents_by_date",
  "date": "2024-12-01"
}

6. Get Filing Facts - XBRL Parser (get_japan_filing_facts)

Extract and parse XBRL facts from a Japanese filing document. Parses inline XBRL (iXBRL) with J-GAAP taxonomy.

{
  "method": "get_japan_filing_facts",
  "document_id": "S100XXXX"
}

Returns: Parsed XBRL facts including:

  • Numeric facts with values, units, and decimals

  • Context information (periods, entities)

  • Dimensional data (segments, geography)

  • Summary statistics by fact type

  • Taxonomy classification

7. Get Dimensional Facts (get_japan_dimensional_facts)

Extract dimensional breakdowns from Japanese XBRL filings (e.g., revenue by segment, geography, or product line).

{
  "method": "get_japan_dimensional_facts",
  "document_id": "S100XXXX",
  "search_criteria": {
    "concept": "revenue",
    "hasDimensions": true
  }
}

Returns: Filtered facts with dimensional analysis including geographic, segment, and product breakdowns.

Korea DART Methods

8. Search Companies (search_korea_companies)

Find Korean companies by name.

{
  "method": "search_korea_companies",
  "query": "Samsung",
  "limit": 10
}

Returns: List of matching companies with corporate codes and recent filings.

9. Get Company by Corporate Code (get_korea_company_by_code)

Look up a specific company using its corporate code.

{
  "method": "get_korea_company_by_code",
  "corp_code": "00126380"
}

Returns: Comprehensive company profile including CEO, address, and business details.

10. Get Company Filings (get_korea_company_filings)

Retrieve filing history for a Korean company.

{
  "method": "get_korea_company_filings",
  "corp_code": "00126380",
  "start_date": "2023-01-01",
  "end_date": "2024-12-31",
  "report_type": "A",
  "limit": 100
}

Report Types: A=Annual, Q=Quarterly

11. Get Financial Statements - XBRL Parser (get_korea_financial_statements)

Extract and parse XBRL financial data for a specific period. Parses K-GAAP/IFRS taxonomy data.

{
  "method": "get_korea_financial_statements",
  "corp_code": "00126380",
  "business_year": "2023",
  "report_code": "11011"
}

Report Codes: 11011=Annual, 11013=Q1, 11012=Q2, 11014=Q3

Returns: Parsed XBRL financial facts including:

  • Account names and IDs with K-GAAP concepts

  • Current term, previous term, and before-previous term values

  • Summary statistics by account type

  • Taxonomy classification (Assets, Liabilities, Equity, Revenue, Expenses)

12. Get Dimensional Facts (get_korea_dimensional_facts)

Extract dimensional breakdowns from Korean XBRL financial statements (e.g., revenue by business segment or geography).

{
  "method": "get_korea_dimensional_facts",
  "corp_code": "00126380",
  "business_year": "2023",
  "report_code": "11011",
  "search_criteria": {
    "concept": "매출",
    "hasValue": true
  }
}

Returns: Filtered financial facts with dimensional analysis by geography, segments, and products.

13. Get Major Shareholders (get_korea_major_shareholders)

Retrieve major shareholder information.

{
  "method": "get_korea_major_shareholders",
  "corp_code": "00126380"
}

Returns: Shareholder names, ownership percentages, and change reasons.

14. Get Executive Info (get_korea_executive_info)

Get information about company executives and officers.

{
  "method": "get_korea_executive_info",
  "corp_code": "00126380"
}

Returns: Executive names, positions, birth years, and careers.

15. Get Dividend Info (get_korea_dividend_info)

Retrieve dividend allocation information.

{
  "method": "get_korea_dividend_info",
  "corp_code": "00126380",
  "business_year": "2023"
}

Returns: Dividend allocation details for the specified business year.

Utility Methods

16. Filter Filings (filter_filings)

Filter filing arrays by date, report type, and other criteria.

{
  "method": "filter_filings",
  "filings": [...],
  "filters": {
    "startDate": "2024-01-01",
    "endDate": "2024-12-31",
    "reportType": "Annual"
  }
}

Returns: Filtered filing array with counts.

Advanced Analysis Methods (Phase 2)

17. Build Fact Table (build_fact_table)

Build comprehensive fact table around a target value with business intelligence summaries. Searches for XBRL facts within a tolerance range and provides dimensional breakdowns.

{
  "method": "build_fact_table",
  "country": "JP",
  "company_id": "E01225",
  "target_value": 1000000000000,
  "tolerance": 50000000000,
  "document_id": "S100XXXX",
  "options": {
    "maxRows": 25,
    "showDimensions": true,
    "sortBy": "deviation"
  }
}

Parameters:

  • country: "JP" (Japan) or "KR" (Korea)

  • company_id: EDINET code (JP) or corporate code (KR)

  • target_value: Target value to search around (in Yen or Won)

  • tolerance: Search range tolerance (±)

  • document_id: Optional document ID (JP) or "businessYear:reportCode" format (KR)

  • options: Table configuration (maxRows, sortBy, filters)

Returns: Comprehensive fact table with:

  • Facts within value range sorted by deviation from target

  • Business intelligence summaries

  • Geographic and segment breakdowns

  • Deviation analysis and exact matches

  • Value statistics and business classifications

18. Search Facts by Value (search_facts_by_value)

Alias for build_fact_table - search for XBRL facts within a value range. Same parameters and functionality as build_fact_table.

19. Time Series Analysis (time_series_analysis)

Analyze financial metrics across multiple periods with period-over-period growth rates, geographic/segment mix changes, and trend detection.

{
  "method": "time_series_analysis",
  "country": "KR",
  "company_id": "00126380",
  "options": {
    "concept": "Revenue",
    "periods": 4,
    "includeGeography": true,
    "includeSegments": true,
    "showGrowthRates": true
  }
}

Parameters:

  • country: "JP" (Japan) or "KR" (Korea)

  • company_id: EDINET code (JP) or corporate code (KR)

  • options: Analysis configuration

    • concept: Financial concept to track (e.g., "Revenue", "Assets", "NetIncome")

    • periods: Number of periods to analyze (default: 4)

    • includeGeography: Include geographic breakdowns

    • includeSegments: Include segment breakdowns

    • showGrowthRates: Calculate period-over-period growth rates

Returns: Time-series analysis with:

  • Multi-period data table with facts across time

  • Period-over-period growth rates by geography/segment

  • Geographic mix analysis (composition changes over time)

  • Segment mix analysis (business segment evolution)

  • Trend detection (increasing, decreasing, stable)

  • Growth rate summaries and averages

Coverage

Japan (EDINET)

  • Companies: ~5,000 listed companies + 3,000 investment funds

  • Exchange: Tokyo Stock Exchange (TSE)

  • Market Divisions: Prime, Standard, Growth

  • Taxonomy: J-GAAP (Japanese GAAP)

  • Document Types: 65 types including annual reports, quarterly reports, securities reports

  • Historical Data: From 2008+ (XBRL mandate start)

South Korea (DART)

  • Companies: ~2,700 listed companies

  • Exchanges:

    • KOSPI: ~880 companies

    • KOSDAQ: ~1,700 companies

    • KONEX: ~129 companies

  • Taxonomy: K-GAAP / IFRS

  • Disclosure Types: Annual, quarterly, major issues, equity, issuance, miscellaneous

  • Additional Data: Shareholder info, executive details, dividends

Real-World Use Cases

Investment Research

{
  "method": "search_japan_companies",
  "query": "Sony",
  "limit": 5
}

Find Japanese technology companies and analyze their financial statements

Cross-Market Analysis

{
  "method": "search_korea_companies",
  "query": "삼성전자",
  "limit": 10
}

Compare Korean electronics companies' financial performance

Financial Data Extraction

{
  "method": "get_korea_financial_statements",
  "corp_code": "00126380",
  "business_year": "2023",
  "report_code": "11011"
}

Extract structured XBRL financial data for analysis

Shareholder Analysis

{
  "method": "get_korea_major_shareholders",
  "corp_code": "00126380"
}

Track major shareholder positions and ownership changes

XBRL Parsing and Analysis

{
  "method": "get_japan_filing_facts",
  "document_id": "S100XXXX"
}

Parse inline XBRL from Japanese filings to extract structured financial data

{
  "method": "get_korea_dimensional_facts",
  "corp_code": "00126380",
  "business_year": "2023",
  "report_code": "11011",
  "search_criteria": {
    "concept": "revenue",
    "hasDimensions": true
  }
}

Extract dimensional breakdowns showing revenue by business segment or geography

XBRL Parser Capabilities

The server includes comprehensive XBRL parsing for both Japanese and Korean filings:

Japan (EDINET) - iXBRL Parser

  • Format: Inline XBRL (iXBRL) embedded in HTML

  • Taxonomy: J-GAAP (Japanese GAAP)

  • Parsing: Extracts facts from ix:nonFraction and ix:nonNumeric tags

  • Contexts: Full period, entity, and dimensional context extraction

  • Scale Handling: Automatic scale factor application (millions, billions)

  • Number Formats: Japanese negative number symbols (△, ▲, -)

Korea (DART) - XBRL-JSON Parser

  • Format: XBRL data in JSON format from API

  • Taxonomy: K-GAAP / IFRS

  • Parsing: Account names, IDs, and multi-period values

  • Periods: Current term, previous term, before-previous term

  • Korean Support: Native Korean account names (매출, 자산, 부채, 자본, etc.)

Common Features

  • Fact Classification: Automatic categorization (Assets, Liabilities, Equity, Revenue, Expenses, Cash Flow)

  • Dimensional Extraction: Geography, business segments, product lines

  • Value Filtering: Search by concept, value range, period, dimensions

  • Summary Statistics: Aggregated data by type, namespace, and dimension

  • UTF-8 Support: Full Japanese (漢字, ひらがな, カタカナ) and Korean (한글) character support

Taxonomy Reference

Japan - J-GAAP (Japanese GAAP)

Japanese companies follow J-GAAP taxonomy which differs from US-GAAP and IFRS. The EDINET taxonomy is designed to comply with Global Filing Manual (GFM) rules.

Future Development: Japan plans to adopt the ISSB taxonomy with Japan-specific extensions by 2027.

Korea - K-GAAP / IFRS

Korean companies use either K-GAAP (Korean GAAP) or IFRS depending on their size and listing status. Financial statements are available in XBRL format through the DART API.

Architecture

asia-filings-mcp-server/
├── src/
│   ├── index.js              # MCP server implementation
│   ├── edinet-api.js         # Japan EDINET API client
│   ├── dart-api.js           # Korea DART API client
│   ├── xbrl-parser.js        # XBRL/iXBRL parser (J-GAAP, K-GAAP)
│   ├── fact-table-builder.js # Fact table generation & BI summaries
│   └── time-series-analyzer.js # Multi-period growth & trend analysis
├── package.json
└── README.md

Comparison with SEC/EU Servers

Feature

SEC EDGAR

EU Filings (ESEF)

Asia Filings

Coverage

US companies

27+ EU countries

Japan + South Korea

Companies

10,000+

23,000+

7,700+

Format

iXBRL

iXBRL

XBRL/iXBRL

Taxonomy

US-GAAP

IFRS

J-GAAP, K-GAAP/IFRS

Company ID

CIK

LEI

EDINET Code, Corp Code

Data Source

data.sec.gov

filings.xbrl.org

EDINET, DART

API Cost

Free

Free

Free (keys required)

Authentication

User-Agent

None

API Keys

Available Tools

1 tool
asia-filingsC

Unified tool for Asian financial filings: access company filings, financial statements, and XBRL data from Japan (EDINET) and South Korea (DART). Provides comprehensive access to financial reports from 7,700+ Asian companies.

ParametersJSON Schema
NameRequiredDescriptionDefault
methodYesThe operation to perform: JAPAN (EDINET): - search_japan_companies: Search Japanese companies by name - get_japan_company_by_code: Get company by EDINET code - get_japan_company_filings: Get filing history for Japanese company - get_japan_filing_document: Download specific filing document - get_japan_documents_by_date: Get all filings for a specific date - get_japan_filing_facts: Extract XBRL facts from filing (J-GAAP) - get_japan_dimensional_facts: Get dimensional facts with breakdowns KOREA (DART): - search_korea_companies: Search Korean companies by name - get_korea_company_by_code: Get company by corporate code - get_korea_company_filings: Get filing history for Korean company - get_korea_financial_statements: Get financial statements (XBRL) - get_korea_major_shareholders: Get major shareholder information - get_korea_executive_info: Get executive/officer information - get_korea_dividend_info: Get dividend allocation information - get_korea_dimensional_facts: Get dimensional facts with breakdowns ADVANCED ANALYSIS (Phase 2): - build_fact_table: Build comprehensive fact table around target value with BI summaries - search_facts_by_value: Search for facts within value range (alias for build_fact_table) - time_series_analysis: Analyze financial metrics across multiple periods with growth rates UTILITIES: - filter_filings: Filter filing arrays by criteria
queryNoFor search methods: Company name to search (Japanese, Korean, or English)
edinet_codeNoFor Japan methods: EDINET code (E-number)
corp_codeNoFor Korea methods: Corporate code
document_idNoFor get_japan_filing_document: Document ID from EDINET
document_typeNoFor get_japan_filing_document: Document type (1: submission, 2: PDF, 3: attachments, 4: XBRL)
dateNoFor get_japan_documents_by_date: Date in YYYY-MM-DD format
start_dateNoFor filing methods: Start date in YYYY-MM-DD format
end_dateNoFor filing methods: End date in YYYY-MM-DD format
business_yearNoFor get_korea_financial_statements, get_korea_dividend_info: Business year (YYYY)
report_codeNoFor get_korea_financial_statements: Report code (11011: Annual, 11013: Q1, 11012: Q2, 11014: Q3)
report_typeNoFor get_korea_company_filings: Report type filter
limitNoMaximum number of results to return
filingsNoFor filter_filings: Array of filing objects to filter
filtersNoFor filter_filings: Filter criteria (startDate, endDate, reportType)
search_criteriaNoFor dimensional_facts methods: Search criteria (concept, valueRange, period, hasDimensions)
countryNoFor advanced analysis methods: Country code (JP for Japan, KR for Korea)
company_idNoFor advanced analysis methods: EDINET code (JP) or corp code (KR)
target_valueNoFor build_fact_table/search_facts_by_value: Target value to search around
toleranceNoFor build_fact_table/search_facts_by_value: Tolerance range (±)
optionsNoFor advanced analysis methods: Analysis options (maxRows, showDimensions, sortBy, concept, periods, includeGeography, includeSegments, showGrowthRates)

TDQS

C2.9/5.0
Behavior2/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 of behavioral disclosure. It states the tool 'provides comprehensive access' but fails to describe critical behaviors such as rate limits, authentication requirements, error handling, pagination, or data freshness. For a complex tool with 21 parameters and no annotations, this is a significant gap in transparency.

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 appropriately sized and front-loaded, with two sentences that efficiently convey the core purpose and scope. Every sentence earns its place by specifying the tool's function, geographic coverage, and data scale. It avoids redundancy and is well-structured for quick comprehension.

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?

Given the tool's high complexity (21 parameters, no annotations, no output schema), the description is insufficiently complete. It lacks details on behavioral traits, output formats, error conditions, and usage scenarios. While the schema covers parameters, the description fails to provide the necessary context for an agent to use the tool effectively in practice.

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?

The schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds no additional parameter semantics beyond what is in the schema (e.g., it doesn't explain parameter interactions or provide examples not in the schema). According to the rules, with high schema coverage, the baseline is 3, and the description doesn't compensate with extra value.

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's purpose: 'access company filings, financial statements, and XBRL data from Japan (EDINET) and South Korea (DART)' with a specific scope of '7,700+ Asian companies.' It uses specific verbs like 'access' and 'provides' and identifies the resource as Asian financial filings. However, since there are no sibling tools mentioned, the differentiation aspect is not applicable, preventing a perfect score.

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 provides no guidance on when to use this tool versus alternatives, prerequisites, or exclusions. It mentions 'Unified tool' and 'comprehensive access,' but this is too vague to help an agent decide applicability. Without explicit usage context or named alternatives, the agent lacks operational direction.

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. Dates show when Glama detected each change.

  1. 1 tool updatev1.0.0
    • First observedasia-filings

TDQS

B3.1/5.0
Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools. The tool's purpose is clearly defined as accessing financial filings from Asian markets, leaving no room for misselection.

Naming Consistency5/5

Since there is only a single tool, naming consistency is inherently perfect. The tool name 'asia-filings' follows a clear and descriptive pattern, and there are no other tools to cause inconsistency.

Tool Count2/5

A single tool for accessing financial filings from multiple countries and thousands of companies feels thin and under-scoped. This likely forces too much functionality into one tool, making it less intuitive for agents to use specific operations like retrieving filings by country, year, or company type.

Completeness2/5

The tool surface is severely incomplete for the domain of Asian financial filings. While the tool provides access, there are obvious gaps such as no separate tools for filtering, searching, downloading specific report types, or handling metadata, which are essential for comprehensive financial analysis workflows.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Enables comprehensive access to SEC EDGAR filings, allowing users to search companies, retrieve financial statements, and analyze dimensional XBRL data including revenue breakdowns by geography, business segments, and product lines.
    1
    3
    MIT
  • 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.
    3
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Provides programmatic access to Japan's EDINET system to search for listed companies and retrieve annual or quarterly financial reports. It parses XBRL filings into structured data, enabling AI assistants to analyze balance sheets, income statements, and cash flows.
    18
    Apache 2.0
  • A
    license
    B
    quality
    D
    maintenance
    Provides natural language access to South Korean corporate disclosure data, financial statements, and shareholder information through the DART Open API. It enables users to query 83 different tools for real-time reporting and regulatory filings from Korean listed companies.
    83
    3
    MIT

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/openpharma-org/asia-filings-mcp-server'

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