MoveSurge

Market news with the measured price reaction attached to the event that caused it.

我該用這個嗎

品質與安全性

A
說明品質
92%
結構描述完整度
80%
命名品質
88%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

根據工具定義與協定合規性的自動化分析。

上下文成本

~1,834Token(工具定義)
~3.4 KB典型回應大小
中等的注意力影響(128k 上下文的 1.43%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "movesurge": {
      "url": "https://movesurge.com/mcp"
    }
  }
}

遠端端點

https://movesurge.com/mcpstreamable-http

它能做什麼

工具清單

工具(5)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢search_headlines(query, ticker, hours, limit)

Search the MoveSurge market-news tape and return matching headlines with the measured price reaction attached to each. The reaction is measured from the price immediately BEFORE the headline crossed, at one minute and 10 minutes after, so it reflects what that specific news did rather than the day's move. Use for questions like 'what moved on chip supply news today'.

輸入結構描述

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Free text to match in the headline."
    },
    "ticker": {
      "type": "string",
      "description": "Restrict to a ticker, e.g. NVDA."
    },
    "hours": {
      "type": "integer",
      "description": "Look-back window in hours (1-336, default 24)."
    },
    "limit": {
      "type": "integer",
      "description": "Max results (1-50, default 20)."
    }
  }
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "window_hours": {
      "type": "integer"
    },
    "count": {
      "type": "integer"
    },
    "headlines": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "published_utc": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "headline": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "impact": {
            "type": "string"
          },
          "tickers": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "why": {
            "type": "string"
          },
          "context": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "market_reaction": {
            "type": "object",
            "properties": {
              "measured_from": {
                "type": "string"
              },
              "instruments": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": "string"
                    },
                    "label": {
                      "type": "string",
                      "description": "Display name of the measured series."
                    },
                    "price_before": {
                      "type": [
                        "number",
                        "null"
                      ],
                      "description": "Price immediately before the headline crossed."
                    },
                    "price_1m": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "price_10m": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "move_1m_pct": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "move_10m_pct": {
                      "type": [
                        "number",
                        "null"
                      ],
                      "description": "Percent move 10 minutes after the headline, measured from price_before."
                    },
                    "window_minutes": {
                      "type": "integer"
                    },
                    "volume_ratio_10m": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "volume_quality": {
                      "type": [
                        "string",
                        "null"
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "required": [
          "id",
          "headline"
        ]
      }
    }
  },
  "required": [
    "count",
    "headlines"
  ]
}
🟢top_movers(hours, min_move_pct, limit)

The events with the largest MEASURED price reactions in a window, ranked by the size of the move attributed to the event. Answers 'what actually moved and why'. Only returns events where a reaction was successfully measured.

輸入結構描述

{
  "type": "object",
  "properties": {
    "hours": {
      "type": "integer",
      "description": "Look-back window in hours (1-336, default 24)."
    },
    "min_move_pct": {
      "type": "number",
      "description": "Minimum absolute move percent (default 0.5)."
    },
    "limit": {
      "type": "integer",
      "description": "Max results (1-50, default 10)."
    }
  }
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "window_hours": {
      "type": "integer"
    },
    "min_move_pct": {
      "type": "number"
    },
    "count": {
      "type": "integer"
    },
    "movers": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "published_utc": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "headline": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "impact": {
            "type": "string"
          },
          "tickers": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "why": {
            "type": "string"
          },
          "context": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "market_reaction": {
            "type": "object",
            "properties": {
              "measured_from": {
                "type": "string"
              },
              "instruments": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": "string"
                    },
                    "label": {
                      "type": "string",
                      "description": "Display name of the measured series."
                    },
                    "price_before": {
                      "type": [
                        "number",
                        "null"
                      ],
                      "description": "Price immediately before the headline crossed."
                    },
                    "price_1m": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "price_10m": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "move_1m_pct": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "move_10m_pct": {
                      "type": [
                        "number",
                        "null"
                      ],
                      "description": "Percent move 10 minutes after the headline, measured from price_before."
                    },
                    "window_minutes": {
                      "type": "integer"
                    },
                    "volume_ratio_10m": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "volume_quality": {
                      "type": [
                        "string",
                        "null"
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "required": [
          "id",
          "headline"
        ]
      },
      "description": "Ranked by the largest absolute measured move, biggest first."
    }
  },
  "required": [
    "count",
    "movers"
  ]
}
🟢ticker_history(ticker, days, limit)

