mcpbeat Sign in

Decker MCP Server

answering

Decker is answering right now. Last checked 9 min ago. It exposes 12 tools. Last commit 2 Nov 2026.

Deterministic market-state engine for trading agents — state, gate, coordinates, with receipts.

Uptime history 91 days of history · worst day 95%
91 days agonow
100.0%
Uptime 24h
91 of 91 checks
12
Tools
read from the server
421 ms
Response time
average over 24h
3
Stars
last commit 2 Nov 2026

What changed 2

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 9 August 2026. No other catalogue keeps this.

9 Aug 2 tools changed the parameters they ask for decker.get_signals, decker.validate_intent

Decker missed one check this week

Everything else answered, so this is steady rather than shaky. We check every 15 minutes, which is how a one-off gets told apart from the start of a pattern, and how you hear about the next one within the hour instead of from your users.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 9 min ago.

run in your terminal
claude mcp add decker --transport http https://api.decker-ai.com/api/v1/mcp
Settings → Connectors → Add custom connector, then paste this address
https://api.decker-ai.com/api/v1/mcp
~/.codex/config.toml
[mcp_servers.decker]
url = "https://api.decker-ai.com/api/v1/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "decker": {
      "url": "https://api.decker-ai.com/api/v1/mcp"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "decker": {
      "type": "http",
      "url": "https://api.decker-ai.com/api/v1/mcp"
    }
  }
}

This endpoint answered with an authorization challenge. The server is running, but it did not say what kind of credentials it expects.

Available tools 12

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

