Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

com.n0brains/mcp

REMOTE · API.N0BRAINS.COM · SCANNED SEP 20

Self-routing market intel for agents: A-F trade checks, one-call briefs, real liq maps, proof board.

Available components

0 this week 84 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security78
  • The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
  • Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token. View diagnostics → Pass
  • HTTPS enforcement could not be verified: the plaintext port answered with HTTP 406, which proves neither a plaintext path nor enforcement. View diagnostics → Unverified
  • HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
  • DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
  • The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents. View diagnostics → Partial
Transport & Reachability100
Schema Quality & AI Usability72
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 7590 tokens (~145/item across 52 items; 52 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage71
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 0% of tool parameters carry a description.Fail
  • Structured output schemas are declared (37% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 52 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 53 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the com.n0brains/mcp server?

com.n0brains/mcp is a hosted endpoint at https://api.n0brains.com/mcp/, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · api.n0brains.com

# add to Claude Code
claude mcp add --transport http com-n0brains-mcp 'https://api.n0brains.com/mcp/'
// .cursor/mcp.json
{
  "mcpServers": {
    "com-n0brains-mcp": {
      "url": "https://api.n0brains.com/mcp/"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "com-n0brains-mcp": {
      "type": "http",
      "url": "https://api.n0brains.com/mcp/"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.com-n0brains-mcp]
url = "https://api.n0brains.com/mcp/"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-n0brains-mcp": {
      "type": "remote",
      "url": "https://api.n0brains.com/mcp/",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add com-n0brains-mcp --url 'https://api.n0brains.com/mcp/' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  com-n0brains-mcp:
    url: "https://api.n0brains.com/mcp/"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "com-n0brains-mcp": {
      "Transport": "http",
      "Url": "https://api.n0brains.com/mcp/"
    }
  }
}
# add to Vellum
assistant mcp add com-n0brains-mcp -t streamable-http -u 'https://api.n0brains.com/mcp/'
// mcp.json
{
  "mcpServers": {
    "com-n0brains-mcp": {
      "type": "http",
      "url": "https://api.n0brains.com/mcp/"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 10 Sept 26 0
    • Tool “get_positioning” rewrote its description, which is the text the model reads security
    • Tool “get_signals_since” rewrote its description, which is the text the model reads security
    • “get_signals_since” added an optional parameter “limit” cosmetic
    • “get_signals_since” added an optional parameter “since_id” cosmetic
  • 3 Sept 26 0
    • Tool “list_signals” rewrote its description, which is the text the model reads security
  • 26 Aug 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 25 Aug 26 +1
    • Stability: 0.97 → pass security
  • 23 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.

  • 15 Aug 26 0
    • Tool “get_performance” rewrote its description, which is the text the model reads security
  • 12 Aug 26 0
    • Tool “get_levels” rewrote its description, which is the text the model reads security
    • Tool “get_liquidation_map” rewrote its description, which is the text the model reads security
  • 11 Aug 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Probed https://api.n0brains.com/mcp/

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=n0brains.com CN=YE2,O=Let's Encrypt,C=US 7 Sept 2026 6 Dec 2026 ECDSA 256 ECDSA-SHA384 6bafaadae87ef0be9c36d4932222ecf56f2
SANs: *.n0brains.com, n0brains.com
CN=YE2,O=Let's Encrypt,C=US (CA) CN=Root YE,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 ECDSA 384 ECDSA-SHA384 4df3b15dd6c0784c507cd37b58e6f115
CN=Root YE,O=ISRG,C=US (CA) CN=ISRG Root X2,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 ECDSA-SHA384 872165fc34b6e5fba8add5b3705fb53a
CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 SHA256-RSA 6c8f1dc727c7117f7baf853ac980f9cd

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of api.n0brains.com. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
n0brains.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication Enforced and verified

The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.

Result Enforced and verified
Enforced On tool calls
HTTP status 200

WWW-Authenticate challenge Bearer resource_metadata="https://api.n0brains.com/.well-known/oauth-protected-resource"

Bearer resource_metadata="https://api.n0brains.com/.well-known/oauth-protected-resource"

Protected resource metadata

Document https://api.n0brains.com/.well-known/oauth-protected-resource
Retrieved Yes
Resource https://api.n0brains.com/
Authorisation server https://api.n0brains.com

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://api.n0brains.com/mcp/ Verified 200
http (plaintext) http://api.n0brains.com/mcp/ Inconclusive 406
MCP tools · 52 exposed · ~6,544 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
amend_trade ~171

[JOURNAL] Amend an OPEN journal trade by trade_id: move your stop or target, fix size_usd / leverage / thesis. A stop MOVE changes only the current stop (what the watchdog and close-time touch scan use); realized R stays measured against your INITIAL stop, so trailing to breakeven can't inflate R. To fix a genuine fat-finger in the original entry or stop, also pass correct_entry=true — that resets the R basis (disclosed in the response). asset/side can't be amended — void and re-log for that. Pro.

NameTypeReqDescription
correct_entryboolean
entry
leverage
size_usd
stop
target
thesis
trade_idintegeryes

No output schema declared.

No examples provided.

check_trade ~202

[START HERE — 'vet my trade'] Ask n0brains First: graded pre-trade conditions assessment for a proposed trade. Give asset + side (long/short); optionally entry, stop, target, leverage, horizon_hours (default 24). Returns grade A..F with flags (positioning crowding, scheduled event risk inside the horizon, liquidation distance vs realized daily volatility, stop inside noise range, proven-edge conflicts, late entry), supporting factors, and falsifiers to watch. Grades are logged and resolved at horizon; cross-grade performance stays withheld until the deployed weekly truth gate clears. Pair with get_positioning (who is crowded) + get_event_outlook (scheduled risk inside the horizon) for the full vet. Analytical, not advice.

NameTypeReqDescription
assetstringyes
entry
horizon_hoursinteger
leverage
sidestringyes
stop
target

No output schema declared.

No examples provided.

close_trade ~144

[JOURNAL] Close a journal trade by trade_id (from log_trade or get_journal). Optionally exit_price (defaults to live price) and note (exit reasoning). n0brains resolves the outcome from real candles over the held window: return %, R multiple vs your initial stop, MAE/MFE (worst drawdown / best unrealized gain while open), and whether your stop or target level actually traded. HISTORICAL backfill: pass closed_at (epoch seconds of the real exit) + explicit exit_price. Pro.

NameTypeReqDescription
closed_at
exit_price
note
trade_idintegeryes

No output schema declared.

No examples provided.

find_similar_signals ~120

[DRILL-DOWN — history rhymes] Semantic similarity search across the signal corpus: give a coin and/or a free-text query (q), get the k most similar past signals ranked by embedding cosine similarity — 'have we seen this setup before and what did it look like'. k = 1-20 (default 5). Provide at least one of coin / q. Mirrors REST /signals/similar. Pro. Analytical, not advice.

NameTypeReqDescription
coin
kinteger
q

No output schema declared.

No examples provided.

get_actionable_signals ~304

[START HERE — 'find me a trade'] Signals the production trade-gate itself marked actionable (action_hint=trade_signal — the engine's per-(type,direction) proven verdict), age ≤ max_age_min. Skips anti-predictive cells. Also returns swing_outlooks: labeled days-scale reads from cells proven at 7-30d horizons, each with its proven horizon and a suggested hold — NOT intraday trades. Pass min_score / min_confidence only if you want additional numeric bars on top of the engine verdict. When the result is empty, the `context` block points to rank_trades / get_trade_plan — a signal-gate miss does not mean no setup exists (positioning/levels setups aren't signal-driven). ALWAYS check `has_trade_signal` (true only when a real intraday trade cleared the gate) and render `reads` — a single array that is NEVER empty when any read exists: it holds the gate-passed trade signals, or, when none cleared, the strongest context read + swing outlooks, each tagged `kind` and `actionable`. `signals` stays strictly gate-passed; items in `reads` with actionable=false are NOT trades. Next: grade any candidate with check_trade; rank_trades when nothing cleared the gate.

NameTypeReqDescription
asset
max_age_min
min_confidence
min_score
signal_type
NameTypeReqDescription
countintegeryes
market_opens
next_cursor
server_timestamp
signalsarrayyes

No examples provided.

get_anti_predictive_cells ~77

[RECEIPTS] Cells from cell_stats.json with inverse_flagged=true. These are (signal_type × direction × regime) buckets where the empirical win-rate is below the inverse_thresholds floor with sufficient sample. Signals in these cells get calibration_inverted_in_cell=true and have confidence nulled in customer-facing serialization.

Input schema present but exposes no named parameters.

NameTypeReqDescription
as_of
cell_stats_pathstring
cellsarrayyes
notestring

No examples provided.

get_asset_class_proof ~136

[RECEIPTS] Per-non-crypto-asset-class forward-return scoreboard (asset_class = stock | index | metal | commodity). Measured on that class's own rows + baseline (stock excess vs SP500; index/metal/commodity absolute). Intel-only: the tradeable badge is informational, non-crypto is not auto-traded yet. status=accruing until a (type,direction) reaches the min sample. Same data as REST /proof?asset_class=. For the crypto board use get_performance or REST /proof. Not financial advice.

NameTypeReqDescription
asset_classstringyes

No output schema declared.

No examples provided.

get_check_history ~104

[RECEIPTS — your own] Your past check_trade assessments WITH resolved outcomes: each row is the trade as you submitted it, the grade it got, and (once the horizon passed) the side-adjusted result with stop-touch honored. This is your personal calibration on the CHECKS you asked for (the journal covers trades you actually took). Free tier also gets free_checks_remaining_today. Mirrors REST /checks/history (last 50). Analytical, not advice.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_checkable_assets ~113

[META] The asset universe check_trade / get_trade_plan / get_levels can price: Hyperliquid perp coins + tokenized HIP-3 stocks/metals/indices. Call once instead of discovering support by error. Contract: count === len(assets); `degraded: true` means the list is INCOMPLETE/STALE — do not treat it as the universe, do not cache it, retry later; no `degraded` key means healthy. Mirrors REST /check/assets (shared cache).

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_correlation ~76

[DRILL-DOWN] Return-correlation + beta of a coin to BTC and ETH over a 7d window of 15m log returns, plus its most/least correlated peers. Descriptive statistic (correlation is not causation). Same data as REST /correlation/{coin}.

NameTypeReqDescription
coinstringyes
NameTypeReqDescription
coinstringyes
disclaimer
least_correlatedarray
most_correlatedarray
to_btc
to_eth

No examples provided.

get_cross_asset_flows ~82

[CONTEXT] Cross-asset flows: crypto rotation, crypto-vs-tradfi OI split, institutional posture (ETF flow / COT / 13F, descriptive). Answers 'where are funds going and is the market buying something other than crypto?'. Mirrors REST /flows. ETF flow is proven non-predictive. Not advice.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_discovery ~78

[RECEIPTS — experimental] Emergent edge discovery: corroboration class-combinations mined from the shadow ledger vs realized forward returns, ranked by measured edge (honesty-gated, both-halves). Surfaces patterns nobody hand-coded. status=accruing until the ledger fills (~60-90d). Candidate, not advice.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_economic_calendar ~152

[TIMING] Scheduled macro + earnings calendar — the 'knows WHEN' feed. Upcoming high-impact US macro releases (CPI, NFP, FOMC, PPI, GDP) and tracked single-name earnings (NVDA, TSLA, MSFT, +) with consensus/previous, and actual + surprise once printed. Args: days_back (0-90, default 7), days_ahead (0-60, default 14), event_class ('macro'|'earnings', optional). Same data as REST /calendar. Context for timing/regime, not a direction call.

NameTypeReqDescription
days_ahead
days_back
event_class

No output schema declared.

No examples provided.

get_event_outlook ~101

[TIMING] Upcoming scheduled macro releases + earnings joined with each event's MEASURED historical reaction distribution (event-study library, grouped by surprise sign): 'CPI prints Thursday — the last N hot prints moved SPX/BTC X%'. history=null until a cell accrues (the library earns its conditionals, it never manufactures them). Same data as REST /event-outlook. Not a direction call.

NameTypeReqDescription
days_ahead

No output schema declared.

No examples provided.

get_indicators ~115

[DRILL-DOWN] Technical indicators for a coin (e.g. 'BTC', 'ETH', 'SOL', 'XRP'): RSI(14), MACD, SMA/EMA (20/50/200 + 200-week), Stochastic, and FIBONACCI retracement levels (90-day swing). Returns daily + weekly timeframes plus a plain-language read. Same data as REST /indicators/{coin}. Use for momentum + Fib confluence with get_levels.

NameTypeReqDescription
coinstringyes

Structured output declared, but exposes no named fields.

No examples provided.

get_journal ~128

[JOURNAL] Read your private trade journal. status=open|closed|void|all (default all shows open+closed; void is hidden unless asked), limit for history (default 20). Open trades include live unrealized PnL/R and a warning if your stop level has traded since entry. Closed trades include resolved outcomes (ret %, R, MAE/MFE). stats block = personal calibration: win rate and realized R per n0brains entry grade — where your entries were actually good. Pro.

NameTypeReqDescription
limitinteger
statusstring

No output schema declared.

No examples provided.

get_levels ~192

[DRILL-DOWN] Support/resistance levels for a coin (e.g. 'BTC', 'ETH', 'SOL'). Reads from levels_engine + Hyperliquid mids. Levels are detected on THREE timeframes — 15m (3 days back), 4h (90 days) and 1d (2 years) — and every level carries its `timeframe`, `distance_pct` and zone band. `nearest_resistance`/`nearest_support` are the immediate intraday levels (within ~5% of spot) and are often fractions of a percent away; for swing structure read `structure.resistance` / `structure.support`, which are the 4h/1d levels out to 35% from spot, strongest first. A level merged across tiers lists the confirming timeframes in `confirmed_by`. Same data as REST /levels/{coin}.

NameTypeReqDescription
coinstringyes
NameTypeReqDescription
all_resistancearray
all_supportarray
coinstringyes
current_pricenumberyes
nearest_resistance
nearest_support
structure
timeframesarray
trend_state

No examples provided.

get_liquidation_map ~232

[DRILL-DOWN] Liquidation map for a coin (e.g. 'BTC', 'ETH'), binned into price clusters — the same feed that powers positioning's liq_magnet and market_state's target/invalidation. Shows long/short imbalance per zone (long_usd vs short_usd per bucket), nearest dense cluster below and above price, and top zones by notional. PROVENANCE VARIES BY COIN — always read the returned `observed` / `modeled` / `method` fields before describing the data. BTC, ETH and HIP-3 tokenized stocks/metals/indices have a DEX book, so their maps are OBSERVED per-position liquidation prices (Hyperliquid + GMX). Coins with no DEX book (XRP, SOL, DOGE, most alts) return a MODELED estimate built from aggregate CEX open interest and calibrated leverage tiers — real zones, but an estimate, and its long/short totals are symmetric by construction. Same data as REST /liqmap/{coin}.

NameTypeReqDescription
coinstringyes

No output schema declared.

No examples provided.

get_liquidity_map ~66

[CONTEXT] Net cross-asset liquidity map: Fed net liquidity, stablecoin dry-powder, total perp OI, liquidation pressure, net taker flow. Answers 'where is liquidity?'. Mirrors REST /liquidity. Descriptive, not advice.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_long_short ~171

[DRILL-DOWN] Long/short positioning for one coin from REAL data, mode picked by the asset's primary source: DEX price-point buckets (Hyperliquid+GMX, BTC/ETH-style), CFTC COT (metals/oil/indices), or exchange long/short ratios (alts). Returns latest buckets {price, long_usd, short_usd}, totals + long_pct + ls_ratio, the accumulated trend over `days` (1-90, default 7), and funding + OI-by-venue context. Complements get_positioning (the 8-leg synthesis) with the raw who-is-long-where view. Mirrors REST /charts/long-short/{coin}. Analytical, not advice.

NameTypeReqDescription
coinstringyes
days

No output schema declared.

No examples provided.

get_macro ~53

[CONTEXT] Current macro bias (regime, BTC/ETH bias + conviction, calendar risks). Mirrors REST /macro current snapshot. Honesty overlay applied: fields marked uncalibrated, insufficient-data flags surfaced.

Input schema present but exposes no named parameters.

NameTypeReqDescription
currentyes
history
history_note

No examples provided.

get_macro_aligned_signals ~94

[CONTEXT] Active signals whose direction AGREES with the current macro bias (conviction ≥ 0.6). Uses the same rule the internal pipeline uses to boost confidence x1.12 (vs CONFLICTS, which dampens x0.88). macro and macro_pulse signal types are excluded (they ARE the macro). Optional asset filter.

NameTypeReqDescription
asset
limit
NameTypeReqDescription
countintegeryes
market_opens
next_cursor
server_timestamp
signalsarrayyes

No examples provided.

get_manipulation ~81

[FORENSICS] Manipulation-risk analysis for one asset: composite manipulation score, coordinated-pump probability, fake-engagement risk, liquidation-cascade detection. Richer than the per-signal manipulation_score field — this is the full standalone read. Mirrors REST /manipulation/{coin}. Analytical, not advice.

NameTypeReqDescription
coinstringyes

No output schema declared.

No examples provided.

get_market_analogs ~125

[CONTEXT] Nearest historical market-state analogs to right now: k-NN over the cross-asset state (SPX/NDX momentum, VIX level + term structure, DXY, yield curve) with what SPX/NDX/BTC actually did over the following 1d/5d (median, quartiles, hit-rate) per analog and in aggregate. k = 3-25 (default 12), episode-separated. Same data as REST /analogs. Conditioning context, NOT a prediction.

NameTypeReqDescription
k

No output schema declared.

No examples provided.

get_market_brief ~150

[START HERE — market overview] One-call morning brief: market regime (risk appetite), liquidity read, high-impact events next 72h, the engine's actionable reads (has_trade_signal + reads[]), and cross-asset trade-plan ranking — compact projections of get_market_regime / get_liquidity_map / get_economic_calendar / get_actionable_signals / rank_trades, assembled server-side. Optional coin arg scopes the actionable reads to that coin and adds it to the ranked set (ranking stays setup_score-sorted). Drill into any block with the underlying tool. Descriptive + engine verdicts; uncalibrated blocks labeled; not financial advice.

NameTypeReqDescription
coin

No output schema declared.

No examples provided.

get_market_opens ~53

[DRILL-DOWN] Latest TradFi market open prices for BTC/ETH/SOL across sessions. Source: watchers.market_opening_watcher.get_latest_opens(). Same data as REST /market-opens.

Input schema present but exposes no named parameters.

NameTypeReqDescription
market_opensobjectyes

No examples provided.

get_market_regime ~90

[CONTEXT — market overview] Market-wide risk-appetite read: risk-on / risk-off / squeeze from a blend of the macro composite, cross-sectional breadth, funding regime and vol. Answers 'do conditions favor risk right now?'. Mirrors REST /regime. Descriptive, uncalibrated, not financial advice. One-call morning brief incl. this block: get_market_brief.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_mindshare ~90

[DRILL-DOWN] Mindshare leaderboard: each asset's share of crypto attention across n0brains' sources over the window, ranked, with velocity (rising / falling / emerging). The edge is a coin's attention ACCELERATING before price moves. Directional proxy over n0brains sources, NOT a market-wide social-firehose absolute. Same data as REST /mindshare.

Input schema present but exposes no named parameters.

NameTypeReqDescription
assetsarray
disclaimer
sufficient_databoolean
total_mentionsinteger

No examples provided.

get_mindshare_coin ~62

[DRILL-DOWN] One coin's mindshare: its attention share %, rank, and velocity vs the prior window (rising/falling/stable/emerging). Same data as REST /mindshare/{coin}.

NameTypeReqDescription
coinstringyes
NameTypeReqDescription
coinstringyes
disclaimer
mindshare_pct
rank
sufficient_databoolean
trend
velocity

No examples provided.

get_narrative ~92

[FORENSICS] Narrative heatmap for one asset: signal momentum, velocity, decay, manipulation probability and directional conviction across 1h / 4h / 24h windows — is the story building or dying? Complements get_mindshare_coin (attention share) with time-structure. Mirrors REST /narrative/{coin}. Analytical, not advice.

NameTypeReqDescription
coinstringyes

No output schema declared.

No examples provided.

get_options ~103

[DRILL-DOWN] Options analytics for a coin (BTC or ETH): ATM implied vol, skew (put-call IV proxy — the fear gauge), IV term structure, put/call OI ratio, and max-pain, from public Deribit data. Positive skew = downside hedging/fear; term_structure slope > 0 = contango. Descriptive positioning, not prediction. Same data as REST /options/{coin}.

NameTypeReqDescription
coinstringyes
NameTypeReqDescription
atm_iv
coinstringyes
disclaimer
max_pain
put_call_oi_ratio
skew
spot
term_structure

No examples provided.

get_performance ~209

[RECEIPTS] Backtest performance over last N days (1-365, default 30). Same data as REST /performance. Note: no asset filter — performance is aggregated across all assets. Performance is the live forward-return record by signal type. DENOMINATOR CONTRACT — every block (overall, by_signal_type, by_coin, by_source) carries total/wins/partials/losses/expired/settled/win_rate. `total` counts signals emitted, settled or NOT: most expire unsettled, so wins/total is not a win rate and ranks lanes backwards. `win` = full take-profit only; a partial is not a loss. Rank on win_rate (wins/settled) or avg_pnl. `win_rate` is null when settled=0 — that is 'not yet measurable', NOT zero. For the gated per-type verdict with confidence intervals and the tradeable badge, use get_proof instead.

NameTypeReqDescription
days
NameTypeReqDescription
daysintegeryes

No examples provided.

get_playbook ~98

[READ FIRST] The routing guide for every n0brains tool: which tool answers which intent (find a trade / vet a trade / coin snapshot / market brief / monitoring) and how to interpret the honesty fields (action_hint, historical_edge, n_eff, calibration). Call this once if you are unsure which tool to use — it replaces trial-and-error over the 40-tool catalog. Static text, no market data, free tier.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_positioning ~234

[DRILL-DOWN — who is crowded] Positioning thesis for one coin: who is crowded and which way. Combines funding-rate crowding (30d z-score), taker CVD buy/sell dominance (2h + 24h), open-interest-vs-price divergence (new longs / short-covering / new shorts / capitulation), options put-call + skew + max-pain TREND (BTC/ETH/XRP/SOL), nearest liquidation magnets above/below with notional, and whale stance (fade-corrected) into a single net positioning bias in [-1,1] with plain-English reasoning per component, per-line data freshness, and a coverage grade (full/broad/partial/thin — how many of the 8 legs actually contributed; full means every leg, `missing` names any that did not, so a thin-coverage score cannot read like a full one). Use INSTEAD of manually combining get_liquidation_map + get_options + funding. Mirrors REST /positioning/{coin}. Conditioning context, not financial advice.

NameTypeReqDescription
coinstring

No output schema declared.

No examples provided.

get_price ~110

[TRUTH ANCHOR] THE canonical current price (live exchange mid) for a coin — the single source of truth every other n0brains tool's spot/current_price should agree with. Returns {coin, price, source, age_secs, ts}. Use this to sanity-check any analytic payload: if a tool's spot disagrees materially with this, that tool's price is stale and its read should be discounted. Free tier. Public data, not financial advice.

NameTypeReqDescription
coinstringyes

No output schema declared.

No examples provided.

get_prices ~70

[TRUTH ANCHOR] Batch canonical prices for several coins in one call. coins = comma-separated symbols, e.g. 'BTC,ETH,SOL' (max 50). Returns {prices:{SYM:price}, missing:[...], source, age_secs}.

NameTypeReqDescription
coinsstringyes

No output schema declared.

No examples provided.

get_proof ~149

[RECEIPTS] The full public forward-return proof board — richer than get_performance: per-signal-type measured post-signal performance with the proven-gate `tradeable` badges, plus the SWING boards. Args: asset_class (stock|index|metal|commodity — same as get_asset_class_proof) OR horizon ('7d'|'14d'|'30d' for the swing-horizon boards, measurement-only, never badged tradeable). Omit both for the default 24h crypto board. Same data as REST /proof and n0brains.com/proof. Measured, not advice.

NameTypeReqDescription
asset_class
horizon

No output schema declared.

No examples provided.

get_rotation ~77

[CONTEXT] Altseason/rotation read: is capital rotating INTO alts (altseason) or back to BTC (risk-off)? rotation_score in [-1,1] from relative-strength breadth + correlation trend. Breadth is a PROXY, not true BTC dominance. Uncalibrated heuristic. Same data as REST /rotation.

Input schema present but exposes no named parameters.

NameTypeReqDescription
breadth
disclaimer
regime
rotation_score
sufficient_databoolean
top_rotating_inarray
top_rotating_outarray

No examples provided.

get_sentiment ~90

[DRILL-DOWN] Aggregate sentiment for a coin: net directional lean (confidence-weighted, recency-decayed), chatter volume + velocity (is it accelerating?), and contributing sources, over 24h. Coverage is CURATED high-edge authors — what the tracked smart-money voices lean, NOT mass social volume. Same data as REST /sentiment/{coin}.

NameTypeReqDescription
coinstringyes
NameTypeReqDescription
accelerating
coinstringyes
disclaimer
lean
net_sentiment
sufficient_databoolean
top_sourcesarray
velocity
volumeinteger

No examples provided.

get_signal ~57

[RAW FEED — detail] Fetch a single signal by ID with full enrichment (historical_edge, paired_inverse, latency, priced_in fields). Returns 404 semantics via tool error if signal not found.

NameTypeReqDescription
idintegeryes
NameTypeReqDescription
action_hint
asset
asset_class
calibration_inverted_in_cellboolean
channel
confidence
confidence_revised_by_corroboration
confidence_status
confidence_suppressed_reason
content
conviction
coordinated_pump_prob
corroboratedboolean
directionstringyes
disclaimer
expected_move_pct
expires_at
historical_edge
idintegeryes
invalidation_level
levels_basis
manipulation_score
model_transform
observed_behavior
observed_direction
observed_entity
paired_inverse
predicted_direction
priced_in_ret_1h_pct
priced_in_score
priced_in_vol_z
reference_price
regime_at_signal
score
signal_latency_secs
signal_typestringyes
source
sources
summarystringyes
target_level
timestampintegeryes
trade_quality_band
trade_quality_score
transform_basis
transform_sample_n
transform_validation_status
type_performance
urgency

No examples provided.

get_signal_with_context ~64

[RAW FEED — detail+context] Composite call: signal + same-asset S/R levels + active macro bias. Saves 2-3 round trips. Returns a dict (not a typed model — the composite shape varies).

NameTypeReqDescription
idintegeryes

Structured output declared, but exposes no named fields.

No examples provided.

get_signals_since ~224

[MONITORING] Polling alternative to the /stream WebSocket. Walks the signal stream in emission order (timestamp, id) from a cursor: pass `since_timestamp` (unix epoch seconds) and, to resume exactly, the `since_id` from the previous call's `cursor_id` (or parse `next_cursor` = 'timestamp:id'). Returns every signal emitted after the cursor — including ones that have since expired (see `status`) — up to `limit` (1-100, default 100), oldest first, with `has_more`. Keep calling while `has_more` is true. Free tier sees the standard delay; nothing is skipped, it arrives once the delay elapses. `server_timestamp` is still returned but is NOT a safe cursor (it moved past signals the page could not hold) — use next_cursor / cursor_timestamp + cursor_id.

NameTypeReqDescription
asset
limitinteger
signal_type
since_idinteger
since_timestampintegeryes
NameTypeReqDescription
countintegeryes
market_opens
next_cursor
server_timestamp
signalsarrayyes

No examples provided.

get_state ~145

[START HERE — coin snapshot] Unified whole-system snapshot for one coin: current price, per-coin market-state consensus (proven-voter directional read), nearest support/resistance levels, liq-map target/invalidation, and the shared macro regime (deterministic FRED composite anchor + LLM read + any divergence). One call instead of stitching get_macro + get_market_state + get_levels. Drill down only if needed: get_positioning (who is crowded), get_indicators (momentum+Fib), get_liquidation_map (magnets), get_options (vol). Pro tier. Measured + AI data, not advice.

NameTypeReqDescription
coinstring

No output schema declared.

No examples provided.

get_state_brief ~106

[DRILL-DOWN — prose brief] LLM-written 'state of <coin>' in markdown: joins the headline consensus, macro composite, levels, technical indicators and flow context into one readable analysis you can quote to a user directly (the narrative layer over get_state; the structured payload rides along in `data`). Cached 15 min server-side. Mirrors REST /state/{coin}/brief. Pro. AI-generated synthesis, not advice.

NameTypeReqDescription
coinstring

No output schema declared.

No examples provided.

get_trade_plan ~89

[STEP 2 — plan one coin] Assembled trade plan for one coin: direction, entry, strongest target, stop, risk/reward, sizing hint, options context (put/call + skew), and warnings (max-pain timing against the trade, entry near a liq cluster). Mirrors GET /plan/{coin}. Analytical, not advice.

NameTypeReqDescription
coinstringyes

No output schema declared.

No examples provided.

get_trust ~100

[FORENSICS] Trust / scam-risk screen for a token: resolves the ticker to a contract via DexScreener, then checks GoPlus Security for honeypot behavior, mint function, high taxes, and insider concentration. Run this BEFORE taking any alt-coin signal seriously — a bullish read on a honeypot is worthless. Mirrors REST /trust/{coin}. Analytical data only, not financial advice.

NameTypeReqDescription
coinstringyes

No output schema declared.

No examples provided.

get_usage ~76

[META] Your own API usage: total calls, per-day series and top endpoints over period '7d' or '30d'. Use it to budget calls — free tier check_trade is 3/day (get_check_history shows the remaining count). Mirrors REST /usage. Private to your account.

NameTypeReqDescription
periodstring

No output schema declared.

No examples provided.

health ~64

[META] Liveness + lightweight pipeline stats: uptime, signals in last 1h, current macro regime, classifier backlog. Mirrors REST GET /health with extra context. Pro-gated (per tools/call rule) — use REST /health for unauthenticated liveness.

Input schema present but exposes no named parameters.

NameTypeReqDescription
classifier_backlog_size
current_regime
fp_dedup_active
signal_count_last_1h
statusstring
timestampintegeryes
uptime_secs

No examples provided.

list_signals ~380

[RAW FEED — engine inputs, NOT trade calls] List active n0brains signals with optional filters. Filters: asset (e.g. 'ETH'), signal_type (whale|sentiment|listing|regulatory|macro|macro_pulse|liquidation|funding|hack|price|other), direction (bullish|bearish|neutral), urgency (high|medium|low), min_confidence, min_score, limit (1-100, default 20), offset. Each signal includes historical_edge, paired_inverse, signal_latency_secs, priced_in_*, calibration_inverted_in_cell. CONFIDENCE CONTRACT: confidence = calibrated empirical win-probability estimate (binned per signal_type), NOT raw model output; when confidence is null, confidence_v2 + outcome_record (2026-09-02) = this asset x type x direction x context's measured 24h outcome record with a day-clustered interval, peer rank and `distinguishable` — quote it only with its n/days/ci95; confidence_suppressed_reason says why; confidence_status is one of calibrated|floor_demoted_at_emit|suppressed_anti_predictive|demoted_anti_predictive_type. Transform emitters (whale_position leaderboard fade) carry observed_direction/observed_behavior/model_transform/predicted_direction so the raw observation is never lost. Most rows carry action_hint=ignore — engine inputs, not calls; read historical_edge (cell win_rate) before echoing any direction. For tradeable output use get_actionable_signals.

NameTypeReqDescription
asset
direction
limit
min_confidencenumber
min_scorenumber
offsetinteger
signal_type
urgency
NameTypeReqDescription
countintegeryes
market_opens
next_cursor
server_timestamp
signalsarrayyes

No examples provided.

log_trade ~243

[JOURNAL] Log a REAL trade entry into your private n0brains journal the moment it fills. Give asset + side (long/short); optionally entry (defaults to live price), stop, target, size_usd, leverage, thesis (why you took it). n0brains snapshots full entry conditions automatically (grade, flags, positioning, regime — an internal check_trade) so nothing needs hand-transcribing. HISTORICAL backfill: pass opened_at (epoch seconds of the real fill) + explicit entry; the entry grade is then taken from YOUR check_trade nearest the fill (±6h, same asset+side) — the read you actually got at the time, never re-graded on today's tape; no matched check = ungraded. Close with close_trade; read back with get_journal. Returns trade_id + the entry assessment. Journal is private to your account. Pro.

NameTypeReqDescription
assetstringyes
entry
leverage
opened_at
sidestringyes
size_usd
stop
target
thesis

No output schema declared.

No examples provided.

Common questions

What is the com.n0brains/mcp server?

com.n0brains/mcp is listed in the public MCP registry as com.n0brains/mcp. Self-routing market intel for agents: A-F trade checks, one-call briefs, real liq maps, proof board. This page covers its hosted endpoint (https://api.n0brains.com/mcp/).

Is the com.n0brains/mcp server safe to use?

com.n0brains/mcp scores 84 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the com.n0brains/mcp server expose?

com.n0brains/mcp exposes 52 tools: list_signals, get_signal, get_signals_since, get_signal_with_context, find_similar_signals, and 47 more. Their descriptions and schemas cost roughly 6,544 tokens of context every time the server is loaded.

Does the com.n0brains/mcp server require authentication?

Yes. com.n0brains/mcp asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

Is the com.n0brains/mcp server still maintained?

com.n0brains/mcp is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.