@coinrithm/mcp-trading 0.7.0 → 0.7.1
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 +28 -0
- package/README.md +20 -7
- package/dist/http.js +26 -0
- package/dist/tools.js +9 -4
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,34 @@ ships two binaries — `coinrithm-mcp` (the MCP server) and `coinrithm-agent` (t
|
|
|
5
5
|
self-host agent runner) — versioned together. The CoinRithm **API contract** is
|
|
6
6
|
versioned separately (see `openapi.yaml` `info.version`, currently `1.5.0`).
|
|
7
7
|
|
|
8
|
+
## 0.7.1
|
|
9
|
+
|
|
10
|
+
Docs + registry-metadata release; no tool behavior changes.
|
|
11
|
+
|
|
12
|
+
- **README refresh**: the keyless `pm_data_*` data surface is now front and
|
|
13
|
+
center — 8 venues (Polymarket, Kalshi, Smarkets, Limitless, Manifold,
|
|
14
|
+
Metaculus, Futuur, Rothera; an earlier line wrongly listed PredictIt), the
|
|
15
|
+
anonymous hosted-endpoint path, and the `referenceProbability` /
|
|
16
|
+
`volumeHistory` fields the data tools return.
|
|
17
|
+
- **`server.json`**: hosted endpoint's `Authorization` header marked optional
|
|
18
|
+
(the `pm_data_*` tools work anonymously — verified live) and the server
|
|
19
|
+
description now leads with the keyless data surface.
|
|
20
|
+
- Ships the post-0.7.0 commits: `pm_data_event` advertises `volumeHistory`,
|
|
21
|
+
`pm_data_events` advertises `referenceProbability` on list items, and the
|
|
22
|
+
hosted MCP root (`GET /`) serves a self-describing JSON landing (with a
|
|
23
|
+
405 + hint on `GET /mcp`).
|
|
24
|
+
|
|
25
|
+
## 0.7.0
|
|
26
|
+
|
|
27
|
+
(Retroactive entry — released 2026-07-05 without a changelog note.)
|
|
28
|
+
|
|
29
|
+
- **Four keyless `pm_data_*` tools** — CoinRithm's free public cross-venue
|
|
30
|
+
prediction-market dataset over MCP, no API key required and yours is never
|
|
31
|
+
attached: `pm_data_overview` (market-wide stats), `pm_data_events`
|
|
32
|
+
(cross-venue event list), `pm_data_event` (detail incl.
|
|
33
|
+
`crossSourceMatches` + resolution evidence), `pm_data_whales`
|
|
34
|
+
(large-trade tape).
|
|
35
|
+
|
|
8
36
|
## 0.5.0
|
|
9
37
|
|
|
10
38
|
Agent-runner quality + reliability release. `coinrithm-agent` got materially
|
package/README.md
CHANGED
|
@@ -7,6 +7,15 @@ spot, futures, and prediction markets on
|
|
|
7
7
|
no risk — a proving ground to show an agent works *before* anything is on the
|
|
8
8
|
line, with a public **Agent Arena** leaderboard ranked by realized paper PnL.
|
|
9
9
|
|
|
10
|
+
**Plus a free prediction-market data surface — no key at all.** The same server
|
|
11
|
+
ships four keyless `pm_data_*` tools serving CoinRithm's public cross-venue
|
|
12
|
+
dataset: live odds across 8 venues (Polymarket, Kalshi, Smarkets, Limitless,
|
|
13
|
+
Manifold, Metaculus, Futuur, Rothera), cross-venue matches with a
|
|
14
|
+
liquidity-aware reference probability, a whale-trade tape, and market-wide
|
|
15
|
+
volume stats ($60B+ all-time tracked). Point any MCP client at the hosted
|
|
16
|
+
endpoint `https://mcp.coinrithm.com/mcp` and call them anonymously — the API
|
|
17
|
+
key is only needed for the trading tools.
|
|
18
|
+
|
|
10
19
|
Agents are **OKF bundles** — an open, model-agnostic folder of markdown + YAML
|
|
11
20
|
(strategy, persona, hard caps) that any runtime can read. Two ways to run the
|
|
12
21
|
**same** bundle:
|
|
@@ -70,7 +79,9 @@ DB-driven runtime.
|
|
|
70
79
|
|
|
71
80
|
The hosted HTTP server holds **no** key: each request brings its own
|
|
72
81
|
`crk_live_…` in the Authorization header, and the server forwards exactly that
|
|
73
|
-
key upstream.
|
|
82
|
+
key upstream. The Authorization header is **optional** on the hosted endpoint —
|
|
83
|
+
the four keyless `pm_data_*` market-data tools work anonymously; every other
|
|
84
|
+
tool requires it. See [`DEPLOY.md`](./DEPLOY.md).
|
|
74
85
|
|
|
75
86
|
## Configure (stdio)
|
|
76
87
|
|
|
@@ -131,12 +142,14 @@ key upstream. See [`DEPLOY.md`](./DEPLOY.md).
|
|
|
131
142
|
| `pm_data_whales` | none (public) | `GET /api/prediction-markets/whales` |
|
|
132
143
|
|
|
133
144
|
The four `pm_data_*` tools wrap CoinRithm's free public cross-venue dataset
|
|
134
|
-
(all
|
|
135
|
-
|
|
136
|
-
research surfaces: `
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
145
|
+
(all eight venues: Polymarket, Kalshi, Smarkets, Limitless, Manifold,
|
|
146
|
+
Metaculus, Futuur, Rothera). They require no API key, never attach yours, and
|
|
147
|
+
are research surfaces: `pm_data_events` list rows carry `referenceProbability`
|
|
148
|
+
(a liquidity-aware cross-venue consensus on matched questions); `pm_data_event`
|
|
149
|
+
includes `crossSourceMatches` (the same real-world question priced on other
|
|
150
|
+
venues), `referenceProbability`, `volumeHistory`, and resolution evidence.
|
|
151
|
+
Figures are self-computed aggregates on a disclosed per-venue basis — cite
|
|
152
|
+
CoinRithm when quoting them.
|
|
140
153
|
|
|
141
154
|
¹ Server-flag gated; live now. Returns `403 … not enabled` only if CoinRithm later disables it.
|
|
142
155
|
|
package/dist/http.js
CHANGED
|
@@ -49,6 +49,32 @@ async function main() {
|
|
|
49
49
|
app.get("/healthz", (_req, res) => {
|
|
50
50
|
res.json({ ok: true, service: "coinrithm-mcp", transport: "streamable-http" });
|
|
51
51
|
});
|
|
52
|
+
// Self-describing landing for humans and validate-before-recommend agents.
|
|
53
|
+
// GET / and GET /mcp used to 404, which reads as a dead service to anyone
|
|
54
|
+
// probing the published URL (GEO audit 2026-07-07). The MCP endpoint itself
|
|
55
|
+
// is POST-only streamable HTTP — say so instead of 404ing.
|
|
56
|
+
app.get("/", (_req, res) => {
|
|
57
|
+
res.json({
|
|
58
|
+
service: "CoinRithm MCP",
|
|
59
|
+
version: SERVER_VERSION,
|
|
60
|
+
description: "Model Context Protocol server for CoinRithm: keyless public prediction-market data tools (pm_data_*) plus paper-trading tools (spot, futures, prediction markets) with a crk_live_ API key. Paper only — never real money.",
|
|
61
|
+
endpoint: { url: "https://mcp.coinrithm.com/mcp", method: "POST", transport: "streamable-http" },
|
|
62
|
+
connect: "Point any MCP client at the endpoint above. Data tools need no key; trading tools take Authorization: Bearer crk_live_… (mint one at coinrithm.com → Settings → API Keys).",
|
|
63
|
+
localAlternative: "npx -y @coinrithm/mcp-trading",
|
|
64
|
+
docs: {
|
|
65
|
+
quickstart: "https://www.coinrithm.com/en/agentic-trading",
|
|
66
|
+
openapi: "https://www.coinrithm.com/openapi.yaml",
|
|
67
|
+
repo: "https://github.com/CoinRithm/coinrithm-agent-trading",
|
|
68
|
+
dataApi: "https://www.coinrithm.com/en/prediction-markets/api",
|
|
69
|
+
},
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
app.get("/mcp", (_req, res) => {
|
|
73
|
+
res.status(405).json({
|
|
74
|
+
error: "method_not_allowed",
|
|
75
|
+
message: "This is a POST-only streamable-HTTP MCP endpoint. Connect with an MCP client, or GET / for service info.",
|
|
76
|
+
});
|
|
77
|
+
});
|
|
52
78
|
app.post("/mcp", async (req, res) => {
|
|
53
79
|
// Per-request auth: read THIS caller's key from the Authorization header,
|
|
54
80
|
// or from Smithery's non-reserved forwarding header.
|
package/dist/tools.js
CHANGED
|
@@ -880,9 +880,12 @@ export function registerTools(server, client) {
|
|
|
880
880
|
"venues (Polymarket, Kalshi, Metaculus, PredictIt, Limitless, " +
|
|
881
881
|
"Manifold, Smarkets) — broader than discover_pm_markets, which is " +
|
|
882
882
|
"scoped to the paper-tradeable venues. Returns titles, probabilities, " +
|
|
883
|
-
"volume/liquidity, status, and source per event
|
|
884
|
-
"
|
|
885
|
-
"
|
|
883
|
+
"volume/liquidity, status, and source per event, plus " +
|
|
884
|
+
"referenceProbability when present (CoinRithm's canonical cross-venue " +
|
|
885
|
+
"number for open events matched across venues — probability, " +
|
|
886
|
+
"venueCount, spreadPoints, and outcomeName for multi-outcome " +
|
|
887
|
+
"leaders). Research/data only: to trade, use discover_pm_markets + " +
|
|
888
|
+
"pm_quote instead. No API key required.",
|
|
886
889
|
inputSchema: {
|
|
887
890
|
q: z.string().optional().describe("Optional search text."),
|
|
888
891
|
source: z
|
|
@@ -934,7 +937,9 @@ export function registerTools(server, client) {
|
|
|
934
937
|
"number: the liquidity-weighted median Yes probability across matched " +
|
|
935
938
|
"real-money venues, with venueCount and spreadPoints — quote all " +
|
|
936
939
|
"three together, venues disagree and the spread says by how much), " +
|
|
937
|
-
"recent whale trades on the event, related events,
|
|
940
|
+
"recent whale trades on the event, related events, related news, and " +
|
|
941
|
+
"volumeHistory when present (daily volume points captured since " +
|
|
942
|
+
"2026-07-02 — read the event's volume trend directly from it). " +
|
|
938
943
|
"This is the cross-venue research view; for tradability use pm_quote. " +
|
|
939
944
|
"No API key required.",
|
|
940
945
|
inputSchema: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coinrithm/mcp-trading",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.1",
|
|
4
4
|
"mcpName": "io.github.CoinRithm/mcp-trading",
|
|
5
5
|
"description": "CoinRithm paper-trading toolkit: an MCP server (coinrithm-mcp) AND a self-host agent runner (coinrithm-agent) for spot, futures, and prediction markets with a user-minted API key.",
|
|
6
6
|
"type": "module",
|