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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7957364b0f8744a6cce321655a7089528102a02aec6b69bcea52d01d6b007bb9
|
|
| MD5 |
173fcd5466da7efbe628710870626d0f
|
|
| BLAKE2b-256 |
365d44230fd2883467fbe7ce5e7a7e90355ee37ceef63160c084baf45bca4edb
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f81828d080b542cf8106f59388fdaf8102c75cf8e5bc3050cf4e54928de42980
|
|
| MD5 |
c9aaea8870a8951773c8e431cfcfb0f2
|
|
| BLAKE2b-256 |
ef920865896ed61701d590d896325d0dc3981164b371f7bc42c528e8d6609849
|