CCXT
Official CCXT MCP server - Market data and trading across 100+ exchanges and prediction markets
Description from the maker (original English)
MCP server for retrieving Japanese stock market data via J-Quants API v2
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
Passed 2/2 checks · Runs on your computer
First: which AI do you use?
Pick your app and the steps appear below.
Works with Claude, with some setup first
Install Python (uv) on your computer first (one time) · Only the Claude desktop app (Windows or Mac), not the web or phone
One time only; it works for every server that needs Python (uv)
SettingsDeveloperEdit Config
{
"mcpServers": {
"jquants": {
"command": "uvx",
"args": [
"jquants-mcp"
]
}
}
}Use J-Quants MCP and tell me what you can do for me, then show me one thing✓ If Claude says it is using J-Quants MCP or shows a J-Quants MCP tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
ChatGPT cannot connect J-Quants MCP yet
J-Quants MCP runs on your computer, but ChatGPT can only connect servers that run on the web
A · Use an app that can connect J-Quants MCP
B · Others in Accounting, finance & tax that work with ChatGPT
Picked from the most used in the same category, only ones that connect by address with no key
Works with Claude Code, with some setup first
Install Python (uv) on your computer first (one time)
One time only; it works for every server that needs Python (uv)
Mac: press Command+Space and type Terminal · Windows: open PowerShell
claude mcp add jquants -- uvx jquants-mcpYou should see J-Quants MCP listed as connected
Use J-Quants MCP and tell me what you can do for me, then show me one thing✓ If Claude Code says it is using J-Quants MCP or shows a J-Quants MCP tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with Cursor, with some setup first
Install Python (uv) on your computer first (one time)
One time only; it works for every server that needs Python (uv)
Use J-Quants MCP and tell me what you can do for me, then show me one thing✓ If Cursor says it is using J-Quants MCP or shows a J-Quants MCP tool in the answer, you are connected
Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with VS Code, with some setup first
Install Python (uv) on your computer first (one time)
One time only; it works for every server that needs Python (uv)
Use J-Quants MCP and tell me what you can do for me, then show me one thing✓ If VS Code says it is using J-Quants MCP or shows a J-Quants MCP tool in the answer, you are connected
Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Other apps that use MCP, such as Windsurf, Zed or Gemini CLI, each add servers differently. See how in the app list.
JSON settings are under “For developers” below
Claude Code
claude mcp add jquants -- uvx jquants-mcpClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"jquants": {
"command": "uvx",
"args": [
"jquants-mcp"
]
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"jquants": {
"command": "uvx",
"args": [
"jquants-mcp"
]
}
}
}VS Code (mcp.json)
{
"servers": {
"jquants": {
"type": "stdio",
"command": "uvx",
"args": [
"jquants-mcp"
]
}
}
}These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Based on how this server connects and on each app’s own docs, checked Nov 10, 2026.
Run on your computer in
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 11, 2026
The registry name was verified with the GitHub account shigechika, which owns the repo
Code last changed 16 days ago
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Ask, share a tip or report that it does not work. Sorted by what people marked helpful.
No posts yet. Be the first to ask or share.
Posts here are written by users, not the PopNx team.
No reviews yet
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 2 of 2 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed 16 days ago, and the latest version (1.5.2) reached the registry 16 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: CCXT, Finance Toolkit, AKQuant
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Official CCXT MCP server - Market data and trading across 100+ exchanges and prediction markets
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
English | 日本語
An MCP (Model Context Protocol) server that retrieves Japanese stock market data via J-Quants API v2.
User-facing documentation site: https://shigechika.github.io/jquants-mcp/ (also available in 日本語) — start there if you want a gentler 5-minute introduction. This README is the technical reference (config schema, all 55 tools with parameter tables, deployment).
Release history and changelog: GitHub Releases.
Deployment shapes and how to pick between them: see docs/deploy/.
24-second loop showing real output from the Claude iPhone app calling jquants-mcp tools:
get_sector_performanceget_top_turnover_valueget_candlestick_dataget_fins_summaryget_comparison_chart_dataIndividual frames are in docs/screenshots/.
# Using uv (recommended)
uv pip install jquants-mcp
pip install jquants-mcp
git clone https://github.com/shigechika/jquants-mcp.git
cd jquants-mcp uv sync --dev
Settings are loaded with the following priority (later wins):
~/.jquants-api/jquants-api.toml — API key only (J-Quants official config)~/.config/jquants-mcp/config.ini (user global)./config.ini (current directory)If you already use jquants-api-client, your API key is automatically read from ~/.jquants-api/jquants-api.toml. No extra configuration needed.
jquants-mcp login
Opens a browser to J-Quants (AWS Cognito, PKCE flow), and on success writes the API key to ~/.config/jquants-mcp/config.ini (mode 0600). Same auth backend as the official jquants-cli. Use jquants-mcp logout to clear the saved key.
MCP-specific settings (cache, client behavior):
[jquants]
[client]
[server]
| Variable | Required | Default | Description |
|---|---|---|---|
JQUANTS_API_KEY | No* | — | J-Quants API key |
JQUANTS_API_TOML_PATH | No | ~/.jquants-api/jquants-api.toml | Path to the J-Quants official config file. Override to avoid macOS 26+ launchd sandbox restrictions (see macOS launchd note below) |
JQUANTS_PLAN | No | auto-detect | Plan: free / light / standard / premium (auto-detected from the API key at server startup; set this variable only to override) |
JQUANTS_CACHE_DIR | No | ~/.cache/jquants-mcp | Cache directory path |
JQUANTS_BASE_URL | No | https://api.jquants.com/v2 | API base URL |
MAX_RETRIES | No | 5 | Max retry attempts for failed requests |
RETRY_BASE_DELAY | No | 1.0 | Base delay (seconds) for exponential backoff |
MAX_PAGES | No | 10 | Max pages to fetch per paginated request |
JQUANTS_MCP_USER | No | — | Identity of the authenticated user, injected by the gateway (see Authentication). Never set this by hand |
MCP_ENCRYPTION_KEY | No | — | Passphrase for AES-256-GCM encryption of per-user API keys |
MCP_ENCRYPTION_KEY_PREVIOUS | No | — | Previous encryption passphrase — enables dual-key decrypt during a rotation window. See secrets rotation runbook |
RATE_LIMIT_PER_MINUTE | No | 60 | Per-user request ceiling (multi-user mode). Applies per JQUANTS_MCP_USER identity |
RATE_LIMIT_BURST | No | 20 | Per-user burst allowance (token-bucket capacity) |
JQUANTS_ALLOWED_EMAILS | No | — | Comma-separated allowlist of emails. Empty = allow any user the gateway authenticated (self-host default). Set this on public Cloud Run instances to restrict access; unauthorized users get a 403-style message pointing them to self-host |
\* API key is auto-detected from ~/.jquants-api/jquants-api.toml. Set JQUANTS_API_KEY only to override.
Environment variables override both config.ini and jquants-api.toml. This allows MCP clients (Claude Desktop, Claude Code, Codex, …) to pass settings via their env block while keeping defaults elsewhere.
If you run jquants-mcp as a macOS LaunchAgent and the API key lives in ~/.jquants-api/jquants-api.toml, the server may silently hang during startup on macOS 26 or later. The TCC sandbox applied to launchd-spawned processes blocks open() on some dotfiles under $HOME (mode 600), and the process never finishes starting.
Workaround: copy the toml outside the sandboxed home hierarchy and point the server at it via JQUANTS_API_TOML_PATH:
sudo mkdir -p /usr/local/etc/jquants-mcp
sudo cp ~/.jquants-api/jquants-api.toml /usr/local/etc/jquants-mcp/jquants-api.toml sudo chown "$USER":staff /usr/local/etc/jquants-mcp/jquants-api.toml sudo chmod 600 /usr/local/etc/jquants-mcp/jquants-api.toml
Then add the following to your LaunchAgent plist's EnvironmentVariables dict:
<key>JQUANTS_API_TOML_PATH</key>
/usr/local/etc/jquants-mcp/jquants-api.toml
Alternatives: set JQUANTS_API_KEY directly in the plist (simpler but puts the key in a plist file that Time Machine / iCloud may back up), or put api_key = directly in ~/.config/jquants-mcp/config.ini (if that path is not sandbox-blocked on your macOS version).
Linux/systemd and other init systems are not affected.
The server speaks stdio only and binds no network socket, so it performs no authentication of its own — there is no listener to authenticate against. Access control is a property of whoever starts the process:
| Deployment | Who controls access |
|---|---|
| Local (Claude Code, Claude Desktop, Codex, …) | The OS. The MCP client spawns the server as a subprocess; the API key comes from config.ini / jquants-api.toml / JQUANTS_API_KEY |
| Remote | A gateway in front of the server. The gateway terminates authentication and spawns the stdio server per session |
For remote or multi-user deployments, put a gateway in front of the stdio server. mcp-stdio serve is the gateway both production deployments use: it accepts MCP over HTTP, authenticates the caller, and spawns one jquants-mcp child process per session.
The gateway passes the authenticated identity down to that child as the JQUANTS_MCP_USER environment variable (mcp-stdio serve --trusted-user-header X-Forwarded-Email --user-env JQUANTS_MCP_USER). One child process serves exactly one principal for its whole lifetime, and the server reads JQUANTS_MCP_USER as that principal's verified email — it applies the JQUANTS_ALLOWED_EMAILS allowlist and per-user rate limits to it, and looks up that user's stored API key.
Trust model:
JQUANTS_MCP_USERis trusted as-is; the server does no verification of its own. Whoever can set the child process's environment *is* that user, so the variable must be injected by the gateway and never by a user-supplied value.
When JQUANTS_MCP_USER is absent — the normal local case — the server runs single-user against the globally configured API key.
A worked example of the whole shape (auth proxy in front, gateway, stdio child, cache download) is scripts/entrypoint-stdio.sh, the entrypoint of the Cloud Run deployment described below. There is no other documented remote-access story: the server itself has no transport, TLS, or token options.
When the server receives a gateway identity (JQUANTS_MCP_USER, see Authentication) and MCP_ENCRYPTION_KEY is configured, it operates in multi-user mode: each user stores their own J-Quants API key on the server, and all data tools use that key automatically. All users share the read cache; each user gets an independent J-Quants client with isolated rate limiting and their own plan's date-range window.
sequenceDiagram
participant U as User participant C as MCP client participant G as Gateway (mcp-stdio serve) participant S as jquants-mcp (stdio child) participant J as J-Quants API U->>C: Connect C->>G: Authenticate (gateway's own auth layer) G->>S: Spawn child with JQUANTS_MCP_USER = verified email U->>C: "Register my J-Quants API key: " C->>G: register_api_key(api_key=" ") G->>S: forward over stdio S->>J: Probe plan-specific endpoints (auto-detect) J-->>S: Detected plan S->>S: Encrypt & store key + plan (AES-256-GCM) S-->>C: {"status": "ok", "plan": " "} U->>C: "Get TOPIX daily prices" C->>S: get_indices_bars_daily_topix(...) S->>J: API call with user's key J-->>S: Data S-->>C: Result
| Tool | Required | Description |
|---|---|---|
register_api_key | JQUANTS_MCP_USER + MCP_ENCRYPTION_KEY | Encrypt and store your J-Quants API key |
delete_api_key | JQUANTS_MCP_USER + MCP_ENCRYPTION_KEY | Remove your stored key |
Both tools return an explanatory error instead of failing silently when either requirement is missing.
Registering a key (tell your AI agent):
"Register my J-Quants API key:
"
The agent calls register_api_key(api_key="..."). The server probes plan-specific endpoints with the key to auto-detect the plan (free / light / standard / premium) and stores it alongside the encrypted key — no manual selection needed. Subsequent tool calls use the detected plan for rate limiting and date-range restrictions.
This is the only way to register a key on a multi-user deployment; the server exposes no web form and no HTTP endpoint of any kind.
MCP_ENCRYPTION_KEY, with a random 16-byte salt per encryption