Pattern Vista

io.github.xsf0221Published by GitHub account xsf0221v0.2.1Updated Oct 24, 2026

End-of-day US equity data: MA200 deviation rankings, market breadth, chart-pattern win rates.

VerifiedSTDIODesktop onlyFinanceData & Analytics

Overview

AI-generated overview

Pattern Vista gives an assistant end-of-day US equity data: MA200 deviation rankings, market breadth and chart-pattern win rates, via a local stdio server.

What you can do
Rank symbols by how far they sit above or below their own 200-day average, and pull a full report on a single ticker, including recent patterns and deviation data. Check market breadth, the share of the covered universe closing above its MA200, against its own history. See the latest recommended chart patterns and whether that pattern bucket has historically beaten SPY. Check which account the API key belongs to and whether it is on a paid tier.
When to use it
Useful when you want an assistant to answer questions about US equity extension, mean-reversion candidates, market breadth or chart-pattern track records without leaving the chat. Suited to end-of-day research, not intraday trading.
Requirements
Runs as a local stdio process, installed from PyPI (pattern-vista with the mcp extra) or launched with uvx; Docker is also possible with an attached stdin. Needs a Pattern Vista API key, supplied through the PATTERN_VISTA_API_KEY environment variable or a key saved by the CLI. Network access to the Pattern Vista service is required.
Before you install
An API key is required and is passed as an environment variable; keep it out of shared configs. A free key returns only the top 2 rows per list and no historical win rate, so a short list may reflect the tier rather than the market; check is_billed in responses. Paid tiers unlock full lists. Data is end-of-day and the README states it is not investment advice.

Installation

In SourceWeft

  1. Open Pattern Vista in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Pattern Vista CLI

Command-line access to Pattern Vista — K-line pattern historical win-rates and MA200 deviation rankings — built to be called by AI agents as easily as by humans.

Output is JSON by default (so an agent can parse it directly); add --table for a human-readable view.

Install

bash
pip install pattern-vista     # or: uvx pattern-vista whoami

Authenticate

Generate a key at https://www.pattern-vista.com (Account → API keys), then:

bash
pv config set-key pv_live_xxxxxxxx# or, for ephemeral/agent use:export PATTERN_VISTA_API_KEY=pv_live_xxxxxxxx

Resolution order: --api-key flag → PATTERN_VISTA_API_KEY → stored config.

Commands

bash
pv whoami                       # validate key, show account + tierpv deviation --over --limit 20  # stocks furthest ABOVE their 200-day averagepv deviation --under            # stocks furthest BELOW (mean-reversion longs)pv patterns --limit 20          # latest recommended patterns + 20-day win-ratepv ticker AAPL                  # one symbol: current deviation + recent patternspv stretch --days 120           # market breadth: % of the universe above its MA200
# add --table to any command for human output:pv deviation --under --table

Example (agent-friendly JSON)

bash
$ pv deviation --under --limit 3{  "is_billed": true,  "rows": [    {"ticker": "XYZ", "snapshot_date": "2026-05-27", "close": 41.2, "ma200": 58.9, "deviation": -0.3005},    ...  ]}

Free vs. paid

A free account sees the top 2 rows of each list and patterns without the historical win-rate. A paid subscription unlocks the full lists (up to 100) and hist_win_w20. The tier is enforced server-side from the key — see is_billed in every response.

For agents / programmatic use

python
from pattern_vista import PatternVistaClient
pv = PatternVistaClient(api_key="pv_live_xxxx")under = pv.deviation("under", limit=20)   # dict: {"is_billed": ..., "rows": [...]}aapl = pv.ticker("AAPL")

The PatternVistaClient core has no CLI dependency — it is what backs the MCP server below, so the two can never return different things.

Use as an MCP server

The same data as tools your agent can call directly. No install needed if you have uv:

jsonc
{  "mcpServers": {    "pattern-vista": {      "command": "uvx",      "args": ["--from", "pattern-vista[mcp]", "pattern-vista-mcp"],      "env": { "PATTERN_VISTA_API_KEY": "pv_live_xxxxxxxx" }    }  }}

Drop that into your MCP client's config (Claude Desktop, Claude Code, Cursor, or anything else that speaks MCP over stdio). If you would rather install it:

bash
pip install 'pattern-vista[mcp]'   # then use "command": "pattern-vista-mcp"

Or run it in a container. -i is required — the transport is stdio, so without an attached stdin the server has nothing to read and exits straight away:

bash
docker build -t pattern-vista-mcp .docker run -i --rm -e PATTERN_VISTA_API_KEY=pv_live_xxxxxxxx pattern-vista-mcp

Tools

ToolAnswers
market_stretchIs the market broadly extended or depressed right now, and how does that rank against its own history?
deviation_rankingWhich symbols are furthest below (or above) their own 200-day average?
recommended_patternsWhat did last night's scan flag, and has that pattern bucket historically beaten SPY?
ticker_reportEverything held on one symbol.
account_statusWhich account is this key, and is it on a paid tier?

Auth resolves exactly as the CLI's does: PATTERN_VISTA_API_KEY, else the key saved by pv config set-key. Tiering stays server-side — a free key gets 2 rows and a null hist_win_w20, so check is_billed in the response before treating a short list as a quiet market.

Works with both generations of the MCP Python SDK (mcp 1.x's FastMCP and 2.x's MCPServer).

Data notes

  • Deviation = (close − MA200) / MA200, refreshed nightly over an S&P 500 + Nasdaq 100 + major-ETF universe. Split-distorted and implausible values are filtered out before ranking.
  • Market breadth (pv stretch, market_stretch) is the share of that same universe closing above its own MA200, one reading per trading day, with the history behind it. Free for every tier — it is the same number the public page at https://www.pattern-vista.com/market/stretch publishes.
  • Win-rate (hist_win_w20) is the share of settled past signals of the same pattern type, direction and shape that beat SPY over the following 20 trading days — the same per-signal record listed at https://www.pattern-vista.com/track-record. Null when fewer than 10 have settled.
  • Past performance does not guarantee future results. Not investment advice.

License

MIT

Source: README.md at commit f6a984d

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.2.1LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts