Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

J-Quants MCP

PYPI · JQUANTS-MCP · SCANNED SEP 20

MCP server for retrieving Japanese stock market data via J-Quants API v2

Available components

0 this week 81 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security100
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • Runs hatchling.build at install time, a recognised native-build step with no shell scripting around it. View diagnostics → Pass
  • 0 of 33 dependencies flagged as unhealthy. View diagnostics → Pass
Provenance & Transparency48
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 29 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability66
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 12249 tokens (~222/item across 55 items; 55 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management97
  • Stability observed for 29 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage71
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 0% of tool parameters carry a description.Fail
  • Structured output schemas are declared (96% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 55 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the J-Quants MCP server?

J-Quants MCP runs locally as a PyPI package, launched with uvx jquants-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

pypi · jquants-mcp

# add to Claude Code
claude mcp add shigechika-jquants-mcp -- uvx jquants-mcp
// .cursor/mcp.json
{
  "mcpServers": {
    "shigechika-jquants-mcp": {
      "command": "uvx",
      "args": [
        "jquants-mcp"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "shigechika-jquants-mcp": {
      "command": "uvx",
      "args": [
        "jquants-mcp"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add shigechika-jquants-mcp -- uvx jquants-mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "shigechika-jquants-mcp": {
      "type": "local",
      "command": [
        "uvx",
        "jquants-mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add shigechika-jquants-mcp --command uvx --arg jquants-mcp
# ~/.hermes/config.yaml
mcp_servers:
  shigechika-jquants-mcp:
    command: "uvx"
    args: ["jquants-mcp"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "shigechika-jquants-mcp": {
      "Transport": "stdio",
      "Command": "uvx",
      "Arguments": [
        "jquants-mcp"
      ]
    }
  }
}
# add to Vellum
assistant mcp add shigechika-jquants-mcp -t stdio -c uvx -a jquants-mcp
// mcp.json
{
  "mcpServers": {
    "shigechika-jquants-mcp": {
      "command": "uvx",
      "args": [
        "jquants-mcp"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 20 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

  • 18 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.

  • 16 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.

  • 15 Sept 26 +12
    • Malware scan: unverified → pass security
    • Stability: pass → 0.80 functional
  • 14 Sept 26 −15
    • Malware scan: pass → unverified security
    • Stability: 0.97 → pass security
  • 13 Sept 26 0
    • Stability: pass → 0.97 functional
  • 10 Sept 26 0
    • Package version: 1.2.0 → 1.3.0 functional
  • 7 Sept 26 0
    • Stability: 0.97 → pass security
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Analysed pypi/jquants-mcp@1.3.0

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem pypi

Background: How many MCP packages publish verified provenance →

Install scripts 1 script
Hook Tier Command
build_backend allowlisted hatchling.build

Background: Why install scripts are a supply-chain risk →

Dependencies 33 packages
Packages resolved 33
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 55 exposed · ~12,249 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
cache_clear ~92

Clear cached data. Offloaded to a worker thread (see ``_cache_clear_impl``): this does a bulk DELETE, and the official mcp SDK runs sync tool bodies directly on the event loop (see ``health_check``'s docstring for why an explicit offload is needed here). Args: table: Table name to clear. Clears all tables when omitted.

NameTypeReqDescription
table

Structured output declared, but exposes no named fields.

No examples provided.

cache_status ~191

Show database metadata: table row counts, file size, and detected plan. This tool returns cache metadata — it does NOT query screener signals. To detect 52-week highs/lows use ``detect_52w_high_low``; for YTD highs/lows use ``detect_ytd_high_low``; for volume spikes use ``detect_volume_surge``; for price limits use ``detect_price_limit``. Do not call this tool to look up market data or screener results. In multi-user mode, returns the authenticated user's plan instead of the global default. Offloaded to a worker thread (see ``_cache_status_impl``): this does a multi-GB row-count scan, and the official mcp SDK runs sync tool bodies directly on the event loop (see ``health_check``'s docstring for why an explicit offload is needed here).

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

compare_close_vs_vwap ~213

Compare a stock's close to its daily VWAP (買い圧力・売り圧力) for one code. All plans. Use for VWAP・買い圧力・売り圧力 queries on a specific stock; not a cross-sectional screener. Close above VWAP = buying pressure; below = selling pressure. VWAP = Va/Vo (None when Vo=0). Data available ~17:15 JST on trading days. [Supported plans] Free / Light / Standard / Premium (cache-only, no API call) Args: code: Stock code (required). date: Single trading date (YYYYMMDD or YYYY-MM-DD). Overrides date_from/date_to. date_from: Range start inclusive (YYYYMMDD or YYYY-MM-DD). date_to: Range end inclusive (YYYYMMDD or YYYY-MM-DD).

NameTypeReqDescription
codestringyes
date
date_from
date_to

Structured output declared, but exposes no named fields.

No examples provided.

delete_api_key ~60

Delete your registered J-Quants API key (multi-user mode). Removes your API key from the server. Subsequent tool calls will fail until you register a new key with register_api_key. This tool requires OAuth 2.1 authentication.

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

detect_52w_high_low ~307

Screen for 52-week rolling high/low breakouts (52週高値/安値 ブレイク). All plans. Use for 52週高値, 52週安値, 年間高値, 年間安値, 52-week high/low breakout. For multi-date scans use detect_52w_high_low_range (not repeated calls here). For YTD high/low use detect_ytd_high_low instead. Default params hit the nightly pre-computed cache (sub-second). Custom params or code filter compute on-demand (~10–30s cross-sectional on Cloud Run). date must be within the past 52 weeks. Data available ~17:15 JST on trading days. [Supported plans] Free / Light / Standard / Premium (cache-only, no API call) Args: date: Trading date (YYYYMMDD or YYYY-MM-DD). Within past 52 weeks. code: Optional stock code. Omit to scan all codes (cross-sectional). window_sessions: Trailing session window (default 252 = 52 weeks). min_prior_sessions: Drop codes with fewer prior sessions in window (default 60; set 1 to disable). detail: Include full per-stock data array (default False = summary counts only).

NameTypeReqDescription
code
datestringyes
detailboolean
min_prior_sessionsinteger
window_sessionsinteger

Structured output declared, but exposes no named fields.

No examples provided.

detect_52w_high_low_range ~259

Scan 52-week high/low breakouts (52週高値/安値) across a date range. All plans. Use this instead of repeated detect_52w_high_low calls for multi-day queries. Issue one range call — splitting into parallel range calls defeats the purpose. date_from must be within the past 52 weeks. Data available ~17:15 JST on trading days. [Supported plans] Free / Light / Standard / Premium (cache-only, no API call) Args: date_from: Range start inclusive (YYYYMMDD or YYYY-MM-DD). Within past 52 weeks. date_to: Range end inclusive (YYYYMMDD or YYYY-MM-DD). code: Optional stock code (bypasses pre-computed cache when set). window_sessions: See detect_52w_high_low (default 252). min_prior_sessions: See detect_52w_high_low (default 60). detail: Include full per-stock data array (default False).

NameTypeReqDescription
code
date_fromstringyes
date_tostringyes
detailboolean
min_prior_sessionsinteger
window_sessionsinteger

Structured output declared, but exposes no named fields.

No examples provided.

detect_consecutive_dividend_increase ~234

Screen for stocks with consecutive annual dividend increases (連続増配). All plans. Use for 連続増配・dividend growth・増配継続 queries. NOTE: consecutive dividend growth alone does NOT guarantee outperformance on a risk-adjusted basis. Consider combining results with yield and payout ratio filters for investment decisions. [Supported plans] Free / Light / Standard / Premium (cache-only, no API call) Args: min_years: Minimum number of consecutive years of dividend increase (default 10). as_of_date: Cut-off date for disclosures (YYYY-MM-DD or YYYYMMDD). Disclosures after this date are excluded, enabling lookahead-free back-testing. Defaults to all available data. Returns: Matching stocks sorted by consecutive_years descending. Each item contains code, name, consecutive_years, latest_div_ann (split-adjusted, current per-share), latest_fy_end, and a history list of recent years.

NameTypeReqDescription
as_of_date
min_yearsinteger

Structured output declared, but exposes no named fields.

No examples provided.

detect_distribution_days ~209

Count TOPIX distribution days (機関投資家の売り) in a rolling window. All plans. Use for ディストリビューションデイ・institutional selling・market under distribution queries (IBD method). Check this before confirming a follow-through day. ≥4 days in 25 sessions = failing uptrend. See also detect_follow_through_day. [Supported plans] Free / Light / Standard / Premium (cache-only, no API call) Args: date: Target date (YYYYMMDD or YYYY-MM-DD). Defaults to latest cached date. sigma_multiplier: z-score threshold for a distribution day (default 2.0). window_sessions: Rolling session window (default 25, IBD convention). min_dist_days: Count threshold for warning=true (default 4, IBD convention).

NameTypeReqDescription
date
min_dist_daysinteger
sigma_multipliernumber
window_sessionsinteger

Structured output declared, but exposes no named fields.

No examples provided.

detect_follow_through_day ~186

Check whether a follow-through day (フォロースルーデイ) confirms a new uptrend. All plans. Use when asking if a rally attempt is confirmed (IBD method): TOPIX z-score ≥ +sigma on session 4+ from rally_start, with higher market turnover. See also detect_distribution_days. Data available ~17:15 JST on trading days. [Supported plans] Free / Light / Standard / Premium (cache-only, no API call) Args: rally_start: Rally attempt start — the low/reversal day (YYYYMMDD or YYYY-MM-DD). date: Date to check (YYYYMMDD or YYYY-MM-DD). Defaults to latest cached date. sigma_multiplier: z-score threshold (default 2.0).

NameTypeReqDescription
date
rally_startstringyes
sigma_multipliernumber

Structured output declared, but exposes no named fields.

No examples provided.

detect_price_change ~133

Return the daily advance/decline summary for all listed equities (騰落集計). All plans. Use for 値上がり銘柄数・値下がり銘柄数・騰落集計 queries. For rolling ADR ratio use get_advance_decline_ratio; for sector breakdown use get_sector_performance. Data available ~17:15 JST on trading days. [Supported plans] Free / Light / Standard / Premium (cache-only, no API call) Args: date: Trading date (YYYY-MM-DD or YYYYMMDD).

NameTypeReqDescription
datestringyes

Structured output declared, but exposes no named fields.

No examples provided.

detect_price_limit ~219

Find stocks that hit the daily price limit (ストップ高/安) on a trading day. All plans. Use for ストップ高・ストップ安・値幅制限 queries. UL=1 → upper limit touched; LL=1 → lower. For volume spikes use detect_volume_surge; for VWAP pressure use compare_close_vs_vwap. Data available ~17:15 JST on trading days. [Supported plans] Free / Light / Standard / Premium (cache-only, no API call) Args: date: Trading date (YYYYMMDD or YYYY-MM-DD). code: Optional stock code. Omit to scan all stocks (returns only triggered rows). When a code is given, that stock's row is always returned, even if it did not hit the limit, so callers can read its UL/LL state directly. detail: Include full per-stock data array (default False).

NameTypeReqDescription
code
datestringyes
detailboolean

Structured output declared, but exposes no named fields.

No examples provided.

detect_volume_surge ~221

Identify stocks with abnormally high trading volume (出来高急増) on a given day. All plans. Use for 出来高急増・出来高異常・売買活況・volume spike queries. surge_ratio = Vo / mean(prior baseline_days). For price extremes use detect_52w/ytd_high_low; for price limits use detect_price_limit. Data available ~17:15 JST on trading days. [Supported plans] Free / Light / Standard / Premium (cache-only, no API call) Args: date: Trading date (YYYYMMDD or YYYY-MM-DD). multiplier: surge_ratio threshold (default 2.0). baseline_days: Trailing sessions for baseline average (default 20). code: Optional stock code. Omit to scan all stocks. detail: Include full per-stock data array (default False).

NameTypeReqDescription
baseline_daysinteger
code
datestringyes
detailboolean
multipliernumber

Structured output declared, but exposes no named fields.

No examples provided.

detect_ytd_high_low ~284

Screen for year-to-date high/low records (年初来高値/安値 更新). All plans. Use for 年初来高値, 年初来安値, YTD high/low, 年初来高値更新. For multi-date scans use detect_ytd_high_low_range (not repeated calls here). For 52-week rolling window use detect_52w_high_low instead. Compares today against every session since the first trading day of the same calendar year — matches Kabutan / Yahoo!ファイナンス convention. Default params hit the nightly pre-computed cache (sub-second). date must be within the past 52 weeks. Data available ~17:15 JST on trading days. [Supported plans] Free / Light / Standard / Premium (cache-only, no API call) Args: date: Trading date (YYYYMMDD or YYYY-MM-DD). Within past 52 weeks. code: Optional stock code. Omit to scan all codes (cross-sectional). min_prior_sessions: Drop codes with fewer YTD prior sessions (default 60; set 1 to disable). detail: Include full per-stock data array (default False = summary counts only).

NameTypeReqDescription
code
datestringyes
detailboolean
min_prior_sessionsinteger

Structured output declared, but exposes no named fields.

No examples provided.

detect_ytd_high_low_range ~232

Scan year-to-date high/low records (年初来高値/安値) across a date range. All plans. Use this instead of repeated detect_ytd_high_low calls for multi-day queries. Issue one range call — splitting into parallel range calls defeats the purpose. date_from must be within the past 52 weeks. Data available ~17:15 JST on trading days. [Supported plans] Free / Light / Standard / Premium (cache-only, no API call) Args: date_from: Range start inclusive (YYYYMMDD or YYYY-MM-DD). Within past 52 weeks. date_to: Range end inclusive (YYYYMMDD or YYYY-MM-DD). code: Optional stock code (bypasses pre-computed cache when set). min_prior_sessions: See detect_ytd_high_low (default 60). detail: Include full per-stock data array (default False).

NameTypeReqDescription
code
date_fromstringyes
date_tostringyes
detailboolean
min_prior_sessionsinteger

Structured output declared, but exposes no named fields.

No examples provided.

get_advance_decline_ratio ~153

Return the advance/decline ratio (騰落レシオ) over the last period trading days. All plans. Use for 騰落レシオ・市場過熱感 queries. >120 = overbought; <70 = oversold (general convention). For daily advance/decline counts use detect_price_change; for sector breakdown use get_sector_performance. [Supported plans] Free / Light / Standard / Premium (cache-only, no API call) Args: date: End date (YYYY-MM-DD or YYYYMMDD). period: Trailing trading days to accumulate (default 25).

NameTypeReqDescription
datestringyes
periodinteger

Structured output declared, but exposes no named fields.

No examples provided.

get_bulk_download_url ~94

Step 2 of bulk CSV download: get a signed URL for a specific file. Light+. Use after get_bulk_list; pass the Key returned there to get a time-limited download URL. The URL expires in approximately 5 minutes — download immediately after calling. [Supported plans] Light / Standard / Premium Args: key: File key obtained from get_bulk_list

NameTypeReqDescription
keystringyes

Structured output declared, but exposes no named fields.

No examples provided.

get_bulk_list ~271

Step 1 of bulk CSV download: list available files for a dataset (一括DL). Light+. Use for 全データ一括ダウンロード, bulk download, CSV ダウンロード, 全銘柄データ取得. Workflow: get_bulk_list → get_bulk_download_url(Key) → download URL within 5 minutes. Returns file keys (Key), last-modified timestamps, and file sizes. [Supported plans] Light / Standard / Premium Args: endpoint: Dataset endpoint name (e.g. /equities/bars/daily). Accepted values: /equities/master, /equities/bars/daily, /equities/bars/minute, /equities/investor-types, /fins/summary, /fins/details, /fins/dividend, /indices/bars/daily, /indices/bars/daily/topix, /derivatives/bars/daily/futures, /derivatives/bars/daily/options, /derivatives/bars/daily/options/225, /markets/margin-interest, /markets/margin-alert, /markets/short-ratio, /markets/short-sale-report, /markets/breakdown, /equities/trades

NameTypeReqDescription
endpointstringyes

Structured output declared, but exposes no named fields.

No examples provided.

get_candlestick_data ~424

Return candlestick OHLCV + indicator data as JSON (ローソク足データJSON). All plans. Use for ローソク足・株価チャート・React artifact チャート queries (JSON format). Returns parallel arrays for Plotly/Recharts React artifact rendering. For multi-stock comparison use sibling get_comparison_chart_data. [Supported plans] Free / Light / Standard / Premium (cache-only, no API call) Args: code: Stock code (e.g. "7203" or "72030"). from_date: Range start (YYYYMMDD or YYYY-MM-DD). Default: 91 days before to_date. to_date: Range end (YYYYMMDD or YYYY-MM-DD). Default: today. indicators: Overlays list. Default ["volume","sma5","sma25"]. Options: volume, sma5, sma20, sma25, sma60, sma75, sma200, bb20. adjusted: Use split-adjusted prices (default True). Returns: dict with keys: code — normalised 5-char code display_code — 4-char display code (e.g. "7203") company — brief company name or null from_date — YYYY-MM-DD display start to_date — YYYY-MM-DD display end adjusted — bool dates — list[str] YYYY-MM-DD ohlcv — {open, high, low, close, volume} each list[float] indicators — {sma5, ..., bb20_upper, bb20_mid, bb20_lower} list[float|null] lock_days — list[{date, direction, price}] earnings_dates — list[str] YYYY-MM-DD within the display window On error: {"error": "<message>"}

NameTypeReqDescription
adjustedboolean
codestringyes
from_date
indicators
to_date

No output schema declared.

No examples provided.

get_comparison_chart_data ~342

Return time-series data for a multi-stock comparison (複数銘柄比較データ). All plans. Use for 比較チャート・パフォーマンス比較・リターン比較・relative performance queries (up to 10 codes). Returns JSON records suitable for React artifact rendering with Recharts LineChart. For ローソク足・candlestick charts use sibling get_candlestick_data (returns JSON). [Supported plans] Free / Light / Standard / Premium (cache-only, no API call) Args: codes: 1–10 stock codes (e.g. ["7203", "8697"]). from_date: Range start (YYYYMMDD or YYYY-MM-DD), inclusive. to_date: Range end (YYYYMMDD or YYYY-MM-DD), inclusive. mode: "return_pct" (default, normalised to 0% at first bar) or "price" (raw adjusted close). labels: Custom legend labels per code. Omit for auto-generated names. Returns: dict with keys: mode — echoes the requested mode from_date — normalised YYYY-MM-DD to_date — normalised YYYY-MM-DD records — list of {"date": str, <label>: float, ...} rows (Recharts dataKey format) series_keys — ordered list of label strings matching records keys On error: {"error": "<message>"}

NameTypeReqDescription
codesarrayyes
from_datestringyes
labels
modestring
to_datestringyes

No output schema declared.

No examples provided.

get_derivatives_bars_daily_futures ~173

Daily futures OHLC bars (先物日足). Premium only. Use for 先物, 日経先物, TOPIX先物, マザーズ先物, futures OHLC, 先物建玉. Returns OHLC, volume, and open interest for futures contracts. [Supported plans] Premium Args: date: Date (YYYYMMDD or YYYY-MM-DD) (required) category: Product category (e.g. Futures225 (日経225先物), FuturesTOPIX (TOPIX先物)). Omit for all categories. contract_flag: Contract month flag (0 = all, 1 = front month, 2 = back month)

NameTypeReqDescription
category
contract_flag
datestringyes

Structured output declared, but exposes no named fields.

No examples provided.

get_derivatives_bars_daily_options ~207

Daily options OHLC bars with IV (オプション日足). Premium only. Use for オプション, 日経オプション, TOPIXオプション, IV, implied volatility, オプション建玉. Returns OHLC, volume, open interest, and implied volatility. For Nikkei 225 options only (Standard+), use get_derivatives_bars_daily_options_225. [Supported plans] Premium Args: date: Date (YYYYMMDD or YYYY-MM-DD) (required) category: Product category (e.g. Options225 (日経225オプション), OptionsTOPIX (TOPIXオプション)). Omit for all categories. code: Issue code contract_flag: Contract month flag (0 = all, 1 = front month, 2 = back month)

NameTypeReqDescription
category
code
contract_flag
datestringyes

Structured output declared, but exposes no named fields.

No examples provided.

get_derivatives_bars_daily_options_225 ~116

Daily Nikkei 225 options OHLC bars (日経225オプション). Standard+. Use for 日経225オプション, オプション日足 (simplified). Standard plan accessible. For full options data including TOPIX options and IV, use get_derivatives_bars_daily_options (Premium only) instead. [Supported plans] Standard / Premium Args: date: Date (YYYYMMDD or YYYY-MM-DD) (required)

NameTypeReqDescription
datestringyes

Structured output declared, but exposes no named fields.

No examples provided.

get_dividend_yield_ranking ~368

High dividend yield stock ranking (高配当利回りランキング). All plans. Use for 高配当, 配当利回り, dividend yield ranking, 高利回り銘柄. For single-stock yield see get_stock_briefing instead. Default (include_trailing=False) matches Kabutan 予想配当利回りランキング: only stocks with a forward forecast (FDivAnn / NxFDivAnn) appear. Set include_trailing=True to also include trailing-DivAnn-only stocks. Dividend priority: NxFDivAnn (next-FY forecast, annual filings only) > FDivAnn (current-FY forecast) > DivAnn (trailing; only when include_trailing=True). [Supported plans] Free / Light / Standard / Premium (cache-only, no API call) Args: n: Stocks to return (1–100, default 20). min_yield: Minimum yield % (default 3.0). max_yield: Maximum yield % cap (default null). disc_months: Max disclosure age in months (default 18). include_trailing: Include DivAnn-only stocks (default False = Kabutan-equivalent). market: "prime" / "standard" / "growth" / "tokyo_pro" (default all). sector: S33 sector code filter (default all). date: Trading date (YYYY-MM-DD or YYYYMMDD, default latest cached).

NameTypeReqDescription
date
disc_monthsinteger
include_trailingboolean
market
max_yield
min_yieldnumber
ninteger
sector

Structured output declared, but exposes no named fields.

No examples provided.

get_earnings_results_this_week ~259

Earnings results actually disclosed in a date window, grouped by day (今週の決算実績). All plans. Use for 今週発表された決算, 直近の決算結果, この期間に出た決算の中身, 決算実績一覧, earnings results this week. Default window = today-7d .. today (results are disclosed in the past). Each filing carries headline P&L (売上/営業利益/純利益/EPS), annual dividend, and — for quarterly filings — progress vs the full-year forecast. For the upcoming SCHEDULE use get_earnings_this_week; for one stock's full financials use get_fins_summary. [Supported plans] Free / Light / Standard / Premium (cache-only, no API call) Note: Free plan results are delayed 12 weeks, so the recent window is empty for Free. Args: date_from: Window start inclusive (YYYYMMDD or YYYY-MM-DD). Defaults to date_to - 7 days. date_to: Window end inclusive (YYYYMMDD or YYYY-MM-DD). Defaults to today.

NameTypeReqDescription
date_from
date_to

Structured output declared, but exposes no named fields.

No examples provided.

get_earnings_this_week ~235

Companies reporting earnings in a date window, grouped by day (今週の決算予定). All plans. Use for 今週決算がある銘柄, 直近の決算スケジュール, この期間に決算発表する会社一覧, 決算前スクリーニング, earnings this week. Default window = today .. today+7d. Enriches each company with its name and 33-sector from the equities master. For a single stock's next earnings date use get_equities_earnings_calendar(code=...). [Supported plans] Free / Light / Standard / Premium (cache-first; falls back to one live fetch when the today-or-later part of the window has no cached rows, or today's rows are missing, #523) Args: date_from: Window start inclusive (YYYYMMDD or YYYY-MM-DD). Defaults to today. date_to: Window end inclusive (YYYYMMDD or YYYY-MM-DD). Defaults to date_from + 7 days.

NameTypeReqDescription
date_from
date_to

Structured output declared, but exposes no named fields.

No examples provided.

get_equities_bars_daily ~326

Per-stock or per-day OHLC bars (日足株価). All plans. Use for 株価・日足・OHLC・終値・出来高・調整株価 (AdjC/AdjO etc.), 時価総額 (MktCap), 権利落ち (ExRT) queries. MktCap: market cap in millions of yen (unadjusted close x listed shares, corporate-action aware); null for ETF/ETN and non-trading days. ExRT: ex-rights corporate action on that date (1=split/free share allotment, 2=merger, 3=rights issue); null when none. For multi-stock bulk downloads use get_bulk_list (date-only queries are very slow). code only → full history; code+range → period; date only → all stocks on that date. [Supported plans] Free / Light / Standard / Premium (API fallback on cache miss) Retention: Free=2y (12w delay), Light=5y, Standard=10y, Premium=all. Args: code: Stock code (5 digits, e.g. 27800; 4-digit codes match ordinary shares only). date: Single date (YYYYMMDD or YYYY-MM-DD). date_from: Range start inclusive (YYYYMMDD or YYYY-MM-DD). date_to: Range end inclusive (YYYYMMDD or YYYY-MM-DD).

NameTypeReqDescription
code
date
date_from
date_to

Structured output declared, but exposes no named fields.

No examples provided.

get_equities_bars_daily_am ~142

Today's morning session OHLC bars (前場株価). Premium only. Use for 前場, 前場終値, 午前の株価, morning session OHLC, 前場引け. Updated around 12:00 JST; expires around 6:00 JST next day. For historical morning session data (MO/MH/ML/MC columns), use get_equities_bars_daily instead. [Supported plans] Premium Args: code: Stock code (5 digits, e.g. 27800; 4-digit codes match ordinary shares only). Omit to retrieve all stocks.

NameTypeReqDescription
code

Structured output declared, but exposes no named fields.

No examples provided.

get_equities_bars_minute ~171

Per-stock 1-minute OHLC bars (分足株価). Light+ with tick add-on. Use for 分足, 1分足, 分足データ, minute-level price, intraday OHLC. Data is available for up to 2 years in the past. [Supported plans] Light / Standard / Premium (requires minute/tick data add-on) Args: code: Stock code (5 digits, e.g. 27800; 4-digit codes match ordinary shares only) date: Date (YYYYMMDD or YYYY-MM-DD) date_from: Start date for range query date_to: End date for range query

NameTypeReqDescription
code
date
date_from
date_to

Structured output declared, but exposes no named fields.

No examples provided.

get_equities_earnings_calendar ~393

Find upcoming/past earnings announcement dates (決算発表日). Free / all plans. Use for 決算発表, 決算日, 決算スケジュール, earnings calendar, 今週決算がある銘柄, 〇〇の次の決算はいつ, days to earnings, 決算前銘柄スクリーニング. Pair with get_markets_short_sale_report for 決算またぎ空売り残 / 踏み上げリスク screening. Light+: all listed issues incl. REITs, any fiscal year-end (daily_fetch sweeps /fins/earnings-date). Free: falls back to March/September fiscal-year issues only (the older /equities/earnings-calendar), since the newer endpoint's Free-tier window excludes the last 12 weeks by publication date. No-argument query defaults to a -7/+14 day window around today. The Light+ all-issues coverage described above assumes daily_fetch's /fins/earnings-date sweep has already populated the cache; a same-plan live-fallback still queries the narrower legacy endpoint (jquants-mcp#621). Falls back to one live fetch on a cache miss (code queries always; date queries only for today/future dates, #523; the no-argument query when nothing is scheduled from today onwards, #536). [Supported plans] Free / Light / Standard / Premium Args: date: Announcement date (YYYYMMDD or YYYY-MM-DD). Returns latest data when omitted. code: Stock code (5 digits, e.g. 72030; 4-digit codes are padded with trailing 0). When specified, searches accumulated data for the matching stock's earnings dates.

NameTypeReqDescription
code
date

Structured output declared, but exposes no named fields.

No examples provided.

get_equities_investor_types ~173

Weekly trading value by investor type (投資家別売買動向). Light+. Use for 投資家別売買, 外国人買い, 個人投資家動向, 信託銀行売買, investor flow. Updated weekly (typically Thursdays). Covers proprietary, brokered, foreign investors, individuals, trust banks, etc. [Supported plans] Light / Standard / Premium Args: section: Market section (e.g. TSEPrime, TSEStandard, TSEGrowth) date_from: Start date for range query (YYYYMMDD or YYYY-MM-DD) date_to: End date for range query (YYYYMMDD or YYYY-MM-DD)

NameTypeReqDescription
date_from
date_to
section

Structured output declared, but exposes no named fields.

No examples provided.

get_equities_master ~146

Listed stock master: company name, industry code, market segment (上場銘柄マスタ). Free. Use for 銘柄名, 会社名, 業種, 市場区分, 上場銘柄一覧, S17/S33 sector code, ticker lookup. When parameters are omitted, returns all listed stocks for today. [Supported plans] Free / Light / Standard / Premium Args: code: Stock code (5 digits, e.g. 27800; 4-digit codes match ordinary shares only) date: Base date (YYYYMMDD or YYYY-MM-DD)

NameTypeReqDescription
code
date

Structured output declared, but exposes no named fields.

No examples provided.

get_fins_details ~177

Use only when individual BS/PL/CF line items are needed (Premium plan only). For common financial metrics (EPS, BPS, revenue, profit, dividends, 業績予想), use ``get_fins_summary`` instead — it is faster (cached) and available to all plans. Returns detailed financial statement line items: balance sheet (BS), income statement (PL), and cash flow (CF), supporting both Japanese GAAP and IFRS. Either 'code' or 'date' must be specified. [Supported plans] Premium Args: code: Stock code (5 digits, e.g. 27800; 4-digit codes match ordinary shares only) date: Date (YYYY-MM-DD). Returns financial statements disclosed on that date.

NameTypeReqDescription
code
date

Structured output declared, but exposes no named fields.

No examples provided.

get_fins_dividend ~137

Retrieve cash dividend data. Returns dividend data including record date, ex-dividend date, dividend amount (forecast and actual), expected payment start date, and commemorative/special dividends. [Supported plans] Premium Args: code: Stock code (5 digits, e.g. 27800; 4-digit codes match ordinary shares only) date: Date (YYYYMMDD or YYYY-MM-DD) date_from: Start date for range query date_to: End date for range query

NameTypeReqDescription
code
date
date_from
date_to

Structured output declared, but exposes no named fields.

No examples provided.

get_fins_summary ~184

Use this first for any financial metric query (EPS, BPS, 売上, 利益, 配当, 業績予想). All plans. Returns quarterly financials: revenue, operating profit, net income, EPS/BPS/CF, dividends, and earnings forecasts. FiscalPeriod label: "1Q"/"2Q"/"3Q"/"FY"/"Other"/null. Either code or date must be specified. [Supported plans] Free / Light / Standard / Premium Note: Free plan data is delayed by 12 weeks. Args: code: Stock code (5 digits, e.g. 27800; 4-digit codes match ordinary shares only). date: Date (YYYYMMDD or YYYY-MM-DD). Returns financials disclosed on that date.

NameTypeReqDescription
code
date

Structured output declared, but exposes no named fields.

No examples provided.

get_indices_bars_daily ~131

Retrieve daily index bars (OHLC). Returns daily OHLC and volume for indices including TOPIX, Nikkei 225, and Growth 250. [Supported plans] Standard / Premium Args: code: Index code (e.g. 0000 = TOPIX, 0010 = Nikkei 225) date: Date (YYYYMMDD or YYYY-MM-DD) date_from: Start date for range query date_to: End date for range query

NameTypeReqDescription
code
date
date_from
date_to

Structured output declared, but exposes no named fields.

No examples provided.

get_indices_bars_daily_topix ~115

Retrieve daily TOPIX bars (OHLC) with Tier 1 cache. Returns daily OHLC data for TOPIX using a dedicated endpoint. Supports efficient incremental fetching via row-level (Tier 1) cache. [Supported plans] Light / Standard / Premium Args: date_from: Start date for range query (YYYYMMDD or YYYY-MM-DD) date_to: End date for range query (YYYYMMDD or YYYY-MM-DD)

NameTypeReqDescription
date_from
date_to

Structured output declared, but exposes no named fields.

No examples provided.

get_market_briefing ~315

Daily market briefing: ADR, sector ranking, top movers, turnover, screener highlights (相場ブリーフィング). Use for 相場ブリーフィング, 市場概況, 今日の相場, daily briefing, market summary. For sector valuation (PER/PBR) use get_sector_briefing instead. For single-stock detail use get_stock_briefing instead. [Supported plans] Free / Light / Standard / Premium (cache-only, no API call) Returns: summary (ADR 25d, TOPIX change, margin ratio), sector top/bottom n, sector_short_ratios (S33 空売り比率, Standard+), top movers, top turnover, screener highlights (52w/YTD highs/lows, volume surges, price limits, notable stocks by RSI14), value_screen (年安・割安・高配当・好決算 top n, null when unavailable), trend signals (distribution days, follow-through). Margin/short-ratio fields are null when those caches are absent. Args: date: Trading date (YYYY-MM-DD or YYYYMMDD). sector_type: "s33" (default, 33 TSE sub-sectors) or "s17" (17 top-level). n: TopN size for movers/turnover sections (1–100, default 5).

NameTypeReqDescription
datestringyes
ninteger
sector_typestring

Structured output declared, but exposes no named fields.

No examples provided.

get_markets_breakdown ~138

Retrieve market breakdown data (sell/buy by investor type per issue). Returns daily buy/sell breakdown by investor type (proprietary, brokered, foreign, etc.) per individual issue. [Supported plans] Premium Args: code: Stock code (5 digits, e.g. 27800; 4-digit codes match ordinary shares only) date: Date (YYYYMMDD or YYYY-MM-DD) date_from: Start date for range query date_to: End date for range query

NameTypeReqDescription
code
date
date_from
date_to

Structured output declared, but exposes no named fields.

No examples provided.

get_markets_calendar ~163

Retrieve market calendar (trading days and holidays). Returns trading calendar data including trading days, holidays, and half-day classifications. All data is returned in a single response without pagination. [Supported plans] Free / Light / Standard / Premium Args: hol_div: Filter by holiday division code (1 = trading day / 営業日, 0 = non-trading weekend / 週末, 3 = national holiday on weekday / 祝日; other values may exist) date_from: Start date for range query (YYYYMMDD or YYYY-MM-DD) date_to: End date for range query (YYYYMMDD or YYYY-MM-DD)

NameTypeReqDescription
date_from
date_to
hol_div

Structured output declared, but exposes no named fields.

No examples provided.

get_markets_margin_alert ~166

Per-stock margin trading restriction status: 増担保規制・信用規制. Standard+ only. Use for 追証, 規制銘柄, 増担保規制, 信用規制, margin restriction/alert. For margin balances (買残・売残・貸借倍率), use get_markets_margin_interest instead. [Supported plans] Standard / Premium Args: code: Stock code (5 digits, e.g. 27800) date: Date (YYYYMMDD or YYYY-MM-DD) date_from: Start date for range query date_to: End date for range query

NameTypeReqDescription
code
date
date_from
date_to

Structured output declared, but exposes no named fields.

No examples provided.

get_markets_margin_interest ~260

Per-stock margin balance: 買残・売残・貸借倍率 (信用残). Standard+ only. Use for 信用残, 買い残, 売り残, 貸借倍率, margin loan/short balance. For margin trading restrictions (追証・増担保規制), use get_markets_margin_alert instead. When called with no parameters, returns a compact summary by default (``detail=False``): ``{count, latest_date, source, note}``. Pass ``detail=True`` to retrieve full row data for the latest available date. Specifying any filter parameter (``code``, ``date``, etc.) always returns full data. [Supported plans] Standard / Premium Args: code: Stock code (5 digits, e.g. 27800) date: Date (YYYYMMDD or YYYY-MM-DD) date_from: Start date for range query date_to: End date for range query detail: When True and no filter params given, return full row data instead of summary.

NameTypeReqDescription
code
date
date_from
date_to
detailboolean

Structured output declared, but exposes no named fields.

No examples provided.

get_markets_short_ratio ~282

TSE 33-sector short selling ratio (業種別空売り比率). Standard+ only. Use for 業種別空売り比率, sector-level 空売り動向, industry short selling trends. Keyed by s33 sector code — not per stock. For per-stock institutional short positions (大量空売り残高), use get_markets_short_sale_report instead. When called with no parameters, returns a compact summary by default (``detail=False``): ``{count, latest_date, source, note}``. Pass ``detail=True`` to retrieve full row data for the latest available date. Specifying any filter parameter (``s33``, ``date``, etc.) always returns full data. [Supported plans] Standard / Premium Args: s33: TSE 33-sector code (e.g. 0050 = Fishery, Agriculture & Forestry) date: Date (YYYYMMDD or YYYY-MM-DD) date_from: Start date for range query date_to: End date for range query detail: When True and no filter params given, return full row data instead of summary.

NameTypeReqDescription
date
date_from
date_to
detailboolean
s33

Structured output declared, but exposes no named fields.

No examples provided.

get_markets_short_sale_report ~223

Per-stock institutional short sale positions (大量空売り残高). Standard+ only. Use for 大量空売り残高, 空売り残, institutional short positions, short squeeze screening. Positions disclosed weekly per institution. Pair with get_equities_earnings_calendar for 決算またぎ空売り残 / 踏み上げリスク screening. For sector-level short ratios (業種別空売り比率), use get_markets_short_ratio instead. [Supported plans] Standard / Premium Args: code: Stock code (5 digits, e.g. 27800) disc_date: Disclosure date (YYYYMMDD or YYYY-MM-DD) disc_date_from: Start disclosure date for range query disc_date_to: End disclosure date for range query calc_date: Calculation date (YYYYMMDD or YYYY-MM-DD)

NameTypeReqDescription
calc_date
code
disc_date
disc_date_from
disc_date_to

Structured output declared, but exposes no named fields.

No examples provided.

get_sector_briefing ~242

Return sector-level median PER, PBR, ROE, and margin ratio (業種別ブリーフィング). All plans. Use for セクターバリュエーション・業種別PER/PBR・割安セクター・業種別信用倍率 queries. PER excludes net-loss stocks (EPS≤0); PBR excludes negative-book stocks. ROE does not exclude net-loss stocks -- neither the native ROE value (returned regardless of EPS sign) nor the EPS/BPS fallback (unlike PER's guard, it never required EPS>0) filters them out. See also get_market_briefing (market-wide), get_stock_briefing (single stock), get_sector_performance (騰落率). [Supported plans] Free / Light / Standard / Premium (cache-only, no API call) Note: margin_ratio fields are null unless Standard/Premium margin cache is populated. Args: sector_type: "s33" (default, 33 TSE sub-sectors) or "s17" (17 top-level sectors).

NameTypeReqDescription
sector_typestring

Structured output declared, but exposes no named fields.

No examples provided.

get_sector_performance ~162

Sector-level average price change ranking (業種別騰落率). All plans. Use for 業種別騰落率, セクター別パフォーマンス, 業種別ランキング, sector performance. For sector valuation (PER/PBR) use get_sector_briefing instead. For full market briefing use get_market_briefing instead. [Supported plans] Free / Light / Standard / Premium (cache-only, no API call) Args: date: Trading date (YYYY-MM-DD or YYYYMMDD). sector_type: "s33" (default, 33 sub-sectors) or "s17" (17 top-level).

NameTypeReqDescription
datestringyes
sector_typestring

Structured output declared, but exposes no named fields.

No examples provided.

get_stock_briefing ~195

One-page briefing for a single stock: price, financials, valuation, and margin (株式ブリーフィング). All plans. Returns latest price, FY financials, PER/PBR/dividend yield, margin ratio, and sector short-sale ratio. PER null when EPS≤0. ROE null when EPS≤0 and no native ROE is cached; when a native ROE value is present it is returned regardless of EPS sign (a net-loss period can still report a native ROE). Margin fields null without Standard/Premium cache. See also get_sector_briefing, get_market_briefing. [Supported plans] Free / Light / Standard / Premium (cache-only, no live API call) Args: code: Stock code (5 digits, e.g. 27800; 4-digit codes match ordinary shares only).

NameTypeReqDescription
codestringyes

Structured output declared, but exposes no named fields.

No examples provided.

get_technical_indicators ~253

Compute technical indicators (SMA, Bollinger Bands, RSI) for a single stock (テクニカル指標). All plans. Use for SMA・移動平均・ボリンジャーバンド・RSI queries on a specific stock. For charting use get_candlestick_data; for VWAP pressure use compare_close_vs_vwap. Supported: sma5, sma25, sma75, bb20 (→ bb20_mid/upper/lower ±2σ), rsi14. Null when not warmed up. [Supported plans] Free / Light / Standard / Premium (API fallback on cache miss) Args: code: Stock code (required). date: Single trading date (YYYYMMDD or YYYY-MM-DD). Overrides date_from/date_to. date_from: Range start inclusive (YYYYMMDD or YYYY-MM-DD). date_to: Range end inclusive (YYYYMMDD or YYYY-MM-DD). indicators: Indicator names list. Default ["sma5","sma25","bb20","rsi14"].

NameTypeReqDescription
codestringyes
date
date_from
date_to
indicators

Structured output declared, but exposes no named fields.

No examples provided.

get_top_movers ~218

Return top stocks by percentage price change on a given trading date. Uses split-adjusted closing prices (AdjC) to compute change_pct = (today - prev) / prev * 100. Args: date: Trading date in YYYY-MM-DD or YYYYMMDD format. direction: "up" for top gainers, "down" for top losers. Default: "up". n: Number of stocks to return (1–100). Default: 10. Returns: dict with keys: - date: the requested trading date - previous_date: the comparison base date - direction: "up" or "down" - items: list of up to *n* dicts, each with: - code: stock code (5-digit) - close: today's closing price - prev_close: previous day's closing price - change_pct: percentage price change

NameTypeReqDescription
datestringyes
directionstring
ninteger

Structured output declared, but exposes no named fields.

No examples provided.

get_top_turnover_value ~135

Return top stocks by turnover value (売買代金ランキング) on a given date. All plans. Use for 売買代金ランキング・売買代金・turnover・trading value queries. Ranks by price×volume (get_top_volume ranks by share count instead). [Supported plans] Free / Light / Standard / Premium (cache-only, no API call) Args: date: Trading date (YYYY-MM-DD or YYYYMMDD). n: Number of stocks to return (1–100). Default 10.

NameTypeReqDescription
datestringyes
ninteger

Structured output declared, but exposes no named fields.

No examples provided.

get_top_volume ~138

Return top stocks by trading volume on a given date. Args: date: Trading date in YYYY-MM-DD or YYYYMMDD format. n: Number of stocks to return (1–100). Default: 10. Returns: dict with keys: - date: the requested trading date - items: list of up to *n* dicts, each with: - code: stock code (5-digit) - volume: number of shares traded - turnover_value: trading value in yen - close: closing price

NameTypeReqDescription
datestringyes
ninteger

Structured output declared, but exposes no named fields.

No examples provided.

Common questions

What is the J-Quants MCP server?

J-Quants MCP is listed in the public MCP registry as io.github.shigechika/jquants-mcp. MCP server for retrieving Japanese stock market data via J-Quants API v2. This page covers its PyPI package (jquants-mcp).

Is the J-Quants MCP server safe to use?

J-Quants MCP scores 81 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the J-Quants MCP server expose?

J-Quants MCP exposes 55 tools: health_check, cache_status, cache_clear, register_api_key, delete_api_key, and 50 more. Their descriptions and schemas cost roughly 12,249 tokens of context every time the server is loaded.

Is the J-Quants MCP server still maintained?

J-Quants MCP is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the J-Quants MCP server under?

J-Quants MCP declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.