Koskamo

SnowSignals MCP

An official MCP server by SnowSignals exposing the TrendVane market-phase model and Bitfinex Premium feeds. It allows agents to retrieve market phase classifications for various cryptocurrencies and timeframes, access phase resolution statistics, and manage account balances and usage via OAuth authentication.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

SnowSignals MCP logo, by SnowSignalsVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-06Operated by SnowSignals
You need:OAuth bearer (daas:read)sign in to the web dashboard
MCP endpoint (Streamable HTTP)
https://snowsignals.io/mcp
Vendor documentation

What its tools do

9 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

Can change data (1)

9 of 9 have a description · 9 of 9 declare behavior hints · 4 of 5 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to snowsignals.io ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Retrieve current market phase for a cryptocurrency
  • Access phase resolution statistics and transition probabilities
  • Check prepaid account balance and usage history
  • Poll for stablecoin deposit confirmation

Source and maintenance

Vendor evidenceRegistry 1.0.0

Protocol and capabilities

Server
SnowSignals 1.0.0
MCP protocol negotiated in check
2025-11-25
Tools
9 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {}
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

SnowSignals is a market-data platform (data-as-a-service). This server exposes TrendVane — its multi-timeframe market-phase model, one of several SnowSignals data products (more, including exchange-premium feeds and partner signals, are added over time). A TrendVane 'phase' labels the current market state for a currency on a timeframe. TrendVane reports state, not a forecast or a trade signal: it names which phase the market is in, not what to do about it, so you bring your own strategy. (Signal products under SnowSignals, like the exchange-premium feeds noted above, are a different thing; TrendVane is deliberately not one.) Call trendvane_list_phase_meta first for the enabled phases, timeframes and currencies. Read live phases with trendvane_get_phase / trendvane_compose_phases: 'boundary' is the last closed-bar deterministic truth, 'updates' is the intra-bar read. To INTERPRET a phase — what it implies and how it typically resolves — call trendvane_phase_resolution_stats: it returns successor-phase transition probabilities, trend-continuation rates, and reward-vs-drawdown (MFE/MAE) per phase (a BTC research model over the current market regime, 2022–2026 — every number carries its count, no hidden n). trendvane_list_phase_meta and trendvane_phase_resolution_stats are free and need no authentication — call them first, even before OAuth. trendvane_list_phase_meta also carries the pricing model (base rate and multiplier tiers), so you can work out what a metered call costs before making it. system_get_notifications, system_get_balance and system_get_usage are unmetered but read your own account, so they require your credential. system_get_balance also lists the deposit addresses on your account; to add one, sign in to the web dashboard. After you send a deposit, call system_deposit_poll so a lagging hot wallet notices it sooner. trendvane_get_phase and trendvane_compose_phases are metered per call. SnowSignals also offers Bitfinex Premium, a cross-exchange premium and stress-regime reading for BTC (the exchange-premium feed noted above). Call bfxpremium_get_premium for the latest closed daily residual (in basis points) and its regime state; pass updates=true to also append the rolling intra-day reading. It is metered flat — one fixed charge per call, the same whether or not you pass updates and whether or not the reading is cached. If a required venue is unavailable the call returns an error and is not charged.

Tools

9 advertised

trendvane_list_phase_meta
Advertised by the server during the last successful anonymous check.
Advertised read-only

The tool to call first, and it's free with no account. Lists the phases the model can report, the timeframes and currencies covered, and a short card for each phase explaining what it means and what tends to come next. Also returns the current pricing, so you can work out what a paid call costs before you make one.

trendvane_list_phase_meta input schema
{
  "type": "object",
  "properties": {}
}
trendvane_list_phase_meta annotations
{
  "title": "List Phase Metadata",
  "readOnlyHint": true
}
trendvane_phase_resolution_stats
Advertised by the server during the last successful anonymous check.
Advertised read-only

Free, and how you read meaning into a phase. For each one it shows what usually happens next, how often a trend keeps running, and how the typical move rewarded you against how far it drew down first. Every figure comes with the number of past cases behind it. It's a behavior model built from years of Bitcoin history, not live per-coin data, so pair it with trendvane_get_phase.

trendvane_phase_resolution_stats input schema
{
  "type": "object",
  "properties": {}
}
trendvane_phase_resolution_stats annotations
{
  "title": "Phase Resolution Statistics",
  "readOnlyHint": true
}
system_get_notifications
Advertised by the server during the last successful anonymous check.
Advertised read-only

Read your account messages: support, billing, and account notices. With no arguments you get the ten most recent in each group, each with a cursor; pass a category and cursor to page further back. It's read-only and free, and it never marks anything as read. Security alerts aren't available here, and any group you've switched off for API access won't show up.

system_get_notifications input schema
{
  "type": "object",
  "properties": {
    "cursor": {
      "type": "string",
      "description": "Opaque pagination cursor from a previous nextCursor (requires category)."
    },
    "category": {
      "enum": [
        "support",
        "billing"
      ],
      "type": "string",
      "description": "Drill into one category."
    }
  }
}
system_get_notifications annotations
{
  "title": "Get Notifications",
  "readOnlyHint": true
}
system_get_balance
Advertised by the server during the last successful anonymous check.
Advertised read-only

