github analyzed 4e43bb4

shigechika/jquants-mcp

github

MCP server for Japanese stock market data via J-Quants API — tools for price history, financials, screeners, and candlestick charts

maintainer
shigechika
license
MIT
first seen
2026-06-06
last seen
2026-06-09
releases · 30d
42
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 2 tools
transport stdio · http counts 2 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • delete_api_key

    OAuth 2.1 + MCP_ENCRYPTION_KEY

  • register_api_key

    OAuth 2.1 + MCP_ENCRYPTION_KEY

skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 4e43bb4 · analyzer v18 · 4h ago

skills & prompt files 2

code evidence vv0.48.0 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

filesystem 16

  • fs shigechika-jquants-mcp-4e43bb4/scripts/bulk_fetch_all.py :27 from pathlib import Path
  • fs shigechika-jquants-mcp-4e43bb4/scripts/collect_metrics.py :27 from pathlib import Path
  • fs shigechika-jquants-mcp-4e43bb4/scripts/daily_fetch.py :40 from pathlib import Path
  • fs shigechika-jquants-mcp-4e43bb4/scripts/gcs_export_cache.py :26 import shutil
  • fs shigechika-jquants-mcp-4e43bb4/scripts/gcs_sync.py :33 from pathlib import Path
  • fs shigechika-jquants-mcp-4e43bb4/scripts/migrate_adj_factor.py :23 from pathlib import Path
  • fs shigechika-jquants-mcp-4e43bb4/scripts/screener_populate_history.py :29 from pathlib import Path
  • fs shigechika-jquants-mcp-4e43bb4/scripts/verify_cache_completeness.py :36 from pathlib import Path
  • fs shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/cache/gcs_download.py :15 from pathlib import Path
  • fs shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/cache/store.py :11 from pathlib import Path
  • fs shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/cli.py :8 from pathlib import Path
  • fs shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/config.py :16 from pathlib import Path
  • fs shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/db/users.py :9 from pathlib import Path
  • fs shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/oauth_kv_store.py :14 from pathlib import Path
  • fs shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/oauth_login.py :188 webbrowser.open(authorize_url)
  • fs shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/server.py :296 from pathlib import Path

shell / exec 1

  • shell shigechika-jquants-mcp-4e43bb4/scripts/collect_metrics.py :23 import subprocess

network 8

  • net shigechika-jquants-mcp-4e43bb4/scripts/bulk_fetch_all.py :29 import httpx
  • net shigechika-jquants-mcp-4e43bb4/scripts/collect_metrics.py :30 import httpx
  • net shigechika-jquants-mcp-4e43bb4/scripts/verify_cache_completeness.py :94 import httpx
  • net shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/cache/screener_compute.py :5 can populate ``screener_results`` without pulling in fastmcp/httpx.
  • net shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/client.py :11 import httpx
  • net shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/oauth_login.py :24 import urllib.parse
  • net shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/server.py :13 import httpx
  • net shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/settings/routes.py :9 import httpx

secrets 1

  • secrets shigechika-jquants-mcp-4e43bb4/scripts/verify_cache_completeness.py :494 api_key = s.jquants_api_key or os.environ.get("JQUANTS_API_KEY", "")

database 13

  • db shigechika-jquants-mcp-4e43bb4/scripts/bulk_fetch_all.py :24 import sqlite3
  • db shigechika-jquants-mcp-4e43bb4/scripts/daily_fetch.py :36 import sqlite3
  • db shigechika-jquants-mcp-4e43bb4/scripts/gcs_export_cache.py :27 import sqlite3
  • db shigechika-jquants-mcp-4e43bb4/scripts/gcs_sync.py :193 import sqlite3
  • db shigechika-jquants-mcp-4e43bb4/scripts/migrate_adj_factor.py :21 import sqlite3
  • db shigechika-jquants-mcp-4e43bb4/scripts/screener_populate_history.py :25 import sqlite3
  • db shigechika-jquants-mcp-4e43bb4/scripts/verify_cache_completeness.py :32 import sqlite3
  • db shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/cache/schema.py :30 import sqlite3
  • db shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/cache/store.py :7 import sqlite3
  • db shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/db/users.py :6 import sqlite3
  • db shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/oauth_kv_store.py :11 import sqlite3
  • db shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/charts.py :19 import sqlite3
  • db shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/equities.py :7 import sqlite3

tool registrations 54

  • health_check shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/server.py :766
  • cache_status shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/server.py :823
  • cache_clear shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/server.py :852
  • register_api_key shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/server.py :863
  • delete_api_key shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/server.py :956
  • get_bulk_list shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/bulk.py :50
  • get_bulk_download_url shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/bulk.py :98
  • get_comparison_chart_data shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/charts.py :293
  • get_candlestick_data shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/charts.py :457
  • get_derivatives_bars_daily_futures shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/derivatives.py :29
  • get_derivatives_bars_daily_options shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/derivatives.py :69
  • get_derivatives_bars_daily_options_225 shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/derivatives.py :117
  • get_equities_master shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/equities.py :60
  • get_equities_bars_daily shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/equities.py :97
  • get_equities_bars_minute shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/equities.py :154
  • get_equities_bars_daily_am shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/equities.py :200
  • get_equities_investor_types shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/equities.py :229
  • get_equities_earnings_calendar shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/equities.py :274
  • get_earnings_this_week shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/equities.py :338
  • search_equities shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/equities.py :413
  • get_fins_summary shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/financials.py :158
  • get_fins_details shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/financials.py :210
  • get_fins_dividend shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/financials.py :251
  • get_earnings_results_this_week shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/financials.py :297
  • get_indices_bars_daily shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/indices.py :34
  • get_indices_bars_daily_topix shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/indices.py :79
  • detect_price_change shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/market_overview.py :493
  • get_advance_decline_ratio shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/market_overview.py :549
  • get_top_movers shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/market_overview.py :611
  • get_top_volume shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/market_overview.py :682
  • get_top_turnover_value shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/market_overview.py :751
  • get_sector_performance shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/market_overview.py :799
  • get_dividend_yield_ranking shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/market_overview.py :862
  • get_valuation_ranking shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/market_overview.py :1060
  • get_market_briefing shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/market_overview.py :1221
  • get_markets_margin_interest shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/markets.py :44
  • get_markets_margin_alert shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/markets.py :110
  • get_markets_short_ratio shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/markets.py :165
  • get_markets_short_sale_report shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/markets.py :230
  • get_markets_breakdown shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/markets.py :278
  • get_markets_calendar shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/markets.py :332
  • detect_price_limit shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/screener.py :188
  • compare_close_vs_vwap shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/screener.py :267
  • detect_52w_high_low shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/screener.py :378
  • detect_ytd_high_low shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/screener.py :454
  • detect_volume_surge shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/screener.py :524
  • detect_52w_high_low_range shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/screener.py :642
  • detect_ytd_high_low_range shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/screener.py :722
  • detect_distribution_days shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/screener.py :797
  • detect_follow_through_day shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/screener.py :909
  • detect_consecutive_dividend_increase shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/screener.py :1039
  • get_stock_briefing shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/summary.py :42
  • get_technical_indicators shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/technical.py :88
  • get_sector_briefing shigechika-jquants-mcp-4e43bb4/src/jquants_mcp/tools/valuation.py :25

declared dependencies 7

  • fastmcp@>=3.2.1
  • httpx@>=0.25.0
  • cryptography@>=41.0.0
  • tomli@>=2.0.0; python_version <
  • google-cloud-storage@>=2.0.0
  • google-cloud-firestore@>=2.0.0
  • zstandard@>=0.21.0