Skip to content

TheStrat for agents

ai.thestrat/thestratthestrat.aistreamable-httpv0.2.0Scanned

Quant price analysis for agents: TheStrat price action, multi-timeframe signals, simultaneous breaks

15 tools: 11 change things and 4 only read.

Tools: 0 delete, 0 irreversible, 11 write, 4 read.
  • Reads private data · 1
  • Reads text others write · 1
  • Can send data out · 0
  • No findings

Anlyon alternative

11 of these tools change something. Run those as governed actions.

Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.

Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.

Import an OpenAPI spec →

Tools

Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.

15 tools

Changes things 11Claude Code: ask
  • classify_barsLabel every bar as TheStrat scenario 1, 2u, 2d or 3 (Truth #1).No findings

    Why it is in this group

    • The description's first verb is "label": a word for a change.
    Description, as the server wrote it
    Label every bar as TheStrat scenario 1, 2u, 2d or 3 (Truth #1). Rule: compare each bar with the bar before it. Took the prior high only = 2u. Took the prior low only = 2d. Took both = 3. Took neither = 1 (inside bar). Equal to the prior high/low is NOT a take-out (still a 1). The first bar has no scenario (null). Also returns color, hammer/shooter shape, failed-2 flags (2u red / 2d green = potential 3) and 3u/3d when the bar has first_side data. Use this instead of reading a chart.
  • define_termDefine a TheStrat term with a quote from the docs and its source_url (67-term glossary: definition, machine_rule where the docs state one, status "needs Alex" where the docs confli…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Define a TheStrat term with a quote from the docs and its source_url (67-term glossary: definition, machine_rule where the docs state one, status "needs Alex" where the docs conflict). If the term is not in the glossary, returns the best docs_search hits.
  • exhaustionExhaustion risk: how much time is left in the signal's bar (session minutes, wall-clock minutes, sessions left, fraction left), and until when the fire stays active.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Exhaustion risk: how much time is left in the signal's bar (session minutes, wall-clock minutes, sessions left, fraction left), and until when the fire stays active. Docs example: a 60-minute hammer that triggers at 9:32 has 58 minutes; at 10:25 it has 5. Once the bar closes, the signal is gone. The tool reports time; it does not grade it.
  • open_decisionsRules the docs do not state exactly, with the default this server uses.No findings

    Why it is in this group

    • The name "open_decisions" says "open": a word for a change.
    Description, as the server wrote it
    Rules the docs do not state exactly, with the default this server uses. Read this before you present a borderline result as a rule.
  • potential_signals_next_barPotential signals for the next bar across a basket: every setup whose trigger the next bar (or the open bar) can take, grouped by direction and pattern, with trigger, target and le…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Potential signals for the next bar across a basket: every setup whose trigger the next bar (or the open bar) can take, grouped by direction and pattern, with trigger, target and level of reclaim per symbol. A price action watchlist for agents.
  • resample_barsBuild higher-timeframe bars from smaller bars (US equities session 09:30-16:00 New York; 60-minute bars start at 09:30; extended hours are dropped; a partial first period is droppe…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Build higher-timeframe bars from smaller bars (US equities session 09:30-16:00 New York; 60-minute bars start at 09:30; extended hours are dropped; a partial first period is dropped). Each bar gets first_side (which prior side it took first) for 3u/3d.
  • sector_analysisSector rotation by participation: a sector ETF + its holdings on one timeframe.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Sector rotation by participation: a sector ETF + its holdings on one timeframe. Returns the ETF's own state (scenario, color, last 3 bars, signals in force), the most-2s split of the holdings (1 / 2u / 2d / 3, 2u red, 2d green), simultaneous breaks and simultaneous setups across ETF + holdings with majority flags, and a `text` summary.
  • signals_in_forceTechnical signals in force across a basket: every TheStrat actionable signal whose trigger is taken while its bar is open, grouped by direction and pattern, with % of basket and th…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Technical signals in force across a basket: every TheStrat actionable signal whose trigger is taken while its bar is open, grouped by direction and pattern, with % of basket and the trigger, target and level of reclaim per symbol.
  • sim_breaksSimultaneous breaks: find which symbols in a basket broke their setup bar in the same direction in the same bar (2d-2u, 1-2u, 3-1-2u up / 2u-2d, 1-2d down).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Simultaneous breaks: find which symbols in a basket broke their setup bar in the same direction in the same bar (2d-2u, 1-2u, 3-1-2u up / 2u-2d, 1-2d down). Quant price action and sector rotation from your own OHLC data, no third-party feed. Docs: "A simultaneous break is multiple correlated assets breaking 2 in the same direction at the same time." No threshold: the count and the % of the basket, ranked. At 80%+ the group gets the label "80%+ concentration: evidence of algorithmic buying (selling) in this group". Returns a ranked list per direction with count, % of basket, symbols, and per symbol the trigger, target and level of reclaim, plus the as-of time and a `text` line to quote.
  • sim_setupsSimultaneous setups (before the break): a concentration of setup bars in one direction across a basket of symbols.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Simultaneous setups (before the break): a concentration of setup bars in one direction across a basket of symbols. A technical signals screener on your own data, any timeframe. Docs: "A concentration of signals in the same sector or index identifies a potential simultaneous break: it fires if all of the signals go in force." Returns a ranked list per direction: count, % of basket, symbols, each with trigger, target and level of reclaim.
  • timeframe_continuityFull timeframe continuity (FTFC, Truth #2): is the last sale above (up) or below (down) the open of every timeframe in the group, or mixed (conflict)?No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Full timeframe continuity (FTFC, Truth #2): is the last sale above (up) or below (down) the open of every timeframe in the group, or mixed (conflict)? Returns per-timeframe side, color and aggression (above an open: buyers more aggressive, willing to buy at higher prices; below: sellers more aggressive), state up/down/mixed, override (day and 60 agree against the week/month) and the profit-taking note (only the 60 red). FTFC is a state, not a signal.
Only reads 4Show 4 read-only tools
  • buy_sell_listBuy list and sell list: reversal signals in force across timeframes (technical signals screener on your own data).No findings

    Why it is in this group

    • The name "buy_sell_list" says "list": a word for reading.
    Description, as the server wrote it
    Buy list and sell list: reversal signals in force across timeframes (technical signals screener on your own data). Buy: hammer, 2d-2u, 3-2u, 1-2u in force. Sell: shooter, 2u-2d, 3-2d, 1-2d in force. Continuations (2u-2u, 2d-2d) do not count. Per timeframe: symbols, count, % of basket, trigger, target and level of reclaim; plus which timeframes each symbol is on.
  • describe_priceMulti-timeframe price analysis in plain language for one symbol (quant price action, technical signals, timeframe continuity) from your own bars.No findings

    Why it is in this group

    • The name "describe_price" says "describe": a word for reading.
    Description, as the server wrote it
    Multi-timeframe price analysis in plain language for one symbol (quant price action, technical signals, timeframe continuity) from your own bars. Returns `text` (one short line per timeframe, e.g. "SPY day: 2u, above the day open (green). Last 3 bars: 2d 1 2u. In force: bullish 2-1-2 ...") and the same facts as JSON: scenario, color, last 3 bars, signals in force, setups, and FTFC (M W D 60). Start here, then quote the text to the user. On the hosted server a free key has a short cooldown per call; credits skip it (the reply says how many seconds to wait).
  • find_signalsFind TheStrat actionable signals on one timeframe.No findings

    Why it is in this group

    • The name "find_signals" says "find": a word for reading.
    Description, as the server wrote it
    Find TheStrat actionable signals on one timeframe. Patterns: 2-2 reversal, 1-2-2 rev strat, 3-2-2, 2-1-2, 3-1-2, 3-2, hammer, shooter, momo hammer/shooter, inside bar, outside bar reversal (2d-3u / 2u-3d), 1-3 rev strat, 1-3-2, I-O-I. Each signal has: trigger, target (magnitude, null if the pattern has none), level_of_reclaim, invalidation, status, sequence, kind (reversal/continuation) and source_url (the docs page for the rule). Status: setup (trigger not taken), in_force (taken, target not hit, still active), triggered (taken, bar closed, no target), hit_target, failed. Timing: a signal is in force only while its bar is open; D fires stay active until the next session open; the W is closed from Friday close to Monday open.

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

No private-data, untrusted-input, outbound path in this server alone: no tool is tagged outbound.

Reads private data1
Reads files, mail, messages, databases, secrets, calendars or repositories.
Reads text others write1
Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
Can send data out0
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Findings

Matches of fixed checks, with the text they matched.

No check matched anything in these tool definitions. That is not a safety guarantee.

History

Changes to its tool definitions and to its remote endpoint, newest first.

No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.

Install

Pinned to version 0.2.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http thestrat https://mcp.thestrat.ai/mcp
claude mcp add --transport http thestrat https://mcp.thestrat.ai/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__thestrat__find_signals",
      "mcp__thestrat__describe_price",
      "mcp__thestrat__docs_search",
      "mcp__thestrat__buy_sell_list"
    ],
    "ask": [
      "mcp__thestrat__classify_bars",
      "mcp__thestrat__timeframe_continuity",
      "mcp__thestrat__exhaustion",
      "mcp__thestrat__resample_bars",
      "mcp__thestrat__define_term",
      "mcp__thestrat__sim_breaks",
      "mcp__thestrat__sim_setups",
      "mcp__thestrat__sector_analysis",
      "mcp__thestrat__signals_in_force",
      "mcp__thestrat__potential_signals_next_bar",
      "mcp__thestrat__open_decisions"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as thestrat. Review it before you use it.

Capability tags behind 1 rule
  • mcp__thestrat__docs_search private-data, untrusted-input

Pin

Keep the decision: fail CI when the tools change, follow every change, or show a badge.

Pin in CI

Fail a build when the tools you reviewed are not the tools the server serves today.

curl -s "https://anlyon.dev/api/v1/servers/ai.thestrat/thestrat/verify?hash=63e27c0df6dfbf0d3dbf88fd68fa2813dd8a18e34d6d1e26b3c7e1f04306277b" | jq -e '.changed == false'

Pinned hash 63e27c0df6df, from Oct 26, 2026, 05:17 UTC.

Watch

Get told when its tools change: a new tool, a new description, a new class.

https://anlyon.dev/servers/ai.thestrat/thestrat/changes.xml

An Atom feed. Works in any feed reader or Slack's RSS app.

Badge

anlyon.dev badge for ai.thestrat/thestrat
[![anlyon.dev](https://anlyon.dev/badge/ai.thestrat/thestrat.svg)](https://anlyon.dev/servers/ai.thestrat/thestrat)

Source: MCP Registry. Synced Oct 26, 2026, 05:17 UTC.