snowsignals

Market-phase classifications over a metered API — phase events per currency and timeframe.

Should I use this

Quality & Safety

B
Description quality
100%
Schema completeness
64%
Naming quality
78%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (1)

  • LOWTool 'trendvane_phase_resolution_stats' name length outside 3-30 rangein trendvane_phase_resolution_stats

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,358Tokens (tool definitions)
~573 BTypical response size
Moderate attention impact (1.06% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "snowsignals": {
      "url": "https://snowsignals.io/mcp"
    }
  }
}

Remote endpoints

https://snowsignals.io/mcpstreamable-http

What it can do

Tool inventory

Tools (9)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢trendvane_list_phase_meta

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.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢trendvane_phase_resolution_stats

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.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢system_get_notifications(category, cursor)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "category": {
      "type": "string",
      "enum": [
        "support",
        "billing"
      ],
      "description": "Drill into one category."
    },
    "cursor": {
      "type": "string",
      "description": "Opaque pagination cursor from a previous nextCursor (requires category)."
    }
  }
}
🟢system_get_balance

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.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢system_get_usage(limit, before)

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.

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_deposit_poll

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.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢trendvane_get_phase(currency, kind, tf)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "currency": {
      "type": "string",
      "description": "The currency to classify. Call trendvane_list_phase_meta for the enabled set."
    },
    "kind": {
      "type": "string",
      "enum": [
        "boundary",
        "updates"
      ],
      "description": "'boundary' = the settled reading from the last closed bar; 'updates' = the live reading still forming in the current bar."
    },
    "tf": {
      "type": "string",
      "enum": [
        "15m",
        "1h",
        "2h",
        "4h",
        "1d",
        "1w",
        "all"
      ],
      "description": "Timeframe; omit or 'all' for every enabled timeframe."
    }
  },
  "required": [
    "currency",
    "kind"
  ]
}
🟢trendvane_compose_phases(currencies, tfs, kind)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "currencies": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "tfs": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "15m",
          "1h",
          "2h",
          "4h",
          "1d",
          "1w"
        ]
      }
    },
    "kind": {
      "type": "string",
      "enum": [
        "boundary",
        "updates"
      ],
      "description": "'boundary' = the settled reading from the last closed bar; 'updates' = the live reading still forming in the current bar."
    }
  },
  "required": [
    "currencies",
    "tfs",
    "kind"
  ]
}
🟢bfxpremium_get_premium(updates)

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.

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."
    }
  }
}

Recommended Prompts

retrieve_data
Get details about [item] from snowsignals
Expected tools: system_get_notifications
fetch_info
Fetch [information type] using snowsignals
Expected tools: system_get_notifications
list_items
List all [items] available in snowsignals
Expected tools: trendvane_list_phase_meta
browse_collection
Show me the [collection] from snowsignals
Expected tools: trendvane_list_phase_meta
explore_workflow
List available [items], then get details for each one using snowsignals
Expected tools: trendvane_list_phase_metasystem_get_notifications

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded9 tools
verifiedversion not recorded9 tools