@battlegrid/mcp-server 32.0.33 → 32.0.36
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 +79 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -38,6 +38,85 @@ 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 — v136 (one ranked universe: rank within a category, select coins by a ranked metric)
|
|
42
|
+
|
|
43
|
+
**Breaking at v136: `get_top_ranked_coins` is retired, and one value moves.** v136 is the contract on top of v135.2.
|
|
44
|
+
Reconnect the proxy, or restart it, so discovery reads the new tool list and schemas.
|
|
45
|
+
|
|
46
|
+
### Removed tool — and its replacement
|
|
47
|
+
|
|
48
|
+
- **`get_top_ranked_coins` is gone, with no alias.** Discover leaders with `preview_strategy_report` and a ranked
|
|
49
|
+
`coinSelection`: `{ "mode": "ranked", "limit": 10, "category": "ALL", "rankBy": { "metric": "ROC12", "ordering": "hi" } }`.
|
|
50
|
+
The answer is the leaders' report rows, not a bare list.
|
|
51
|
+
- **The old metrics map onto ranked metrics:** `abs_change` is `CLOSE_CHANGE` with ordering `far`, `volume` is `RVOL`
|
|
52
|
+
with ordering `hi`. `rsi_activity` has no replacement.
|
|
53
|
+
- **Three of the old tool's defaults are not carried over.** A ranked selection defaults to crypto, so name
|
|
54
|
+
`category: "ALL"` to rank every asset class. It ranks at the preview's authorable timeframe, not at any `interval`.
|
|
55
|
+
It has no default `limit`.
|
|
56
|
+
- `toolCount` goes from 150 to 149.
|
|
57
|
+
|
|
58
|
+
### Widened input
|
|
59
|
+
|
|
60
|
+
- **A `rank` column takes a category `scope`** (`all` by default, or one of the breadth scopes such as `crypto`,
|
|
61
|
+
`l1` or `defi`). The rank is filtered at read time from the same exchange-wide ranked set, so its `universe` is the
|
|
62
|
+
scope's coin count. A scope holding fewer than five coins ranks none. A non-default scope adds an `_<scope>` token
|
|
63
|
+
to the header. `scope` is refused on a report-scoped rank, which ranks the report's own coins.
|
|
64
|
+
- **A ranked `coinSelection` takes `rankBy: { metric, ordering }`.** It is refused outside the served
|
|
65
|
+
`rankScope: "exchangeWide"` / `rankOrderings` vocabulary. Without `rankBy`, ranked selection is by 24h volume, as
|
|
66
|
+
before.
|
|
67
|
+
|
|
68
|
+
### Added output
|
|
69
|
+
|
|
70
|
+
- **The column contract's effective parameters carry `scope`**: the rank's scope, or `null` for a column that does
|
|
71
|
+
not rank exchange-wide.
|
|
72
|
+
|
|
73
|
+
### Changed values — the same schema serves a different number
|
|
74
|
+
|
|
75
|
+
- **Category membership is the coin's main category only.** A secondary category assignment no longer places a coin
|
|
76
|
+
in that category, so breadth `defi` folds 12 coins where it folded 13. The Asset Browser filter and counts, the
|
|
77
|
+
breadth fold, a scoped rank and a ranked selection now agree on every category's coins.
|
|
78
|
+
|
|
79
|
+
### Digest move
|
|
80
|
+
|
|
81
|
+
- **`vocabularyDigest` moves.** A client caching vocabulary against it re-reads `list_strategy_vocabulary`.
|
|
82
|
+
|
|
83
|
+
## Contract history — v135.2 (room for 32 conditions, a column's relation to the anchor, and a condition column's family)
|
|
84
|
+
|
|
85
|
+
**Additive at v135.2: two output fields, and two served limits rise.** v135.2 is the contract on top of v135.1. Nothing
|
|
86
|
+
a client sends is refused that v135.1 accepted. Reconnect the proxy, or restart it, so discovery reads the new output
|
|
87
|
+
schemas.
|
|
88
|
+
|
|
89
|
+
### Added output
|
|
90
|
+
|
|
91
|
+
- **`get_strategy_column_contract`'s `timeframe` carries `anchorRelation`:** where the column reads against the strategy
|
|
92
|
+
anchor (`rung`: `above` · `at` · `below`), whether its read is still in progress at the strategy's close
|
|
93
|
+
(`developingRead`), and the column editor's served Read-row line for it (`readSummary`, ending "Default here." for a
|
|
94
|
+
Developing default at or below the anchor) and cost line (`readCost`, "No verdict, can’t be an exit.", for a
|
|
95
|
+
developing read). It is `null` for a column with no bar set to read under an anchor, a call with no
|
|
96
|
+
`anchorTimeframe`, or a reference that resolves to no timeframe.
|
|
97
|
+
- **`preview_strategy_report`'s `authoring.conditionColumns[].outputs[]` carry `family`:** the catalog family of the
|
|
98
|
+
metric the column reads, or `null` for a report-level scalar. It is display grouping only, and a stored condition
|
|
99
|
+
does not carry it.
|
|
100
|
+
|
|
101
|
+
### Changed values — the same schema serves a different number
|
|
102
|
+
|
|
103
|
+
- **A strategy may declare 32 conditions, and a condition may hold 32 leaf clauses**, up from 16 each:
|
|
104
|
+
`budgets.strategyConditions` and `budgets.conditionClauses` read 32, and the refusals name 32.
|
|
105
|
+
`budgets.conditionFrameReads` stays 256, and every clause costs at least one frame read, so a strategy cannot fill
|
|
106
|
+
both caps at once.
|
|
107
|
+
|
|
108
|
+
### Skill
|
|
109
|
+
|
|
110
|
+
- **The strategy-examples skill's recipes gain a *Recency and structure* section:** bars since a clause read TRUE
|
|
111
|
+
(under n, at least n, between a and b), the first cross above a level in N bars, the first non-edge reading in N bars
|
|
112
|
+
and k lower highs in N bars, each a whole condition built from the shipped hold, groups and operators. It reaches
|
|
113
|
+
this package through the export lane.
|
|
114
|
+
|
|
115
|
+
### Digest move
|
|
116
|
+
|
|
117
|
+
- **The authoring catalog digest moves with the served budgets.** A client caching vocabulary against it re-reads
|
|
118
|
+
`list_strategy_vocabulary`.
|
|
119
|
+
|
|
41
120
|
## Contract history — v135.1 (the bar clock, trading-session levels and a period level that stops at its roll)
|
|
42
121
|
|
|
43
122
|
**Additive at v135.1: thirty-five metrics and five studies, and one value moves.** v135.1 is the contract on top of
|
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.36";
|
|
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.36';
|
|
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];
|