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 个工具