About Kronos
Kronos is an MCP server that wraps the Kronos K-line time-series model to forecast daily open, high, low, close and volume for China A-shares. It is aimed at AI agent users who need statistical price extrapolations. Coverage is limited to A-shares, and the server returns a derived expected return.
Key features
- 01Predicts 1 to 30 future daily candles
- 02Returns open, high, low, close and volume
- 03Computes expected_return from predicted close
- 04Provides health check for connectivity and key
Use cases
- 01Giving an AI agent short-term A-share price extrapolations
- 02Estimating expected return for A-share symbols
- 03Diagnosing API key or service connection issues
MCP support
This project is an MCP server that exposes the kronos_health and kronos_predict tools to MCP clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
uvx kronos-mcpKRONOS_API_KEYSecretKRONOS-type API key from https://hunter.agentpit.io/dev/api-keysKRONOS_URLOverride the upstream endpoint if you self-hostKRONOS_TIMEOUTRead timeout in seconds. GPU inference takes 30-70sLocal servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEkronos-mcp
Stock price forecasting for your AI agent — China A-shares.
An MCP server wrapping Kronos, a K-line time-series model. Ask it for a symbol, get the next N daily candles predicted: open / high / low / close / volume.
Coverage is China A-shares only. Verified 2026-09-10:
AAPL,AAPL.US,NASDAQ:AAPL,00700and0700.HKall return 404 — the upstream has no K-line data for them. This is a data limitation, not a symbol-format issue.
Tools
| Tool | What it does |
|---|---|
kronos_health() | Check the service is reachable and your key works. Call this first when something fails. |
kronos_predict(symbol, pred_len) | Predict the next pred_len daily candles (1–30, default 10) |
kronos_predict also returns expected_return — last predicted close over last
real close, minus one. That ratio is the number most people actually want.
Quick start
You need an API key first — see below.
Claude Desktop / Cursor
Add to claude_desktop_config.json:
{
"mcpServers": {
"kronos": {
"command": "uvx",
"args": ["kronos-mcp"],
"env": { "KRONOS_API_KEY": "oapk_xxx" }
}
}
}
Command line
# no install needed
KRONOS_API_KEY=oapk_xxx uvx kronos-mcp
# or install it
pip install kronos-mcp
KRONOS_API_KEY=oapk_xxx kronos-mcp
API key
This server has no keyless mode, and cannot have one — the upstream returns 401 without a key.
The reason is cost, not gatekeeping: Kronos runs on our own GPUs and a single inference takes 30–70 seconds. Open anonymous access would let a handful of loops saturate the service, with no way to tell who is doing it.
Get one:
- Open https://hunter.agentpit.io/dev/api-keys and sign in
- Click 申请 API Key and choose API type KRONOS
- Copy the
oapk_…key — it is shown once - Set it as
KRONOS_API_KEY
Approval usually lands within hours on a business day. Free, with a default quota of 1000 calls per key.
If the key is missing, this server does not return sample data or a fake success. It returns an error that tells you exactly where to get a key.
Environment variables
| Variable | Default | Notes |
|---|---|---|
KRONOS_API_KEY | — | Required. oapk_ key of type KRONOS |
KRONOS_URL | https://kronos.agentpit.io | Point this at your own deployment if you self-host |
KRONOS_TIMEOUT | 180 | Seconds. GPU inference is 30–70s — don't set this tight |
KRONOS_MCP_TRANSPORT | stdio | stdio | streamable-http | sse |
KRONOS_MCP_HOST / KRONOS_MCP_PORT | 0.0.0.0 / 8932 | Remote transports only |
stdio is what Claude Desktop, Cursor and uvx use. Run a remote transport
only if you want one long-running server serving several clients — and note the
MCP spec marks SSE as deprecated, so prefer streamable-http for new setups.
What to expect
Every call takes 30–70 seconds. That is the GPU, not a hang. Don't retry because it feels slow, and don't loop it over dozens of symbols — upstream takes one symbol per request.
This is a statistical extrapolation, not investment advice. The model reads price history and nothing else: no news, no halts, no earnings dates. It will drift badly in unusual conditions. Treat the output as one input among many.
Errors you might hit
| Error | Meaning |
|---|---|
missing_api_key | KRONOS_API_KEY not set — see API key |
invalid_api_key (401) | Key wrong, incomplete or revoked. Revocation takes up to 5 min to propagate |
wrong_key_type (403) | Key is valid but isn't a KRONOS key — you may have applied for KPRED or FIN_R1 |
symbol_not_found (404) | Use 600519 or 600519.SH. A-shares only — US and HK tickers land here |
rate_limited (429) | Per-IP cap on invalid keys, or your quota is exhausted |
upstream_down (502/504) | GPU service restarting. If it lasts more than a few minutes, please open an issue |
Related
- truesource-mcp — verifiable first-hand market signals: filings, procurement wins, macro data
- akshare-mcp — lets a model explore AKShare's 1000+ China market data functions on its own
- hunter-community — the open-source stack these come from
Apache-2.0.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.