Market analyst tools + AI agent: crypto, US equities, options, Korean market, backtests, journal
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Market intelligence tools for any MCP-capable engine β Claude Code, Claude Desktop, or your own agent. Prices, indicators, levels, positioning, the Korean market, US equities, options, backtests, macro (FRED), SEC and OpenDART fundamentals, and your own trading journal. 108 tools, the same ones the product's own analyst uses.
The server describes nothing itself: it pulls the catalogue from GET /v1/tools, so it
shows exactly what your key is allowed to call and never drifts from the product.
The same tools are served at https://daepak.com/mcp (Streamable HTTP) with OAuth 2.1:
you sign in once in the browser, no key to copy.
Then /mcp inside Claude Code β daepak β Authenticate. Works the same way as a custom
connector in Claude.ai (paste the URL) and in ChatGPT developer mode. For Codex CLI:
Prefer a key instead of OAuth (servers, CI)? Send it as a header:
Or install it yourself:
Get a key on the Keys page of your profile at daepak.com. The free plan includes 2 000 credits a month β enough to build something over an evening.
| variable | default | purpose |
|---|---|---|
DAEPAK_API_KEY | β | your key, dpk_live_β¦. Required. |
DAEPAK_BASE_URL | https://daepak.com | point at another environment |
DAEPAK_TIMEOUT | 120 | seconds per call |
Nothing else is read. In particular there is no setting that names a user: the account is derived from the key, and a request cannot claim to be someone else.
The catalogue is filtered by your key's scopes β you never see a tool you cannot call.
| scope | tools | what it opens |
|---|---|---|
read:market | 88 | prices, candles, indicators, levels, scores, narratives, derivatives, order book, liquidations, options, US equities, Korean market, fundamentals (OpenDART, SEC), macro (FRED), backtests |
read:personal | 9 | your positions, portfolio, trade journal, catalysts, memory, background tasks |
write:personal | 11 | writing to those same records |
agent:chat | β | full analyst answers, streamed or complete |
Being allowed to read your journal does not allow writing to it. That is a separate scope.
Crypto β get_price, get_price_history, get_levels (support/resistance, Fibonacci,
ATR β computed, not drawn), get_indicators, get_score, get_regime, get_derivatives,
get_orderbook, get_liquidations, get_fear_greed
Korea β get_kimchi_premium (the Upbit-to-global spread, decomposed into the asset leg
and the currency leg), Korean tickers, fresh Upbit listings
US equities β get_stock_quote, get_stock_history, get_stock_levels,
get_stock_holders (institutions and insiders), get_us_gap_stats, get_us_movers,
get_us_halts, get_us_insiders
Fundamentals from primary sources β get_kr_financials (K-IFRS for any KRX listing,
OpenDART), get_us_financials (US-GAAP and IFRS by fiscal year from SEC EDGAR, up to 20
years), compare_financials (Korean and US companies in one schema, USD at the FRED rate),
get_kr_insiders, screen_kr (the whole KRX with RS percentiles and foreign-ownership
flow), get_kr_rs, list_kr_etfs, backtest_kr_portfolio (against KOSPI)
Macro β get_macro_snapshot (Fed funds, US 2Y/10Y and the curve, broad dollar,
USD/KRW, VIX, CPI as YoY, unemployment, Korean overnight rate), get_macro_series (any
FRED id with history). Every row carries stale_days; Korean CPI is absent on purpose β
FRED's series died in 2023.
Options β get_iv_metrics, get_options_positioning, get_option_structure (payoff and
greeks), get_options_backtest
Validation β get_backtest, get_signal_outcomes, get_hit_rate, get_score_history
Arbitrary tokens β resolve_token, get_token_market, get_token_onchain,
get_token_holders, for anything outside the watchlist
Research β search_news (RAG over the collected corpus), search_narratives,
fetch_url, web_search
The same analyst that answers in the product, over HTTP. It has everything the chat has:
POST /v1/agent/stream | server-sent events β text arrives as it is written |
POST /v1/agent/messages | the complete answer in one response |
GET /v1/agent/resume/{id} | reconnect to a generation already running |
POST /v1/agent/cancel/{id} | stop one |
GET /v1/agent/conversations | your conversations, and /{id} for the messages |
Conversation memory. The first event carries conversation_id; pass it back and the
context continues.
Images. images takes data-URLs, exactly like chat attachments β the agent reads charts
and screenshots.
Mentor mode. mode: "mentor" explains how the reading was arrived at, not just the
conclusion.
β οΈ A dropped connection loses nothing. Generation continues in the background, the answer
still lands in the conversation, and resume replays what you missed. Keep the
conversation_id from the first event β that is where you reconnect.
β οΈ suggest (follow-up questions) arrives after done. A client that stops reading at
done will never see it. The order is deliberate: the spinner should stop before the
suggestions are computed.
Every tool declares its price in the catalogue, so a sequence can be budgeted before it runs. Prices come from measuring the tools in production, not from guessing:
| tier | what | credits |
|---|---|---|
| our database | prices, indicators, levels, candles, narratives | 1 |
| external call | equities, tokens, options, on-chain | 5 |
| embedding, sandbox | news search, code execution | 20 |
A tool nobody has priced yet costs 5, not 1 β an unpriced tool is either an oversight or something heavy, and both are safer to over-charge than to give away.
When the monthly credits run out you get 402 naming two ways forward: a higher plan or the
renewal at the start of the month. There is no overage billing β we would rather refuse
than send an invoice nobody expected.
The MCP server is a thin shell over a plain REST API.
Full reference: daepak.com/reference Β· OpenAPI 3.1: /v1/openapi.json (106 operations, no key needed to read it).
A few things the data will tell you if you look, and which are easy to get wrong:
reliable=false. That is an absence of a
conclusion, not a weak one.401 β the key is missing, revoked, or malformed. Send it as
Authorization: Bearer dpk_live_β¦.
403 scope_required β the key lacks the scope; the response names which one.
400 user_id_not_accepted β the body contained a user_id. The account comes from the
key; the field is rejected explicitly rather than ignored, so that a copied example fails
loudly instead of quietly returning nothing.
404 conversation_not_found β that conversation belongs to another account.
429 β over the per-minute ceiling for your plan. The minute limit protects the service;
the monthly one protects your budget.
CERTIFICATE_VERIFY_FAILED β you are running from source without certifi. Install the
package instead of the file; the dependency exists for exactly this.
Error messages default to English; send X-Lang: ko or ru for those languages.
MIT
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/daepak-market-intelligence)<a href="https://allmcps.com/mcp/daepak-market-intelligence"><img src="https://allmcps.com/api/badge/daepak-market-intelligence?style=directory" alt="Daepak Market Intelligence on AllMCPs" /></a>