BRS Signals
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Bitcoin market-signal research using mempool, funding and flow observations with a public rejection funnel.
| Author | brssignals |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 145 ms |
| Last measured | 2026-10-26 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"BRS Signals": {
"url": "https://brs-signals.com/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (5)
brs_market_stateread-onlyCanonical current market posture. Call this FIRST. Bundles the three public, keyless reads into one call: - regime structure (which game the market is playing) - three-eye convergence (how much the sensors agree) - system health (whether the instrument is operational) Returns market_structure, convergence, and system_health together with their as_of timestamps. If any read is stale or a sensor is down, that changes what every other answer means — check health before trusting a directional read. Free tier, no API key required.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
brs_decision_contextread-onlyDirectional market context with evidence and caveats (Pro tier). Returns the current posture (bullish / bearish / WAIT) with the regime and zone it was read in, the reason, confidence, btc_price and timestamp. WAIT is the most common answer and means no edge is visible — it is context, not an instruction. Confidence is normalised against how much evidence was reachable: sent signals typically land 0.30–0.50, so compare against that distribution, not 1.0. Suppressed reads are shown (suppressed=true), never hidden. Payment (BRS-017): this is the metered Pro posture and is payable per-call via x402. Call it with no tx_signature first — if the result is status='error' with error.code='PAYMENT_REQUIRED', inspect error.payment: that carries the exact amount, currency, asset, networks, recipient, expiry and request_digest needed to build the settlement. Pay on an advertised rail, then re-call with the tx_signature (and matching chain/ref) to get the metered result. Retries are idempotent — the same tx_signature is never charged twice. A Pro key (BRS_API_KEY or a per-client key) skips payment entirely. Spend caps: max 3 re-calls per request; enforce your own max-per-call/max-per-day policy against error.payment before paying. Args: tx_signature: The signed x402 settlement tx from a prior payment. Empty on first call (you will receive the challenge instead). chain: Rail you paid on — "solana" or "base". Default "solana". ref: Optional attribution tag carried through to the payment ledger.
Parameters:
ref— stringchain— stringtx_signature— string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
brs_audit_track_recordread-onlyThe public proof: every call BRS has made and what Bitcoin did next. Returns the keyless track record — each entry carries timestamp, side (bullish/bearish), price at call time, confidence, regime, zone, and resolved +4h/+24h outcomes where the paper-trading log has them (return %, worst drawdown, best upside). Outcomes are fixed once written and never re-scored, so this is auditable evidence, not marketing. This is the "don't trust us — query us" surface: no API key and no payment are required. Use it to verify the system's real silence before trusting any signal. Args: limit: Number of recent calls to return (1–500, default 100).
Parameters:
limit— integer
Hints: read-only yes · destructive no · idempotent yes · open-world yes
brs_rejection_funnelread-onlyWhy no signal? The pipeline funnel in one glance (public). Every cycle that does not become a signal died at a specific gate. This returns the cycle count at each gate in order, so an agent can draw a survival funnel and see where reads are rejected — the direct answer to "BRS rejects almost everything, prove it." Args: day: A specific UTC day (YYYY-MM-DD). Empty = today. days: Sum over the last N UTC days (e.g. 30). Ignored if day set. since: "launch" for every day on record, or a YYYY-MM-DD start date. Returns: cycles_total, emitted, signals_sent, per-gate counts, gate_order.
Parameters:
day— stringdays— integersince— string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
brs_system_statusread-onlyInstrument health, SLO standing, and the sample size behind every reading (free). Bundles two keyless reads plus a measured SLO block: - component health: collector/engine status and last-good timestamps - system counters: signals sent, data points collected, days collecting. "Signals sent" is the authoritative all-time count from decoder_decision_records — the same figure the funnel and the landing page show, so every surface agrees. - slo: status; CONFIGURED (compliance_pct + scope note) vs MEASURED (uptime_24h_pct, boot-epoch uptime, latency_ms) kept apart; an observation_window discloses the 24h coverage and flags insufficient history explicitly. compliance_pct scope is "registry metadata checks" only (see compliance_note) — NOT protocol conformance (BRS-021f: this server serves 2026-07-28 modern + legacy ≤ 2025-11-25) and NOT operational health (the measured fields above) Call this when any reading looks stale or absent, and to see exactly how small the sample behind a claim is. Small samples cannot prove an edge.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.