decker
decker.close_position
Axis③ (Order/Execution) — closes (or partially reduces) an existing position through DECKER'S OWN execution engine (see decker.place_order for what that means — same account-linkage requirement applies here for real positions). Unlike place_order, there is no crypto-6 restriction — this reduces risk, not adds it, so any symbol you actually hold (including HL-synthetic/KRX paper positions) can be closed. Mode is NOT chosen by the caller — this looks up whatever position(s) actually exist for the symbol (real via live exchange query, virtual via the paper ledger) and closes whichever are open; if both a real and a virtual position exist for the same symbol, both are closed and the response reports execution_mode as 'mixed'. No open position for the symbol = a clean not-found response, not an error — safe to call speculatively.
decker.get_assembly
Multi-timeframe optimal-path assembly per symbol (STRATEGY_LAYER §8): one deterministic machine verdict combining all live timeframes — direction, grade (aligned | structure+pullback | exhaustion-reversal), entry (now vs wait, with source TF), stop (risk stop), target (upper-TF target), RR, and a conditional switch coordinate on mixed structure. Upper TF supplies the target (slower = higher success), lower TF supplies the entry. This is the single judgment authority — narrate or filter it, do not re-decide coordinates. Omit symbol for all 14 universe symbols.
decker.get_market_state
Market State v0 — current engine structural state for a symbol/timeframe (latest evaluated bar, persisted engine emit read as-is, zero recompute). DOMAIN FRAME (why this engine exists): the market is read as a TARGET GAME — every coordinate comes from a *verified anchor* (a past level where a triggered move actually succeeded). The `game` block tells you the context that matters: game.status = forming_target (new anchor set, awaiting test) | testing_target (price is testing whether the declared target holds) | direction_resolved (game decided, price traveling); game.target = WHO is being judged (anchor id/phase/band); game.progress_dest = where price goes if the move proceeds (the opposing verified anchor to conquer); game.reverse_dest = where it goes if the move fails (the opposite house — also the stop logic's home); game.why_gate = full gate derivation chain; game.zt_regime = output canonicality (restored = deterministic delta lineage). action_gate alone (GO/WATCH/HOLD) is only a posture — the game context is the information. RAW CONTRACT: fields are engine-native vocabulary (c_state, hold_reason, R_* risk enums …), NOT customer-facing prose — for a human-language view use decker.get_view (with tf) or decker.get_reading. layer=STATE: this is a market-state reading, NOT a trade instruction. Absent fields are null (engine did not emit that axis — no filling). Before placing any order through any execution tool, check the intent with decker.validate_intent.
decker.get_positions
Axis③ (Order/Execution) — this user's actual exposure: real open futures positions (execution_mode=real, with live sl_price/tp_price), virtual (paper) open positions, and the last 10 closed round-trips per mode. This is what your money actually did, distinct from decker.get_signals (axis②, what the engine recommends) — use this before deciding whether to place another order (avoid duplicate/over-exposure) and to check current protective stop/target on a real position.
decker.get_reading
AI-synthesized market reading for a symbol/timeframe, in customer-facing language: current state description, directional bias scores, bidirectional break targets, MTF verdict per timeframe, and an execution hint (stance + long/short setups). Engine-native raw fields are NOT exposed here — use the REST raw contract (GET /public/reading) or decker.get_market_state for those.
decker.get_signals
Active trading signals for the current user (with Skill Overlay applied), in customer-facing shape: coordinates (entry/target/stop), decision (ENTER/WAIT/SKIP), action_gate posture (GO/WATCH/HOLD — a stance, not an order command), progress, MTF verdict, and a plain-language summary_ko line. risk_reward_ratio is computed on the DISPLAYED coordinates (after overlay). Signals are retained rather than cut when they age (turn-retention policy) — read freshness_state (open|aged) / age_bars / freshness_sec before treating an old PENDING row as current. Filtered by symbols / min_progress / action_gate. Before placing any order through any execution tool, check the intent with decker.validate_intent.
decker.get_state_timeline
Market State v0 — per-bar state timeline for a symbol/timeframe (same schema as decker.get_market_state, except each item carries a SLIM `game` tag {status, target_id, zt_regime, provenance} instead of the full game block — read status transitions across bars to see how the target game unfolded (forming → testing → resolved/failed); ascending by bar_ts). Bars the engine did not emit are simply absent (honest gaps, no filling).
decker.get_user_skills
Trading skill catalog + currently active overlay for this user. Returns 3 base skills (conservative_v0/standard_v0/aggressive_v0) and the user's selected one.
decker.get_view
The engine's VIEW for a symbol — the same composed card the daily briefing sends (single composer, verbatim): overall verdict, big/main timeframe alignment, the current game narrative in plain language, coordinates (baseline ref_price / target / invalidation), 'at this price, this view', and recent self-scoring verdicts (receipts). layer=STATE_VIEW: a market-state reading, NOT a trade instruction. Prefer this over get_market_state when you want the interpreted view instead of raw engine fields. Before placing any order through any execution tool, check the intent with decker.validate_intent.
decker.place_order
Axis③ (Order/Execution) — unlike every other tool here, this one moves money. It places a market order through DECKER'S OWN execution engine (same path as the decker-ai.com chat trading UI, source='mcp') — it does NOT hand off to your own broker connection or exchange account; Decker executes using whatever exchange credentials this user has separately linked to their Decker account on the website. execution_mode (virtual|real) is NOT chosen by the caller — it is resolved server-side from this user's account settings (user_settings.execution_mode) AND the platform's real-trading kill switch; a real-money order requires both an explicit user opt-in AND role/tier eligibility (PRO/ENTERPRISE or admin) AND passing the tier's hard notional/leverage/daily-count caps (checked here before dispatch — violation blocks the order, does not downgrade it to virtual). The response always states which mode actually executed — treat 'virtual' in the response as authoritative even if you expected real. Restricted to the crypto-6 universe (BTCUSDT/ETHUSDT/SOLUSDT/BNBUSDT/XRPUSDT/DOGEUSDT) for this MCP path — HL-synthetic and KRX symbols are read-only via other tools. Call decker.validate_intent first to read the engine's current stance; this tool does not check it for you.
decker.set_skill_overlay
Change active trading skill overlay for this user. Immediately affects all subsequent get_signals calls and downstream channels.
decker.validate_intent
Pre-trade gate check for a proposed order intent. Call this BEFORE placing any order through any execution tool (e.g. a broker MCP's review→place flow). Checks the intent (symbol + side) against Decker's deterministic market state: engine action_gate (GO/WATCH/HOLD — a transition posture, not an order command), current structural state, and the active signal's direction / invalidation (stop) coordinates. Returns a stance reading, NOT an approval or rejection: the vocabulary is the engine gate as-is plus a mechanical side_alignment (aligned/opposed vs the active signal's direction). covered=false means the engine does not emit state for this symbol — treat as unknown, not as HOLD. The order decision and responsibility remain with the calling agent/user. Every check is persisted to an auditable decision ledger (check_id).

Endpoints

URLTransportStateLatencyChecked
https://api.decker-ai.com/api/v1/mcp streamable-http needs auth 430 ms 9 min ago

Alternatives to Decker

same job, measured the same way
TRA
by bijectivelabs

Read-only gates of autonomous trading agents with deterministic execution: cost, data, validation.

2 016 installs/wk local only
trading-research-agents
by bijectivelabs

Read-only gates of autonomous trading agents with deterministic execution: cost, data, validation.

2 174 installs/wk local only
Flatland
by flatlandfi

Financial reasoning infrastructure for AI agents: typed models, deterministic compilation, receipts

52 installs/wk local only
QuantContext
by zomma-dev

Deterministic stock screening, backtesting, and factor analysis for AI trading agents

136 installs/wk local only
Fensory
by fensory

Trading MCP server for AI agents, with live market data, account reads and controlled execution.

answering
DJZS Trust MCP
by djzs

Deterministic pre-execution audit for trading agents. PASS/WAIT/FAIL, reproducible verdict_hash.

4 tools answering
Base Multi Wallet MCP
by lordbasilaiassistant-sudo

MCP server for AI agents to manage multiple wallets with coordinated trading and batch operations on

126 installs/wk local only
ComputeFirst
by 321zz321

Free deterministic tools for math, data transforms, dates, text, statistics, finance, and units.

15 tools answering

Decker — questions

Answers built from our own checks of this server.

What can Decker do?
It exposes 12 tools, read directly from the server on our last check. Among them: decker.close_position, decker.get_assembly, decker.get_market_state, decker.get_positions, decker.get_reading, decker.get_signals and 6 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is Decker working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 421 ms. The bar chart above shows every period we have measured.
How do I connect Decker?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address. You will need your own credentials: it refuses anonymous clients.
Does Decker need an API key?
Yes. Every time we knock, Decker answers with an authorization challenge instead of its tool list — that is how we know it is running and gated rather than broken. Bring your own credentials and it will talk.
How fast is Decker?
It answers our handshake in 421 ms on average, which is faster than 31% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.
Is Decker open source?
The code is open source: it is published under the MIT licence, written in Python, 3 stars on GitHub and 1 open issue. The licence covers the code in the repository, not the hosted service at api.decker-ai.com, which runs on its operator's own terms.