Skip to main content

MCP server for Kessan — Japan corporate disclosure data via EDINET + IR PDFs

Project description

kessan-mcp

MCP (Model Context Protocol) server for Kessan — Japan corporate disclosure data (EDINET regulatory filings + company IR PDFs) via a structured English-canonical API.

Lets Claude Desktop, Cursor, Cline, and any MCP-compatible client query Japanese financial disclosures natively.

Install

pip install -e .

Or once published:

pip install kessan-mcp

Claude Desktop config

Add to %APPDATA%\Claude\claude_desktop_config.json (Windows) or ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):

{
  "mcpServers": {
    "kessan": {
      "command": "kessan-mcp",
      "env": {
        "KESSAN_DB_PATH": "/path/to/edinet.duckdb"
      }
    }
  }
}

Restart Claude Desktop. You can then ask things like:

  • "Show me Toyota's annual financials for the last 5 years"
  • "What filings did Sony submit in 2024?"
  • "List all companies in the automotive industry"

Tools

1. search_companies(query, limit=10)

Search for Japanese listed companies by name (JP/EN), EDINET code, or ticker.

query: str   — "Toyota", "トヨタ", "E02144", "7203"
limit: int   — max results (1–100, default 10)

2. get_company_filings(edinet_code, fiscal_year=None, doc_type_code=None, limit=50, lang="en")

List disclosure filings for a company.

edinet_code:   str        — EDINET issuer code, e.g. "E02144"
fiscal_year:   int|None   — filter by year, e.g. 2024
doc_type_code: str|None   — "120"=Annual Report, "160"=Semi-Annual, "130"=Amendment
limit:         int        — max results (1–500, default 50)
lang:          "ja"|"en"  — "en" adds doc_type_name_en / doc_type_name_ja fields

3. get_company_financials(edinet_code, period_type=None, source_types=None, lang="en")

Return financial rows (EDINET XBRL + IR PDF combined).

edinet_code:  str         — EDINET issuer code, e.g. "E02144"
period_type:  str|None    — "annual", "FY", "Q1", "Q2", "Q3", "Q4", "semi_annual"
source_types: list|None   — ["edinet"], ["ir_pdf"], or ["edinet","ir_pdf"] (default)
lang:         "ja"|"en"   — "en" adds period_type_en field

4. translate_concept(concept_code)

Translate an XBRL financial concept element local-name to English.

concept_code: str   — e.g. "NetSales", "OperatingIncome", "jpcrp_cor:NetSales"

Returns {concept, en, en_short, ja, unit, statement} or null if unknown.

5. list_industry_codes(lang="en")

List all TSE 33-industry classification codes with English and Japanese names.

lang: "ja"|"en"   — primary label language (default "en")

Import path

from mcp.server.fastmcp import FastMCP   # FastMCP decorator pattern
from kessan_mcp.server import mcp        # the server instance

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kessan_mcp-0.0.1.tar.gz (14.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kessan_mcp-0.0.1-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

File details

Details for the file kessan_mcp-0.0.1.tar.gz.

File metadata

  • Download URL: kessan_mcp-0.0.1.tar.gz
  • Upload date:
  • Size: 14.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for kessan_mcp-0.0.1.tar.gz
Algorithm Hash digest
SHA256 7957364b0f8744a6cce321655a7089528102a02aec6b69bcea52d01d6b007bb9
MD5 173fcd5466da7efbe628710870626d0f
BLAKE2b-256 365d44230fd2883467fbe7ce5e7a7e90355ee37ceef63160c084baf45bca4edb

See more details on using hashes here.

File details

Details for the file kessan_mcp-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: kessan_mcp-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 11.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for kessan_mcp-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f81828d080b542cf8106f59388fdaf8102c75cf8e5bc3050cf4e54928de42980
MD5 c9aaea8870a8951773c8e431cfcfb0f2
BLAKE2b-256 ef920865896ed61701d590d896325d0dc3981164b371f7bc42c528e8d6609849

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page