Check your prepaid balance before a paid call. Shows the credit you have left to spend, anything on hold, any bonus credit and when it expires, whether the account is paused, the current pricing, and the deposit addresses on your account. It's free. If you run out, paid calls are turned away until you top up. To add a deposit address, sign in to the web dashboard.

system_get_balance input schema
{
  "type": "object",
  "properties": {}
}
system_get_balance annotations
{
  "title": "Get Account Balance",
  "readOnlyHint": true
}
system_get_usage
Advertised by the server during the last successful anonymous check.
Advertised read-only

Your history of paid calls, newest first. For each one it shows which tool you used, the coins and timeframes, how much data came back, and what it cost. Free. Page back through older calls with `before`, using the cursor the previous page returned.

system_get_usage input schema
{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "description": "Rows per page (1–200, default 50)."
    },
    "before": {
      "type": "integer",
      "description": "id cursor from a previous page's nextBefore (older rows)."
    }
  }
}
system_get_usage annotations
{
  "title": "Get Usage Log",
  "readOnlyHint": true
}
system_deposit_poll
Advertised by the server during the last successful anonymous check.

Call this right after you send a stablecoin deposit to have it picked up sooner: it tells the system to check your deposit addresses now. It moves no money and is free. If it comes back with nothing, you don't have a deposit address yet, so add one from the web dashboard.

system_deposit_poll input schema
{
  "type": "object",
  "properties": {}
}
system_deposit_poll annotations
{
  "title": "Poll for Deposit",
  "readOnlyHint": false
}
trendvane_get_phase
Advertised by the server during the last successful anonymous check.
Advertised read-only

Get the current market phase for one coin, across a timeframe. This is a paid call. Set `kind` to 'boundary' for the reading from the last closed bar, which is settled and won't change, or 'updates' for the live reading still forming inside the current bar. Leave `tf` off, or set it to 'all', for every timeframe.

trendvane_get_phase input schema
{
  "type": "object",
  "required": [
    "currency",
    "kind"
  ],
  "properties": {
    "tf": {
      "enum": [
        "15m",
        "1h",
        "2h",
        "4h",
        "1d",
        "1w",
        "all"
      ],
      "type": "string",
      "description": "Timeframe; omit or 'all' for every enabled timeframe."
    },
    "kind": {
      "enum": [
        "boundary",
        "updates"
      ],
      "type": "string",
      "description": "'boundary' = the settled reading from the last closed bar; 'updates' = the live reading still forming in the current bar."
    },
    "currency": {
      "type": "string",
      "description": "The currency to classify. Call trendvane_list_phase_meta for the enabled set."
    }
  }
}
trendvane_get_phase annotations
{
  "title": "Get Phase Classification",
  "readOnlyHint": true
}
trendvane_compose_phases
Advertised by the server during the last successful anonymous check.
Advertised read-only

Get phases for several coins and timeframes in one paid call. Set `kind` to 'boundary' for the settled last-closed-bar reading or 'updates' for the still-forming one. The cost scales with how many readings come back, which is your coins times your timeframes.

trendvane_compose_phases input schema
{
  "type": "object",
  "required": [
    "currencies",
    "tfs",
    "kind"
  ],
  "properties": {
    "tfs": {
      "type": "array",
      "items": {
        "enum": [
          "15m",
          "1h",
          "2h",
          "4h",
          "1d",
          "1w"
        ],
        "type": "string"
      }
    },
    "kind": {
      "enum": [
        "boundary",
        "updates"
      ],
      "type": "string",
      "description": "'boundary' = the settled reading from the last closed bar; 'updates' = the live reading still forming in the current bar."
    },
    "currencies": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  }
}
trendvane_compose_phases annotations
{
  "title": "Compose Phase Classifications",
  "readOnlyHint": true
}
bfxpremium_get_premium
Advertised by the server during the last successful anonymous check.
Advertised read-only

Get the Bitfinex cross-exchange premium for BTC: the latest CLOSED daily residual (in basis points) and its regime state (calm, building, or stress). This is a paid call at a flat per-call price. Set `updates` to true to also append the rolling intra-day reading from the last closed sub-daily bucket; the price is the same either way. If a required exchange is unavailable the call returns an error and is not charged.

bfxpremium_get_premium input schema
{
  "type": "object",
  "properties": {
    "updates": {
      "type": "boolean",
      "description": "Set true to append the rolling intra-day reading (the last closed sub-daily bucket) to the daily reading. Defaults to false."
    }
  }
}
bfxpremium_get_premium annotations
{
  "title": "Get Bitfinex Premium",
  "readOnlyHint": true
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (2 of 2 answered).

  1. 2026-11-07: 2 of 2 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
1122 ms
95th percentile latency
1122 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 1122 ms · metadata changed · 9 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http snowsignals-mcp https://snowsignals.io/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add snowsignals-mcp --url https://snowsignals.io/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable snowsignals-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "snowsignals-mcp": {
      "url": "https://snowsignals.io/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "snowsignals-mcp": {
      "type": "streamableHttp",
      "url": "https://snowsignals.io/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start snowsignals-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "snowsignals-mcp": {
      "type": "http",
      "url": "https://snowsignals.io/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http snowsignals-mcp https://snowsignals.io/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://snowsignals.io/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "snowsignals-mcp": {
      "serverUrl": "https://snowsignals.io/mcp"
    }
  }
}

Let your agent find its tools

Find servers like SnowSignals MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run SnowSignals MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing