@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 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. See [`DEPLOY.md`](./DEPLOY.md).
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 seven venues: Polymarket, Kalshi, Metaculus, PredictIt, Limitless,
135
- Manifold, Smarkets). They require no API key, never attach yours, and are
136
- research surfaces: `pm_data_event` includes `crossSourceMatches` (the same
137
- real-world question priced on other venues) and resolution evidence. Figures
138
- are self-computed aggregates on a disclosed per-venue basis cite CoinRithm
139
- when quoting them.
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. Research/data only: " +
884
- "to trade, use discover_pm_markets + pm_quote instead. No API key " +
885
- "required.",
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, and related news. " +
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.0",
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",