ApexTick MCP Server
Turn Claude, Cursor, Windsurf, OpenCode or any Model Context Protocol client into a market analyst with five native ApexTick tools.
The ApexTick MCP server exposes read-only market intelligence tools over the Model Context Protocol. Your assistant calls them during a chat turn, and the tools run server-side behind the API gateway and return compact, context-efficient answers.
Connecting
https://api.apextick.com/mcpAll plansThere are two ways to connect, depending on what your client supports:
| Mode | How it connects | Use it for |
|---|---|---|
| Hosted Streamable HTTP | Your client sends MCP requests straight to https://api.apextick.com/mcp with your key in the apikey header. | Cursor, Windsurf, OpenCode, Claude Code and any client with remote-server support. |
| Local stdio bridge | Your client starts a small local process over stdio, which forwards every request to the hosted endpoint. The key comes from the APEXTICK_API_KEY environment variable. | Clients that only launch local servers, such as the Claude Desktop config file. |
Both modes use the same hosted server, the same tools and the same plan limits. The hosted endpoint is stateless: it doesn't use Mcp-Session-Id, and every request is authorized against your plan, so an upgrade takes effect on the very next tool call.
Client configuration
Set your key once in your shell profile, then copy the block for your client:
export APEXTICK_API_KEY="dk_your_key_here"
Claude Desktop
Claude Desktop's config file launches local stdio servers, so use the mcp-remote bridge (requires Node.js). Open Settings → Developer → Edit Config and add:
{
"mcpServers": {
"apextick": {
"command": "npx",
"args": [
"-y",
"mcp-remote@latest",
"https://api.apextick.com/mcp",
"--header",
"apikey:${APEXTICK_API_KEY}"
],
"env": {
"APEXTICK_API_KEY": "dk_your_key_here"
}
}
}
}
Fully quit and reopen Claude Desktop after saving. On macOS the file is ~/Library/Application Support/Claude/claude_desktop_config.json; on Windows it's %APPDATA%\Claude\claude_desktop_config.json.
Claude Code
claude mcp add --transport http apextick https://api.apextick.com/mcp \
--header "apikey: $APEXTICK_API_KEY"
Cursor
Add to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project):
{
"mcpServers": {
"apextick": {
"url": "https://api.apextick.com/mcp",
"headers": {
"apikey": "${env:APEXTICK_API_KEY}"
}
}
}
}
Windsurf
Add to ~/.codeium/windsurf/mcp_config.json, then refresh the MCP list in Cascade:
{
"mcpServers": {
"apextick": {
"serverUrl": "https://api.apextick.com/mcp",
"headers": {
"apikey": "${env:APEXTICK_API_KEY}"
}
}
}
}
OpenCode
Add to opencode.json in your project or global config. oauth: false tells OpenCode the server uses an API key:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"apextick": {
"type": "remote",
"url": "https://api.apextick.com/mcp",
"oauth": false,
"headers": {
"apikey": "{env:APEXTICK_API_KEY}"
}
}
}
}
Ask your assistant “What ApexTick tools do you have?” It should list the tools your plan includes. Then try “Get me a quote for NVDA”.
Tools by plan
| Tool | Hobbyist | Trader Pro | Quant & Community | Enterprise |
|---|---|---|---|---|
get_quote | ✓ | ✓ | ✓ | ✓ |
analyze_ticker | — | ✓ | ✓ | ✓ |
explain_price_move | — | ✓ | ✓ | ✓ |
get_watchlist_brief | — | ✓ | ✓ | ✓ |
screen_market | — | — | ✓ | ✓ |
Quant & Community supports multiple seats, with one API key per seat. Enterprise includes a dedicated MCP endpoint.
Your client only lists the tools your plan includes. If an assistant calls a tool outside your plan, the call returns an error result instead of data, for example: Tool "analyze_ticker" is not included in the hobbyist plan; upgrade your plan to use it. Tools available on this plan: get_quote.
Tool reference
Symbols use standard notation (AAPL, BRK-B, ^GSPC, EURUSD=X, BTC-USD) and are upper-cased and validated before any data is fetched. Output is deliberately compact: rounded numbers, abbreviated volumes such as 52.3M, and one text block per call.
get_quote
get_quoteHobbyist+A fast consolidated quote.
{ "symbol": "AAPL" }
Returns symbol, as_of, price, change, change_pct and volume.
analyze_ticker
analyze_tickerTrader Pro+The session and valuation of one instrument, in a single call.
{ "symbol": "AAPL" }
Returns:
- Session: price, change, OHLC, volume,
gap_pctandrange_position(0 at the day's low, 1 at its high). - Stance:
session_stance, one ofstrong_up,up,flat,downorstrong_down. - Valuation:
market_cap,pe,pb,eps_ttm,roeanddividend_yield. Unreported values are omitted, and instruments without fundamentals, such as crypto, get a note instead of an error.
explain_price_move
explain_price_moveTrader Pro+Structured context for the model to explain why a stock is moving.
{ "symbol": "NVDA" }
Returns:
- Move: direction, gap, range position and
move_vs_atr(the move measured in ATRs). - Technicals: RSI state, distance from SMA 20/50/200 in percent, moving-average trend, MACD, ATR and 30-day volatility.
- Earnings: the last reported quarter with its EPS surprise and days since the report, plus the next pending estimate.
- Signals: deterministic labels the model can reason over.
Missing technicals or earnings degrade to notes instead of failing the call.
get_watchlist_brief
get_watchlist_briefTrader Pro+Summarizes up to 20 symbols in one Markdown table, made with a single batched quote request.
{ "symbols": ["AAPL", "MSFT", "NVDA", "BTC-USD"] }
**Watchlist brief** · 4 symbol(s) · as of 2026-10-16T14:30:05Z
| Symbol | Price | Chg | Chg % | Day Range | Volume |
|:--|--:|--:|--:|:--|--:|
| AAPL | 190.12 | +1.19 | +0.63% | 188.50–191.20 | 52.3M |
| MSFT | 414.37 | -2.13 | -0.51% | 412.05–418.90 | 19.8M |
| NVDA | 142.06 | +5.62 | +4.12% | 137.10–143.25 | 312.5M |
| BTC-USD | 67412.50 | +812.40 | +1.22% | 66105.00–67980.00 | 28.4B |
Breadth: 3 up · 1 down · 0 flat · Best: NVDA +4.12% · Worst: MSFT -0.51%
Duplicate symbols are removed in input order, and symbols that can't be found are listed on a Not found: line.
screen_market
screen_marketQuant & Community+Screens market movers and options activity. All fields are optional:
{ "asset_class": "eq", "metric": "all", "limit": 5 }
| Field | Values | Default |
|---|---|---|
asset_class | eq, etf, fx | eq |
metric | all, gainers, losers, volume, high_iv | all |
limit | 1–20 | 5 |
all returns gainers, volume leaders and the highest implied-volatility names. The high-IV list comes from the options screener, keeping the highest-IV contract per underlying, and is skipped for fx. If one list is unavailable it becomes a note; the call fails only if every list fails.
Errors
Invalid input and data errors come back as MCP tool errors (isError: true) with a readable message, for example quote for ZZZZ: Symbol not found (status 404). Authentication problems are HTTP errors on the endpoint itself: a missing or invalid key returns 401.
Requests to the MCP endpoint count towards your plan's daily quota and rate limit like any other API request. Tool data is cached for a short time, so repeated questions from an assistant stay fast.