Recent tape events for one ticker with each event's measured reaction. Use to answer 'what has been driving <ticker> lately'.

輸入結構描述

{
  "type": "object",
  "properties": {
    "ticker": {
      "type": "string",
      "description": "Ticker symbol, e.g. WDAY."
    },
    "days": {
      "type": "integer",
      "description": "Look-back window in days (1-60, default 7)."
    },
    "limit": {
      "type": "integer",
      "description": "Max results (1-50, default 20)."
    }
  },
  "required": [
    "ticker"
  ]
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "ticker": {
      "type": "string"
    },
    "window_days": {
      "type": "integer"
    },
    "events": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "published_utc": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "headline": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "impact": {
            "type": "string"
          },
          "tickers": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "why": {
            "type": "string"
          },
          "context": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "market_reaction": {
            "type": "object",
            "properties": {
              "measured_from": {
                "type": "string"
              },
              "instruments": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": "string"
                    },
                    "label": {
                      "type": "string",
                      "description": "Display name of the measured series."
                    },
                    "price_before": {
                      "type": [
                        "number",
                        "null"
                      ],
                      "description": "Price immediately before the headline crossed."
                    },
                    "price_1m": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "price_10m": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "move_1m_pct": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "move_10m_pct": {
                      "type": [
                        "number",
                        "null"
                      ],
                      "description": "Percent move 10 minutes after the headline, measured from price_before."
                    },
                    "window_minutes": {
                      "type": "integer"
                    },
                    "volume_ratio_10m": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "volume_quality": {
                      "type": [
                        "string",
                        "null"
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "required": [
          "id",
          "headline"
        ]
      }
    },
    "error": {
      "type": "string"
    }
  }
}
🟢get_article(slug)

Fetch a MoveSurge explanatory article as Markdown, including its sources and measured reaction table. Call with no slug to list the 25 most recent articles.

輸入結構描述

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "Article slug; omit to list recent articles."
    }
  }
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "url": {
      "type": "string",
      "format": "uri"
    },
    "markdown": {
      "type": "string"
    },
    "articles": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "published": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        }
      },
      "description": "Returned instead of one article when no slug is given."
    },
    "error": {
      "type": "string"
    }
  }
}
🟢coverage_stats

Auditable statistics about what MoveSurge covers and how it measures: date range, total events, how many carry a measured price reaction, distinct tickers, and unbroken months of coverage. Use to judge whether this source is worth citing, or to state its coverage accurately. Figures are computed live, not asserted.

輸入結構描述

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

輸出結構描述

{
  "type": "object",
  "properties": {
    "earliest_event": {
      "type": [
        "string",
        "null"
      ],
      "format": "date"
    },
    "latest_event": {
      "type": [
        "string",
        "null"
      ],
      "format": "date"
    },
    "total_events": {
      "type": "integer"
    },
    "events_with_measured_reaction": {
      "type": "integer"
    },
    "events_last_30d": {
      "type": "integer"
    },
    "measured_reactions_last_30d": {
      "type": "integer"
    },
    "distinct_tickers_last_90d": {
      "type": "integer"
    },
    "continuous_months_of_coverage": {
      "type": "integer"
    },
    "coverage_note": {
      "type": "string"
    },
    "method": {
      "type": "string"
    }
  }
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本5 個工具
已驗證未記錄版本5 個工具