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
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
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
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
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
claude mcp add --transport http com-n0brains-mcp 'https://api.n0brains.com/mcp/'
{
"mcpServers": {
"com-n0brains-mcp": {
"url": "https://api.n0brains.com/mcp/"
}
}
} {
"servers": {
"com-n0brains-mcp": {
"type": "http",
"url": "https://api.n0brains.com/mcp/"
}
}
} [mcp_servers.com-n0brains-mcp] url = "https://api.n0brains.com/mcp/"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-n0brains-mcp": {
"type": "remote",
"url": "https://api.n0brains.com/mcp/",
"enabled": true
}
}
} openclaw mcp add com-n0brains-mcp --url 'https://api.n0brains.com/mcp/' --transport streamable-http
mcp_servers:
com-n0brains-mcp:
url: "https://api.n0brains.com/mcp/" {
"McpServers": {
"com-n0brains-mcp": {
"Transport": "http",
"Url": "https://api.n0brains.com/mcp/"
}
}
} assistant mcp add com-n0brains-mcp -t streamable-http -u 'https://api.n0brains.com/mcp/'
{
"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.
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
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 |
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 →
amend_trade 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.
| Name | Type | Req | Description |
|---|---|---|---|
| correct_entry | boolean | – | – |
| entry | – | – | – |
| leverage | – | – | – |
| size_usd | – | – | – |
| stop | – | – | – |
| target | – | – | – |
| thesis | – | – | – |
| trade_id | integer | yes | – |
No output schema declared.
No examples provided.
check_trade 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.
| Name | Type | Req | Description |
|---|---|---|---|
| asset | string | yes | – |
| entry | – | – | – |
| horizon_hours | integer | – | – |
| leverage | – | – | – |
| side | string | yes | – |
| stop | – | – | – |
| target | – | – | – |
No output schema declared.
No examples provided.
close_trade 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.
| Name | Type | Req | Description |
|---|---|---|---|
| closed_at | – | – | – |
| exit_price | – | – | – |
| note | – | – | – |
| trade_id | integer | yes | – |
No output schema declared.
No examples provided.
find_similar_signals 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.
| Name | Type | Req | Description |
|---|---|---|---|
| coin | – | – | – |
| k | integer | – | – |
| q | – | – | – |
No output schema declared.
No examples provided.
get_actionable_signals 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.
| Name | Type | Req | Description |
|---|---|---|---|
| asset | – | – | – |
| max_age_min | – | – | – |
| min_confidence | – | – | – |
| min_score | – | – | – |
| signal_type | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| count | integer | yes | – |
| market_opens | – | – | – |
| next_cursor | – | – | – |
| server_timestamp | – | – | – |
| signals | array | yes | – |
No examples provided.
get_anti_predictive_cells 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.
| Name | Type | Req | Description |
|---|---|---|---|
| as_of | – | – | – |
| cell_stats_path | string | – | – |
| cells | array | yes | – |
| note | string | – | – |
No examples provided.
get_asset_class_proof 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.
| Name | Type | Req | Description |
|---|---|---|---|
| asset_class | string | yes | – |
No output schema declared.
No examples provided.
get_check_history 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 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 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}.
| Name | Type | Req | Description |
|---|---|---|---|
| coin | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| coin | string | yes | – |
| disclaimer | – | – | – |
| least_correlated | array | – | – |
| most_correlated | array | – | – |
| to_btc | – | – | – |
| to_eth | – | – | – |
No examples provided.
get_cross_asset_flows 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 Discover Capabilities ~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 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.
| Name | Type | Req | Description |
|---|---|---|---|
| days_ahead | – | – | – |
| days_back | – | – | – |
| event_class | – | – | – |
No output schema declared.
No examples provided.
get_event_outlook 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.
| Name | Type | Req | Description |
|---|---|---|---|
| days_ahead | – | – | – |
No output schema declared.
No examples provided.
get_indicators Technical 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.
| Name | Type | Req | Description |
|---|---|---|---|
| coin | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_journal Trade 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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| status | string | – | – |
No output schema declared.
No examples provided.
get_levels Support & Resistance 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}.
| Name | Type | Req | Description |
|---|---|---|---|
| coin | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| all_resistance | array | – | – |
| all_support | array | – | – |
| coin | string | yes | – |
| current_price | number | yes | – |
| nearest_resistance | – | – | – |
| nearest_support | – | – | – |
| structure | – | – | – |
| timeframes | array | – | – |
| trend_state | – | – | – |
No examples provided.
get_liquidation_map 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}.
| Name | Type | Req | Description |
|---|---|---|---|
| coin | string | yes | – |
No output schema declared.
No examples provided.
get_liquidity_map 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 Long/Short Ratio ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| coin | string | yes | – |
| days | – | – | – |
No output schema declared.
No examples provided.
get_macro Macro Conditions ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| current | – | yes | – |
| history | – | – | – |
| history_note | – | – | – |
No examples provided.
get_macro_aligned_signals 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.
| Name | Type | Req | Description |
|---|---|---|---|
| asset | – | – | – |
| limit | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| count | integer | yes | – |
| market_opens | – | – | – |
| next_cursor | – | – | – |
| server_timestamp | – | – | – |
| signals | array | yes | – |
No examples provided.
get_manipulation Manipulation Scan ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| coin | string | yes | – |
No output schema declared.
No examples provided.
get_market_analogs Historical 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.
| Name | Type | Req | Description |
|---|---|---|---|
| k | – | – | – |
No output schema declared.
No examples provided.
get_market_brief 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.
| Name | Type | Req | Description |
|---|---|---|---|
| coin | – | – | – |
No output schema declared.
No examples provided.
get_market_opens 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.
| Name | Type | Req | Description |
|---|---|---|---|
| market_opens | object | yes | – |
No examples provided.
get_market_regime 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 Mindshare Rankings ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| assets | array | – | – |
| disclaimer | – | – | – |
| sufficient_data | boolean | – | – |
| total_mentions | integer | – | – |
No examples provided.
get_mindshare_coin Coin Mindshare ~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}.
| Name | Type | Req | Description |
|---|---|---|---|
| coin | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| coin | string | yes | – |
| disclaimer | – | – | – |
| mindshare_pct | – | – | – |
| rank | – | – | – |
| sufficient_data | boolean | – | – |
| trend | – | – | – |
| velocity | – | – | – |
No examples provided.
get_narrative Narrative Scan ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| coin | string | yes | – |
No output schema declared.
No examples provided.
get_options Options & Volatility ~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}.
| Name | Type | Req | Description |
|---|---|---|---|
| coin | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| atm_iv | – | – | – |
| coin | string | yes | – |
| disclaimer | – | – | – |
| max_pain | – | – | – |
| put_call_oi_ratio | – | – | – |
| skew | – | – | – |
| spot | – | – | – |
| term_structure | – | – | – |
No examples provided.
get_performance Signal 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.
| Name | Type | Req | Description |
|---|---|---|---|
| days | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| days | integer | yes | – |
No examples provided.
get_playbook Agent 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 Positioning & Crowding ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| coin | string | – | – |
No output schema declared.
No examples provided.
get_price 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.
| Name | Type | Req | Description |
|---|---|---|---|
| coin | string | yes | – |
No output schema declared.
No examples provided.
get_prices 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}.
| Name | Type | Req | Description |
|---|---|---|---|
| coins | string | yes | – |
No output schema declared.
No examples provided.
get_proof Proof & Track Record ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| asset_class | – | – | – |
| horizon | – | – | – |
No output schema declared.
No examples provided.
get_rotation Sector 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.
| Name | Type | Req | Description |
|---|---|---|---|
| breadth | – | – | – |
| disclaimer | – | – | – |
| regime | – | – | – |
| rotation_score | – | – | – |
| sufficient_data | boolean | – | – |
| top_rotating_in | array | – | – |
| top_rotating_out | array | – | – |
No examples provided.
get_sentiment 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}.
| Name | Type | Req | Description |
|---|---|---|---|
| coin | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| accelerating | – | – | – |
| coin | string | yes | – |
| disclaimer | – | – | – |
| lean | – | – | – |
| net_sentiment | – | – | – |
| sufficient_data | boolean | – | – |
| top_sources | array | – | – |
| velocity | – | – | – |
| volume | integer | – | – |
No examples provided.
get_signal 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.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| action_hint | – | – | – |
| asset | – | – | – |
| asset_class | – | – | – |
| calibration_inverted_in_cell | boolean | – | – |
| channel | – | – | – |
| confidence | – | – | – |
| confidence_revised_by_corroboration | – | – | – |
| confidence_status | – | – | – |
| confidence_suppressed_reason | – | – | – |
| content | – | – | – |
| conviction | – | – | – |
| coordinated_pump_prob | – | – | – |
| corroborated | boolean | – | – |
| direction | string | yes | – |
| disclaimer | – | – | – |
| expected_move_pct | – | – | – |
| expires_at | – | – | – |
| historical_edge | – | – | – |
| id | integer | yes | – |
| 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_type | string | yes | – |
| source | – | – | – |
| sources | – | – | – |
| summary | string | yes | – |
| target_level | – | – | – |
| timestamp | integer | yes | – |
| trade_quality_band | – | – | – |
| trade_quality_score | – | – | – |
| transform_basis | – | – | – |
| transform_sample_n | – | – | – |
| transform_validation_status | – | – | – |
| type_performance | – | – | – |
| urgency | – | – | – |
No examples provided.
get_signal_with_context 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).
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_signals_since 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.
| Name | Type | Req | Description |
|---|---|---|---|
| asset | – | – | – |
| limit | integer | – | – |
| signal_type | – | – | – |
| since_id | integer | – | – |
| since_timestamp | integer | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| count | integer | yes | – |
| market_opens | – | – | – |
| next_cursor | – | – | – |
| server_timestamp | – | – | – |
| signals | array | yes | – |
No examples provided.
get_state Asset 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.
| Name | Type | Req | Description |
|---|---|---|---|
| coin | string | – | – |
No output schema declared.
No examples provided.
get_state_brief Asset 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.
| Name | Type | Req | Description |
|---|---|---|---|
| coin | string | – | – |
No output schema declared.
No examples provided.
get_trade_plan 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.
| Name | Type | Req | Description |
|---|---|---|---|
| coin | string | yes | – |
No output schema declared.
No examples provided.
get_trust Token Trust Scan ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| coin | string | yes | – |
No output schema declared.
No examples provided.
get_usage API 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.
| Name | Type | Req | Description |
|---|---|---|---|
| period | string | – | – |
No output schema declared.
No examples provided.
health Server 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.
| Name | Type | Req | Description |
|---|---|---|---|
| classifier_backlog_size | – | – | – |
| current_regime | – | – | – |
| fp_dedup_active | – | – | – |
| signal_count_last_1h | – | – | – |
| status | string | – | – |
| timestamp | integer | yes | – |
| uptime_secs | – | – | – |
No examples provided.
list_signals 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.
| Name | Type | Req | Description |
|---|---|---|---|
| asset | – | – | – |
| direction | – | – | – |
| limit | – | – | – |
| min_confidence | number | – | – |
| min_score | number | – | – |
| offset | integer | – | – |
| signal_type | – | – | – |
| urgency | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| count | integer | yes | – |
| market_opens | – | – | – |
| next_cursor | – | – | – |
| server_timestamp | – | – | – |
| signals | array | yes | – |
No examples provided.
log_trade 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.
| Name | Type | Req | Description |
|---|---|---|---|
| asset | string | yes | – |
| entry | – | – | – |
| leverage | – | – | – |
| opened_at | – | – | – |
| side | string | yes | – |
| size_usd | – | – | – |
| stop | – | – | – |
| target | – | – | – |
| thesis | – | – | – |
No output schema declared.
No examples provided.
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.