@coinrithm/mcp-trading 0.7.17 → 0.7.18
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/CHANGELOG.md +19 -1
- package/README.md +7 -5
- package/dist/agent/version.d.ts +1 -1
- package/dist/agent/version.js +1 -1
- package/dist/tools.js +22 -8
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,7 +3,25 @@
|
|
|
3
3
|
All notable changes to `@coinrithm/mcp-trading` are documented here. The package
|
|
4
4
|
ships two binaries — `coinrithm-mcp` (the MCP server) and `coinrithm-agent` (the
|
|
5
5
|
self-host agent runner) — versioned together. The CoinRithm **API contract** is
|
|
6
|
-
versioned separately (see `openapi.yaml` `info.version`, currently `1.
|
|
6
|
+
versioned separately (see `openapi.yaml` `info.version`, currently `1.9.0`).
|
|
7
|
+
|
|
8
|
+
## 0.7.18 (2026-10-15)
|
|
9
|
+
|
|
10
|
+
MCP server:
|
|
11
|
+
|
|
12
|
+
- `get_arena_leaderboard` and `get_arena_agent` describe `arena-ranking-v2`
|
|
13
|
+
(live since 2026-10-14): the score is realized PnL plus open losses
|
|
14
|
+
(min(0, unrealized)); open gains never raise a rank; an agent with more
|
|
15
|
+
than 10% of its start balance in unpriced open positions is rank pending.
|
|
16
|
+
A decided trade is one futures position or one spot round trip.
|
|
17
|
+
- Prediction-market comparison output ranks rows that are not traded on both
|
|
18
|
+
legs (`bothSidesTraded: false`) last, so an untraded pair is never the
|
|
19
|
+
headline gap.
|
|
20
|
+
- Tool descriptions name consensus probability v3 (open-interest weights
|
|
21
|
+
where every venue reports open interest, else the liquidity rule; the
|
|
22
|
+
basis is returned as `weightBasis`).
|
|
23
|
+
|
|
24
|
+
The default surface stays at 41 tools. Generated against API contract 1.9.0.
|
|
7
25
|
|
|
8
26
|
## 0.7.17 (2026-10-13)
|
|
9
27
|
|
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@ future returns or live execution performance.
|
|
|
10
10
|
|
|
11
11
|
**Plus a free prediction-market data surface — no key at all.** The same server
|
|
12
12
|
ships twelve keyless `pm_data_*` tools serving CoinRithm's public cross-venue
|
|
13
|
-
dataset: odds, cross-venue matches with a
|
|
13
|
+
dataset: odds, cross-venue matches with a size-weighted reference probability,
|
|
14
14
|
a whale-trade tape, and market-wide volume statistics. Availability and freshness
|
|
15
15
|
vary by source; inspect the returned source-health and observation metadata.
|
|
16
16
|
The catalog covers 12 venues: Polymarket, Kalshi, Smarkets, Limitless, Manifold,
|
|
@@ -266,7 +266,8 @@ The twelve `pm_data_*` tools wrap CoinRithm's free public cross-venue dataset
|
|
|
266
266
|
(all 12 venues: Polymarket, Kalshi, Smarkets, Limitless, Manifold,
|
|
267
267
|
Metaculus, PredictIt, Rothera, Futuur, Myriad, ForecastEx, Gemini). They require no API key, never attach yours, and
|
|
268
268
|
are research surfaces: `pm_data_events` list rows carry `referenceProbability`
|
|
269
|
-
(a
|
|
269
|
+
(a size-weighted cross-venue consensus on matched questions, weighted by
|
|
270
|
+
open interest or else liquidity); `pm_data_event`
|
|
270
271
|
includes `crossSourceMatches` (the same real-world question priced on other
|
|
271
272
|
venues), `referenceProbability`, `volumeHistory`, and resolution evidence.
|
|
272
273
|
Discovery calls deliberately omit heavyweight descriptions, full outcome
|
|
@@ -415,9 +416,10 @@ least that long before retrying.
|
|
|
415
416
|
Opted-in agents are publicly listed at
|
|
416
417
|
[coinrithm.com](https://coinrithm.com/agentic-trading) — set `agentName` /
|
|
417
418
|
`agentPublic` / `agentModel` on your key to join, then check your standing
|
|
418
|
-
with `get_arena_leaderboard` / `get_arena_agent`. Under `arena-ranking-
|
|
419
|
-
five decided trades qualify an agent for normal ordering.
|
|
420
|
-
PnL
|
|
419
|
+
with `get_arena_leaderboard` / `get_arena_agent`. Under `arena-ranking-v2`,
|
|
420
|
+
five decided trades qualify an agent for normal ordering. The score is
|
|
421
|
+
realized PnL plus open losses (open gains never count); a positive score is
|
|
422
|
+
weighted by the 95% Wilson win-confidence lower bound; a non-positive score
|
|
421
423
|
is used directly. Agents below five remain listed after qualified agents, and
|
|
422
424
|
fewer than 20 decided trades carries a separate small-sample warning. The API
|
|
423
425
|
returns the full machine-readable `contract` with every board response.
|
package/dist/agent/version.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export declare const COINRITHM_API: {
|
|
|
5
5
|
readonly kind: "coinrithm-agent-api";
|
|
6
6
|
readonly baseUrl: "https://api.coinrithm.com";
|
|
7
7
|
readonly mcpUrl: "https://mcp.coinrithm.com/mcp";
|
|
8
|
-
readonly openapiVersion: "1.
|
|
8
|
+
readonly openapiVersion: "1.9.0";
|
|
9
9
|
readonly mcpPackage: "@coinrithm/mcp-trading";
|
|
10
10
|
readonly mcpVersion: string;
|
|
11
11
|
};
|
package/dist/agent/version.js
CHANGED
|
@@ -20,7 +20,7 @@ export const COINRITHM_API = {
|
|
|
20
20
|
mcpUrl: "https://mcp.coinrithm.com/mcp",
|
|
21
21
|
// The API CONTRACT version (openapi.yaml info.version). Versioned independently
|
|
22
22
|
// from the npm package below — hand-bump this when the OpenAPI contract changes.
|
|
23
|
-
openapiVersion: "1.
|
|
23
|
+
openapiVersion: "1.9.0",
|
|
24
24
|
mcpPackage: "@coinrithm/mcp-trading",
|
|
25
25
|
mcpVersion: PACKAGE_VERSION,
|
|
26
26
|
};
|
package/dist/tools.js
CHANGED
|
@@ -422,9 +422,17 @@ function compactComparison(value) {
|
|
|
422
422
|
(outcome.isShared === true ||
|
|
423
423
|
(outcome.presentInA === true && outcome.presentInB === true)));
|
|
424
424
|
const candidates = shared.length > 0 ? shared : outcomes;
|
|
425
|
+
// The API headline (summary.maxSharedOutcome*) skips a row whose legs do
|
|
426
|
+
// not both show trading (`bothSidesTraded: false`). Such a row is still
|
|
427
|
+
// listed, but ranks after every other row so it never leads as the largest
|
|
428
|
+
// gap. Older APIs omit the field, which ranks exactly as before.
|
|
429
|
+
const untraded = (outcome) => isJsonRecord(outcome) && outcome.bothSidesTraded === false ? 1 : 0;
|
|
425
430
|
const ranked = candidates
|
|
426
431
|
.map((outcome, index) => ({ outcome, index }))
|
|
427
432
|
.sort((left, right) => {
|
|
433
|
+
const evidence = untraded(left.outcome) - untraded(right.outcome);
|
|
434
|
+
if (evidence !== 0)
|
|
435
|
+
return evidence;
|
|
428
436
|
const a = isJsonRecord(left.outcome)
|
|
429
437
|
? Math.abs(probability(left.outcome.deltaPoints) ?? -1)
|
|
430
438
|
: -1;
|
|
@@ -446,6 +454,8 @@ function compactComparison(value) {
|
|
|
446
454
|
"presentInA",
|
|
447
455
|
"presentInB",
|
|
448
456
|
"isShared",
|
|
457
|
+
"bothSidesTraded",
|
|
458
|
+
"pairing",
|
|
449
459
|
])
|
|
450
460
|
: outcome);
|
|
451
461
|
return {
|
|
@@ -1178,10 +1188,11 @@ export function registerTools(server, client) {
|
|
|
1178
1188
|
server.registerTool("get_arena_leaderboard", {
|
|
1179
1189
|
title: "Get Agent Arena leaderboard",
|
|
1180
1190
|
description: "The public Agent Arena across spot, futures, and prediction markets. " +
|
|
1181
|
-
"The response publishes the arena-ranking-
|
|
1182
|
-
"trades qualify an agent for normal ordering;
|
|
1183
|
-
"
|
|
1184
|
-
"
|
|
1191
|
+
"The response publishes the arena-ranking-v2 contract: five decided " +
|
|
1192
|
+
"trades qualify an agent for normal ordering; the score is realized " +
|
|
1193
|
+
"PnL plus open losses (open gains never count); a positive score is " +
|
|
1194
|
+
"weighted by the 95% Wilson win-confidence lower bound; a non-positive " +
|
|
1195
|
+
"score is used directly. Agents below five remain listed after qualified " +
|
|
1185
1196
|
"agents; fewer than 20 decided trades is a separate small-sample " +
|
|
1186
1197
|
"warning. Rows carry per-venue results, a 90-day sparkline, badges, " +
|
|
1187
1198
|
"rankDelta, biggestWinMusd, and a self-reported model label. Pass " +
|
|
@@ -1865,8 +1876,10 @@ export function registerTools(server, client) {
|
|
|
1865
1876
|
"crossSourceMatches (the SAME real-world question priced on other " +
|
|
1866
1877
|
"venues — read probability divergence directly from it), " +
|
|
1867
1878
|
"referenceProbability when present (CoinRithm's canonical cross-venue " +
|
|
1868
|
-
"number: the
|
|
1869
|
-
"real-money venues,
|
|
1879
|
+
"number: the size-capped weighted median Yes probability across " +
|
|
1880
|
+
"matched real-money venues, weighted by open interest or else " +
|
|
1881
|
+
"liquidity as weightBasis states, with venueCount and spreadPoints " +
|
|
1882
|
+
"and methodologyVersion — quote all " +
|
|
1870
1883
|
"three together, venues disagree and the spread says by how much), " +
|
|
1871
1884
|
"recent whale trades on the event, related events, related news, and " +
|
|
1872
1885
|
"volumeHistory when present (daily volume points captured since " +
|
|
@@ -2004,8 +2017,9 @@ export function registerTools(server, client) {
|
|
|
2004
2017
|
"deltaPoints (points, 0-100 scale) plus a summary (matchedOutcomeCount, " +
|
|
2005
2018
|
"overallDeltaPoints, maxSharedOutcomeDeltaPoints); maxOverallGap/" +
|
|
2006
2019
|
"maxOutcomeGap/maxConfidence are the cluster's headline numbers, and " +
|
|
2007
|
-
"referenceProbability (when present) is CoinRithm's own
|
|
2008
|
-
"weighted median across matched venues
|
|
2020
|
+
"referenceProbability (when present) is CoinRithm's own size-capped " +
|
|
2021
|
+
"weighted median across matched venues (weightBasis: open_interest or " +
|
|
2022
|
+
"liquidity). Orientation between matched " +
|
|
2009
2023
|
"markets is human/aggregator-reviewed — NEVER price-inferred — so every " +
|
|
2010
2024
|
"delta is orientation-proven disagreement, not noise. requirePriced " +
|
|
2011
2025
|
"(default true) drops any pair where a side is an unpriced/untraded " +
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coinrithm/mcp-trading",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.18",
|
|
4
4
|
"mcpName": "io.github.CoinRithm/mcp-trading",
|
|
5
5
|
"description": "CoinRithm MCP server (coinrithm-mcp) and self-host agent runner (coinrithm-agent): keyless prediction-market data across 12 venues, plus paper trading of crypto spot, futures, and prediction markets with a user-minted API key.",
|
|
6
6
|
"type": "module",
|