
Market news with the measured price reaction attached to the event that caused it.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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 come from the database and are cached; reaction_count_definition explains the historical counters.
This tool takes no arguments.
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 come from the database and are cached; reaction_count_definition explains the historical counters.
No arguments.
{
"type": "object",
"properties": {}
}Reported earnings with EPS and revenue against the consensus estimate, the beat/miss outcome, guidance direction and, where measured, the price reaction to the release; plus who reports next. Use for 'did NVDA beat', 'how did the stock react to earnings' or 'who reports this week'.
| Argument | Type | Description |
|---|---|---|
| hours | integer | Results look-back in hours (1-336, default 72). |
| limit | integer | Max rows per list (1-50, default 20). |
| screen | string | Compare EPS surprises with the issuer's own price response, or opposite EPS/revenue surprises. Screens inspect up to 200 recent earnings; missing prices cannot match a price screen. Default all. |
| ticker | string | Restrict to one ticker, e.g. NKE. |
| end_utc | string | Exclusive end timestamp with timezone. Overrides the relative look-back window. |
| start_utc | string | Inclusive start timestamp with timezone, e.g. 2026-10-14T00:00:00-04:00. |
| days_ahead | integer | Upcoming reports window in days (0-14, default 7; 0 skips it). |
{
"type": "object",
"properties": {
"hours": {
"type": "integer",
"description": "Results look-back in hours (1-336, default 72)."
},
"limit": {
"type": "integer",
"description": "Max rows per list (1-50, default 20)."
},
"screen": {
"enum": [
"all",
"beat_then_fell",
"miss_then_rose",
"mixed_results"
],
"type": "string",
"description": "Compare EPS surprises with the issuer's own price response, or opposite EPS/revenue surprises. Screens inspect up to 200 recent earnings; missing prices cannot match a price screen. Default all."
},
"ticker": {
"type": "string",
"description": "Restrict to one ticker, e.g. NKE."
},
"end_utc": {
"type": "string",
"description": "Exclusive end timestamp with timezone. Overrides the relative look-back window."
},
"start_utc": {
"type": "string",
"description": "Inclusive start timestamp with timezone, e.g. 2026-10-14T00:00:00-04:00."
},
"days_ahead": {
"type": "integer",
"description": "Upcoming reports window in days (0-14, default 7; 0 skips it)."
}
}
}Released economic data (CPI, payrolls, PMIs, central-bank decisions and more) with actual vs forecast vs previous, the surprise direction and the measured market reaction in the minutes after the release; plus the scheduled releases ahead. Defaults to high-impact releases. Use for 'what did CPI come in at and how did markets react' or 'what data is out this week'.
| Argument | Type | Description |
|---|---|---|
| hours | integer | Look back 1-1440 hours; default 48. Actual coverage is disclosed in archive_coverage. |
| limit | integer | Max rows per list (1-50, default 20). |
| query | string | Up to eight title words, e.g. CPI, payrolls, or retail sales. Filters both released and upcoming data. |
| impact | string | high (default) or all. |
| country | string | Two-letter country code, e.g. US, GB, EU, JP. |
| end_utc | string | Exclusive end timestamp with timezone. Overrides the relative look-back window. |
| start_utc | string | Inclusive start timestamp with timezone, e.g. 2026-10-14T00:00:00-04:00. |
| days_ahead | integer |
Find news where an initial price move reversed, faded by at least half, or continued by the later sample. Or find published analysis of exposure for other companies (read-through), separately from price evidence. Supports ticker, topic and dates. Uses a bounded event sample, not all stocks; returns the actual numbers and headline links, never trade recommendations.
| Argument | Type | Description |
|---|---|---|
| hours | integer | Look back 1-336 hours; default 72. |
| limit | integer | Maximum results, 1-20; default 10. |
| query | string | Up to eight headline words, all required, e.g. SpaceX. |
| screen | string | reversal crosses the original price; faded gives back at least half; continued extends the first move; read_through finds potential effects on other companies. |
| ticker | string | |
| end_utc | string | Exclusive end timestamp with timezone. Overrides the relative look-back window. |
| start_utc | string | Inclusive start timestamp with timezone, e.g. 2026-10-14T00:00:00-04:00. |
| include_thin | boolean |
Abnormal price moves that MoveSurge detected first and then investigated, each with the cause it found, the evidence, a confidence level and how the move followed through. Use for 'why did oil / the Nasdaq / a stock suddenly move' when no single headline explains it. Only moves whose cause was established with medium or high confidence are published.
| Argument | Type | Description |
|---|---|---|
| asset | string | Restrict to one instrument symbol, e.g. WTI or NQ. |
| hours | integer | Look back 1-1440 hours; default 72. Older results are historical investigations. |
| limit | integer | Max results (1-50, default 10). |
| end_utc | string | Exclusive end timestamp with timezone. Overrides the relative look-back window. |
| start_utc | string | Inclusive start timestamp with timezone, e.g. 2026-10-14T00:00:00-04:00. |
{
"type": "object",
"properties": {
"asset": {
"type": "string",
"description": "Restrict to one instrument symbol, e.g. WTI or NQ."
},
"hours": {
"type": "integer",
"description": "Look back 1-1440 hours; default 72. Older results are historical investigations."
},
"limit": {
"type": "integer",
"description": "Max results (1-50, default 10)."
},
"end_utc": {
"type": "string",
"description": "Exclusive end timestamp with timezone. Overrides the relative look-back window."
},
"start_utc": {
"type": "string",
"description": "Inclusive start timestamp with timezone, e.g. 2026-10-14T00:00:00-04:00."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| slug | string | Article slug; omit to list recent articles. |
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Article slug; omit to list recent articles."
}
}
}Search real-time financial news by words or ticker. Returns dated headlines, links and available prices before and after the news. All query words must match, in any order. Use start_utc/end_utc for a specific date. A price move alone does not prove the cause.
| Argument | Type | Description |
|---|---|---|
| hours | integer | Look-back window in hours (1-336, default 24). |
| limit | integer | Max results (1-50, default 20). |
| query | string | Words to match in the headline, all required, any order (maximum 8). |
| impact | string | Optional existing event-impact classification. |
| ticker | string | Restrict to a ticker, e.g. NVDA. |
| end_utc | string | Exclusive end timestamp with timezone. Overrides the relative look-back window. |
| start_utc | string | Inclusive start timestamp with timezone, e.g. 2026-10-14T00:00:00-04:00. |
| before_hours | integer | End the window this many hours ago; use with hours to inspect earlier parts of the day. |
Recent tape events for one ticker with each event's measured reaction. Use to answer 'what has been driving <ticker> lately'.
| Argument | Type | Description |
|---|---|---|
| days | integer | Look-back window in days (1-60, default 7). |
| limit | integer | Max results (1-50, default 20). |
| ticker* | string | Ticker symbol, e.g. WDAY. |
| end_utc | string | Exclusive end timestamp with timezone. Overrides the relative look-back window. |
| start_utc | string | Inclusive start timestamp with timezone, e.g. 2026-10-14T00:00:00-04:00. |
{
"type": "object",
"required": [
"ticker"
],
"properties": {
"days": {
"type": "integer",
"description": "Look-back window in days (1-60, default 7)."
},
"limit": {
"type": "integer",
"description": "Max results (1-50, default 20)."
},
"ticker": {
"type": "string",
"description": "Ticker symbol, e.g. WDAY."
},
"end_utc": {
"type": "string",
"description": "Exclusive end timestamp with timezone. Overrides the relative look-back window."
},
"start_utc": {
"type": "string",
"description": "Inclusive start timestamp with timezone, e.g. 2026-10-14T00:00:00-04:00."
}
}
}Rank price moves around news among the newest 400 eligible events in the window. Includes each sample's time window and quality notes. This is not a full-market daily gainers/losers list; scan reports the coverage limit.
| Argument | Type | Description |
|---|---|---|
| hours | integer | Look-back window in hours (1-336, default 24). |
| limit | integer | Max results (1-50, default 10). |
| end_utc | string | Exclusive end timestamp with timezone. Overrides the relative look-back window. |
| start_utc | string | Inclusive start timestamp with timezone, e.g. 2026-10-14T00:00:00-04:00. |
| min_move_pct | number | Minimum absolute move percent (default 0.5). |
{
"type": "object",
"properties": {
"hours": {
"type": "integer",
"description": "Look-back window in hours (1-336, default 24)."
},
"limit": {
"type": "integer",
"description": "Max results (1-50, default 10)."
},
"end_utc": {
"type": "string",
"description": "Exclusive end timestamp with timezone. Overrides the relative look-back window."
},
"start_utc": {
"type": "string",
"description": "Inclusive start timestamp with timezone, e.g. 2026-10-14T00:00:00-04:00."
},
"min_move_pct": {
"type": "number",
"description": "Minimum absolute move percent (default 0.5)."
}
}
}Recent Truth Social posts by President Trump as they crossed the tape, with available prices before and after the post. Use for 'what has Trump posted today' or 'did his tariff post move markets'.
| Argument | Type | Description |
|---|---|---|
| hours | integer | Look-back window in hours (1-336, default 24). |
| limit | integer | Max results (1-50, default 20). |
| query | string | Free text to match in the post, e.g. tariff. |
| end_utc | string | Exclusive end timestamp with timezone. Overrides the relative look-back window. |
| start_utc | string | Inclusive start timestamp with timezone, e.g. 2026-10-14T00:00:00-04:00. |
| with_reaction_only | boolean | Only posts with a measured market reaction. |
{
"type": "object",
"properties": {
"hours": {
"type": "integer",
"description": "Look-back window in hours (1-336, default 24)."
},
"limit": {
"type": "integer",
"description": "Max results (1-50, default 20)."
},
"query": {
"type": "string",
"description": "Free text to match in the post, e.g. tariff."
},
"end_utc": {
"type": "string",
"description": "Exclusive end timestamp with timezone. Overrides the relative look-back window."
},
"start_utc": {
"type": "string",
"description": "Inclusive start timestamp with timezone, e.g. 2026-10-14T00:00:00-04:00."
},
"with_reaction_only": {
"type": "boolean",
"description": "Only posts with a measured market reaction."
}
}
}| Upcoming window in days (0-14, default 3; 0 skips it). |
{
"type": "object",
"properties": {
"hours": {
"type": "integer",
"description": "Look back 1-1440 hours; default 48. Actual coverage is disclosed in archive_coverage."
},
"limit": {
"type": "integer",
"description": "Max rows per list (1-50, default 20)."
},
"query": {
"type": "string",
"description": "Up to eight title words, e.g. CPI, payrolls, or retail sales. Filters both released and upcoming data."
},
"impact": {
"enum": [
"high",
"all"
],
"type": "string",
"description": "high (default) or all."
},
"country": {
"type": "string",
"description": "Two-letter country code, e.g. US, GB, EU, JP."
},
"end_utc": {
"type": "string",
"description": "Exclusive end timestamp with timezone. Overrides the relative look-back window."
},
"start_utc": {
"type": "string",
"description": "Inclusive start timestamp with timezone, e.g. 2026-10-14T00:00:00-04:00."
},
"days_ahead": {
"type": "integer",
"description": "Upcoming window in days (0-14, default 3; 0 skips it)."
}
}
}| Default false excludes thin trading from price-path screens. |
| min_initial_move_pct | number | Minimum absolute one-minute move; default 0.5%. Not used for read_through. |
{
"type": "object",
"properties": {
"hours": {
"type": "integer",
"description": "Look back 1-336 hours; default 72."
},
"limit": {
"type": "integer",
"description": "Maximum results, 1-20; default 10."
},
"query": {
"type": "string",
"description": "Up to eight headline words, all required, e.g. SpaceX."
},
"screen": {
"enum": [
"reversal",
"faded",
"continued",
"read_through"
],
"type": "string",
"description": "reversal crosses the original price; faded gives back at least half; continued extends the first move; read_through finds potential effects on other companies."
},
"ticker": {
"type": "string"
},
"end_utc": {
"type": "string",
"description": "Exclusive end timestamp with timezone. Overrides the relative look-back window."
},
"start_utc": {
"type": "string",
"description": "Inclusive start timestamp with timezone, e.g. 2026-10-14T00:00:00-04:00."
},
"include_thin": {
"type": "boolean",
"description": "Default false excludes thin trading from price-path screens."
},
"min_initial_move_pct": {
"type": "number",
"description": "Minimum absolute one-minute move; default 0.5%. Not used for read_through."
}
}
}{
"type": "object",
"properties": {
"hours": {
"type": "integer",
"description": "Look-back window in hours (1-336, default 24)."
},
"limit": {
"type": "integer",
"description": "Max results (1-50, default 20)."
},
"query": {
"type": "string",
"description": "Words to match in the headline, all required, any order (maximum 8)."
},
"impact": {
"enum": [
"high",
"medium",
"low"
],
"type": "string",
"description": "Optional existing event-impact classification."
},
"ticker": {
"type": "string",
"description": "Restrict to a ticker, e.g. NVDA."
},
"end_utc": {
"type": "string",
"description": "Exclusive end timestamp with timezone. Overrides the relative look-back window."
},
"start_utc": {
"type": "string",
"description": "Inclusive start timestamp with timezone, e.g. 2026-10-14T00:00:00-04:00."
},
"before_hours": {
"type": "integer",
"description": "End the window this many hours ago; use with hours to inspect earlier parts of the day."
}
}
}