@battlegrid/mcp-server 32.0.39 → 32.0.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -38,6 +38,45 @@ Seeing package `31.x` alongside handshake `battlegrid@33.x` — the package **be
|
|
|
38
38
|
|
|
39
39
|
**What this changes for you:** nothing about how you call anything. Upgrading the package no longer waits on a server deploy, and a server deploy no longer strands you on a package that names the wrong contract — reconnect and the announcement follows. **Contract breaking-change notes are no longer keyed to package versions**, since a contract move is no longer a release here; the v11-and-earlier notes below are kept as history, and the live vocabulary is always discovery.
|
|
40
40
|
|
|
41
|
+
## Contract history — v137.2 (the anchored VWAP family with σ bands, and week and month profiles)
|
|
42
|
+
|
|
43
|
+
**Additive at v137.2: sixty-six metrics and five studies, one value withdrawn, and the metric vocabulary named once per
|
|
44
|
+
schema.** v137.2 is the contract on top of v137.1. Nothing a client sends is refused that v137.1 accepted. Reconnect the
|
|
45
|
+
proxy, or restart it, so discovery reads the widened vocabulary.
|
|
46
|
+
|
|
47
|
+
### Widened input — new metrics and studies
|
|
48
|
+
|
|
49
|
+
- **The anchored VWAP family**, each computed over the column's own timeframe as TradingView's `ta.vwap(hlc3)` computes it
|
|
50
|
+
on that chart: `VWAP_WEEK` (`vwapW`, from Monday 00:00 UTC), `VWAP_MONTH` (`vwapM`), `VWAP_TRADING_SESSION` (`vwapTs`),
|
|
51
|
+
`VWAP_ROLLING_1H`, `VWAP_ROLLING_4H` and `VWAP_ROLLING_24H` (`rvwap1h`, `rvwap4h`, `rvwap24h`), and `VWAP_SWING_HIGH`
|
|
52
|
+
and `VWAP_SWING_LOW` (`avwapSwHi`, `avwapSwLo`, anchored at the latest decided swing pivot).
|
|
53
|
+
- **±1/2/3σ bands** `<LINE>_UB1..3` and `<LINE>_LB1..3` on `VWAP` and on each of the six new calendar and rolling lines
|
|
54
|
+
(42 metrics): `line ± k·σ`, with σ the volume-weighted standard deviation over the same bars. Each takes every transform
|
|
55
|
+
a price level takes, `levelInteraction` included.
|
|
56
|
+
- **Week and month profiles**, summed from each period's UTC-day profiles on one grid: `WEEK_TPO_POC`/`VAH`/`VAL` and
|
|
57
|
+
`MONTH_TPO_POC`/`VAH`/`VAL` (the current period), `PRIOR_WEEK_TPO_*` and `PRIOR_MONTH_TPO_*`, and the previous
|
|
58
|
+
completed period's high and low, `PWH`/`PWL` and `PMH`/`PML`. A prior level read across its period's roll is absent.
|
|
59
|
+
- **The studies** `vwap`, `weekProfile`, `priorWeek`, `monthProfile` and `priorMonth` join the vocabulary. The metric-key
|
|
60
|
+
enum widens on every input and output that carries it.
|
|
61
|
+
- **Ranking.** The eight new VWAP lines rank exchange-wide by distance; the bands do not.
|
|
62
|
+
|
|
63
|
+
### Changed values — the same schema serves a different number
|
|
64
|
+
|
|
65
|
+
- **`VWAP` on `1d` reads null.** A UTC-day VWAP on a bar as long as the UTC day is only that bar's own typical price. On
|
|
66
|
+
every other timeframe `VWAP` is unchanged. Each anchored line is likewise absent on a timeframe whose bar is as long as
|
|
67
|
+
its anchor's period.
|
|
68
|
+
|
|
69
|
+
### Schema respelling
|
|
70
|
+
|
|
71
|
+
- **The metric vocabulary is one named shape, `metricKey`**, published once in each schema's root `$defs` and referenced
|
|
72
|
+
as `#/$defs/metricKey` wherever a metric is named, where it was inlined at each site. What a schema accepts does not
|
|
73
|
+
move; every authoring schema shrinks. `toolCount` stays 149.
|
|
74
|
+
|
|
75
|
+
### Digest move
|
|
76
|
+
|
|
77
|
+
- **`vocabularyDigest` and the authoring catalog digest move** with the sixty-six metrics and five studies. A client
|
|
78
|
+
caching vocabulary against either re-reads `list_strategy_vocabulary`.
|
|
79
|
+
|
|
41
80
|
## Contract history — v137.1 (a condition exit's evidence and slippage)
|
|
42
81
|
|
|
43
82
|
**Additive at v137.1: one owner output field, and one served value moves.** v137.1 is the contract on top of v137.
|
|
@@ -60,6 +99,43 @@ output.
|
|
|
60
99
|
- **`slippageExit` on a `CONDITION_EXIT` close** is the exit average fill less the close of the bar the exit rule fired
|
|
61
100
|
on, where it was null. Every other close kind is unchanged. `toolCount` stays 149.
|
|
62
101
|
|
|
102
|
+
## Contract history — v137 (TradingView's indicator math, Stoch RSI %K/%D, and a spread in points)
|
|
103
|
+
|
|
104
|
+
**MAJOR at v137: one metric key is retired into two, a unit joins every unit enum, and served indicator values move to
|
|
105
|
+
TradingView's calculation.** v137 is the contract on top of v136.1. Reconnect the proxy, or restart it, so discovery
|
|
106
|
+
reads the new vocabulary.
|
|
107
|
+
|
|
108
|
+
### Refused input — `STOCH_RSI14` is retired
|
|
109
|
+
|
|
110
|
+
- **`STOCH_RSI14` (`stochRSI14`, one 0–1 position) is replaced by `STOCH_RSI_K` and `STOCH_RSI_D`** (`stochRsiK`,
|
|
111
|
+
`stochRsiD`, study `stochRsi`): TradingView's Stoch RSI %K and %D (14, 14, 3, 3) on 0–100, with Stochastic %K's zone
|
|
112
|
+
vocabulary and rank ordering. A request naming `STOCH_RSI14` is refused. No stored strategy named it.
|
|
113
|
+
|
|
114
|
+
### Widened output enum — the `points` unit
|
|
115
|
+
|
|
116
|
+
- **Every unit enum gains `points`**: a difference of two 0–100 or percent readings, rendered ` pts` with its natural
|
|
117
|
+
sign. A client validating responses against a cached schema refuses a `points` column until it re-reads discovery.
|
|
118
|
+
|
|
119
|
+
### Changed values — the same schema serves a different number
|
|
120
|
+
|
|
121
|
+
- **DI+ and DI− read 0–100**, where they read a 0–1 ratio, so the regime's DI vote can clear its 5-point gate:
|
|
122
|
+
`REGIME_TREND_SOURCE` can read `di spread`. ADX follows TradingView's `ta.dmi` on ties and its seed.
|
|
123
|
+
- **The Ichimoku spans and lagging close sit one bar earlier**: TradingView's displacement 26, plotted 25 bars ahead.
|
|
124
|
+
- **Parabolic SAR follows TradingView's `ta.sar` on a flip.** %R, CCI, Stochastic and Stoch RSI read null over a flat
|
|
125
|
+
window, where they read a bound; Stochastic %D counts a %K of 0.
|
|
126
|
+
- **A `spread` over a comparable unit is a difference.** An oscillator, a percent, a ratio, a share, a count or a USD
|
|
127
|
+
notional reads `base − operand` in its difference unit (`points` for an oscillator or a percent), where it read the
|
|
128
|
+
signed % gap; a zero operand reads a value where it read null. A price-like base keeps the % gap. Sign rules (`gt 0`,
|
|
129
|
+
a cross of 0) keep their meaning.
|
|
130
|
+
- **`REGIME_DI_SPREAD` reads in `points` at 2 dp** and equals the `DIplus14_DIminus14_spread` column. It is no longer
|
|
131
|
+
offered a spread operand. The ranked `BUY_PRES_CB × spread(BUY_PRES_BN)` set ranks the difference its column reads.
|
|
132
|
+
`toolCount` stays 149.
|
|
133
|
+
|
|
134
|
+
### Digest move
|
|
135
|
+
|
|
136
|
+
- **`vocabularyDigest` and the authoring catalog digest move.** A client caching vocabulary against either re-reads
|
|
137
|
+
`list_strategy_vocabulary`.
|
|
138
|
+
|
|
63
139
|
## Contract history — v136.1 (spot facts per bar: each venue's close and buy share, the composite's flow, and Bybit)
|
|
64
140
|
|
|
65
141
|
**Additive at v136.1: six metrics and a study, and served values move.** v136.1 is the contract on top of v136.
|
package/dist/index.d.ts
CHANGED
|
@@ -47,7 +47,7 @@ import { Client, StreamableHTTPClientTransport } from '@modelcontextprotocol/cli
|
|
|
47
47
|
* being asked. Move it for a change to THIS package — a proxy fix, a dependency bump, a docs
|
|
48
48
|
* correction. Never move it to track the server.
|
|
49
49
|
*/
|
|
50
|
-
export declare const PACKAGE_VERSION = "32.0.
|
|
50
|
+
export declare const PACKAGE_VERSION = "32.0.41";
|
|
51
51
|
export declare const DEFAULT_URL = "https://mcp.battlegrid.trade/mcp";
|
|
52
52
|
export interface EnvConfig {
|
|
53
53
|
apiKeys: string[];
|
package/dist/index.js
CHANGED
|
@@ -49,7 +49,7 @@ import { Client, SdkHttpError, StreamableHTTPClientTransport } from '@modelconte
|
|
|
49
49
|
* being asked. Move it for a change to THIS package — a proxy fix, a dependency bump, a docs
|
|
50
50
|
* correction. Never move it to track the server.
|
|
51
51
|
*/
|
|
52
|
-
export const PACKAGE_VERSION = '32.0.
|
|
52
|
+
export const PACKAGE_VERSION = '32.0.41';
|
|
53
53
|
export const DEFAULT_URL = 'https://mcp.battlegrid.trade/mcp';
|
|
54
54
|
const MAX_RETRIES = 3;
|
|
55
55
|
const RETRY_DELAYS_MS = [2000, 4000, 8000];
|
package/package.json
CHANGED
package/skills/EXPORT.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"generator": "battlegrid-app/server/scripts/export-mcp-skills.mjs",
|
|
3
|
-
"contractVersion": "
|
|
3
|
+
"contractVersion": "137.2.0",
|
|
4
4
|
"files": {
|
|
5
5
|
"battlegrid-agent-management/SKILL.md": "91d1be4de1e33d54e1852c970af66ad176068fd16c30b4326e49053b7a35eb32",
|
|
6
6
|
"battlegrid-agent-management/references/agent-stage-examples.md": "dffcc353d61dfc7b5bb6a2b3077fc6bf8c760a34c287cafb3b59b99306f24195",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"battlegrid-strategy-examples/SKILL.md": "cbbc7a7271aaa9f530a11d91511f4bf35a9632aa3ab67ecd996975c65ae72625",
|
|
19
19
|
"battlegrid-strategy-examples/references/playbooks.md": "59996c37eea08e7ce398e49304171939e55c968400a1603597d6737faf9e1771",
|
|
20
20
|
"battlegrid-strategy-examples/references/recipes.md": "e1fbd1a3d1b2ef1408fef8642032c3e131954aedec6bdcefa3af6a655948e392",
|
|
21
|
-
"battlegrid-strategy-examples/references/tradingview-ports.md": "
|
|
21
|
+
"battlegrid-strategy-examples/references/tradingview-ports.md": "bc63e26b16458fd17b7bc567541fc9889ee857b444ccb2d3f011545635758d8f",
|
|
22
22
|
"battlegrid-trade-analysis/SKILL.md": "140d847f24e98845736d4f0c2e72b318a4d235413f72f072d2fe6d0daa5f64db",
|
|
23
23
|
"battlegrid-trade-proposal/SKILL.md": "bf8f3794478cdecc989020bd775c3c91744f72b440b1a90f88f6700c9a61ca24"
|
|
24
24
|
}
|
|
@@ -61,7 +61,9 @@ rules about the columns themselves, not about porting — they live in the skill
|
|
|
61
61
|
column, never as the substitute for the gate.
|
|
62
62
|
- **VWAP reversion** → `dist_VWAP` band + `dist_VWAP_rank_far lte 5` for board-relative
|
|
63
63
|
stretch; required `NOT [ADX14_state in ["trending","extreme"]]` veto; scalp geometry +
|
|
64
|
-
aggressive timeDecay (VWAP anchors daily at 00:00 UTC
|
|
64
|
+
aggressive timeDecay (`VWAP` anchors daily at 00:00 UTC; `VWAP_WEEK`, `VWAP_MONTH`, `VWAP_TRADING_SESSION` and
|
|
65
|
+
the rolling `VWAP_ROLLING_1H`/`4H`/`24H` are the other anchors, each with ±1/2/3σ bands `_UB<k>`/`_LB<k>` — a
|
|
66
|
+
band-touch entry reads `CLOSE × spread(VWAP_LB2)` rather than a hand-computed σ).
|
|
65
67
|
- **Donchian / Turtle breakout** (`close > ta.highest(high, 20)[1]`) → `dist_donchianHiPrior20 crossesAbove 0`
|
|
66
68
|
over `DONCHIAN_UPPER_PRIOR × distance` (the breakout bar; `dist_donchianHiPrior20 gt 0` holds on every
|
|
67
69
|
close of the run) + `RVOL20 gte 1.5`; turtle exits = trend preset (trail from 1R, giveback 50). Mirror with
|
|
@@ -117,8 +119,8 @@ rules about the columns themselves, not about porting — they live in the skill
|
|
|
117
119
|
`MACD_LINE × crossDetect`, and the signal-line cross is `MACD_HIST × crossDetect`, the histogram being
|
|
118
120
|
line minus signal), the 15-bar rate of change (`ROC15`), the Donchian break memory
|
|
119
121
|
(`DONCHIAN_BROKEN_HI`/`DONCHIAN_BROKEN_LO`), daily pivots
|
|
120
|
-
(`PIVOT_P`/`PIVOT_R1`–`R3`/`PIVOT_S1`–`S3`), Williams %R (`WILLR14`),
|
|
121
|
-
(`
|
|
122
|
+
(`PIVOT_P`/`PIVOT_R1`–`R3`/`PIVOT_S1`–`S3`), Williams %R (`WILLR14`), Stoch RSI
|
|
123
|
+
(`STOCH_RSI_K`/`STOCH_RSI_D` — TradingView's "Stoch RSI" %K and %D at 3, 3, 14, 14, on 0–100), the TTM squeeze (`KC_SQUEEZE`), Connors RSI-2 (`RSI2`), the 8/9/21/50 EMAs
|
|
122
124
|
(`EMA8`/`EMA9`/`EMA21`/`EMA50` — `ta.ema(close, 8)` is `EMA8`, its distance `dist_EMA8`), literal
|
|
123
125
|
previous-UTC-day levels (`PDH`/`PDL`/`PDO`), fractal swing structure
|
|
124
126
|
(`SWING_FRACTAL_HIGH`/`SWING_FRACTAL_LOW`/`SWING_FRACTAL_LABEL`, the prior pivots
|