coil-mcp 1.7.0 → 1.7.2
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 +43 -8
- package/bin/coil-mcp.mjs +7 -4
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
# coil-mcp
|
|
2
2
|
|
|
3
3
|
**Live US stock market data and trading signals, as an MCP server.** Market regime, ranked buy
|
|
4
|
-
lists, 0-100 opportunity / entry-timing / hold-strength scores across
|
|
5
|
-
and macro
|
|
4
|
+
lists, 0-100 opportunity / entry-timing / hold-strength scores across 650+ US stocks and ETFs
|
|
5
|
+
(S&P 500, Nasdaq-100 and a macro book), sector rotation, and a 24/7 read of 81 crypto coins
|
|
6
|
+
(a read of trend and state, not trading signals).
|
|
6
7
|
|
|
7
8
|
The free tier needs **no key, no wallet, no signup**.
|
|
8
9
|
|
|
9
10
|
## Install
|
|
10
11
|
|
|
11
|
-
|
|
12
|
+
Clients with native remote MCP (Claude Code, for one) do not need this package:
|
|
12
13
|
|
|
13
14
|
```
|
|
14
|
-
claude mcp add --transport http coil https://coil.trade/mcp
|
|
15
|
+
claude mcp add --transport http coil https://mcp.coil.trade/mcp
|
|
15
16
|
```
|
|
16
17
|
|
|
17
18
|
For clients that launch servers by command (Claude Desktop, Cursor, Windsurf), use this bridge:
|
|
@@ -32,7 +33,7 @@ npx -y coil-mcp
|
|
|
32
33
|
|
|
33
34
|
## What you get for free
|
|
34
35
|
|
|
35
|
-
|
|
36
|
+
A sample of the board (top 3 per book, headline fields), delayed one market day, with no account of any kind:
|
|
36
37
|
`get_market_regime`, `get_buy_list`, `get_stock_read`, `get_market_leaders`, `get_sector_read`,
|
|
37
38
|
`get_crypto_trend`, `get_morning_brief`, `get_day_board`, `get_rotation`, `get_crypto_day`,
|
|
38
39
|
`get_crypto_night`, `get_hold_state`.
|
|
@@ -45,14 +46,48 @@ Every free tool has a `*_live` twin. Two ways to open them:
|
|
|
45
46
|
account and no card. A wallet-equipped client pays inline via `params._meta["x402/payment"]`
|
|
46
47
|
(@x402/mcp compatible). Cheapest read is `/api/crypto/gate` at $0.001.
|
|
47
48
|
|
|
48
|
-
**Subscribe** — [Coil Live](https://coil.trade/live-feed) is
|
|
49
|
-
tool plus two sold nowhere else: `get_engine_feed` and `get_live_rules`.
|
|
49
|
+
**Subscribe** — [Coil Live](https://coil.trade/live-feed) is **$49/mo or $419/yr, 7 days free** and
|
|
50
|
+
unlocks every `*_live` tool plus two sold nowhere else: `get_engine_feed` and `get_live_rules`.
|
|
51
|
+
After checkout, Gumroad gives you a license key. Send it as the `X-License-Key` header; the
|
|
52
|
+
MCP URL is `https://mcp.coil.trade/mcp`.
|
|
53
|
+
|
|
54
|
+
**Claude Code** (remote MCP, header sent directly):
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
claude mcp add --transport http coil https://mcp.coil.trade/mcp --header "X-License-Key: YOUR_GUMROAD_LICENSE_KEY"
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
**Claude Desktop, Cursor, Windsurf** (they launch servers by command; the connector UI cannot send a
|
|
61
|
+
custom header, so use this bridge with `COIL_LICENSE_KEY`):
|
|
62
|
+
|
|
63
|
+
```json
|
|
64
|
+
{
|
|
65
|
+
"mcpServers": {
|
|
66
|
+
"coil": {
|
|
67
|
+
"command": "npx",
|
|
68
|
+
"args": ["-y", "coil-mcp"],
|
|
69
|
+
"env": { "COIL_LICENSE_KEY": "YOUR_GUMROAD_LICENSE_KEY" }
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
**Any other MCP client** that speaks streamable HTTP: URL `https://mcp.coil.trade/mcp` and the header
|
|
76
|
+
`X-License-Key: YOUR_GUMROAD_LICENSE_KEY` (on your client's own header setting). A client that only
|
|
77
|
+
launches commands can run the bridge: `COIL_LICENSE_KEY=your_key npx -y coil-mcp`.
|
|
50
78
|
|
|
51
79
|
```
|
|
52
80
|
COIL_LICENSE_KEY=your_key npx -y coil-mcp # subscription
|
|
53
81
|
COIL_KEY=your_free_key npx -y coil-mcp # free key: 25 live calls/day on the cheap slices
|
|
54
82
|
```
|
|
55
83
|
|
|
84
|
+
**Mind the size of `get_engine_feed`.** Measured: the unfiltered feed is about **1.35 MB**
|
|
85
|
+
(hundreds of thousands of tokens) and a plain 2-name `symbols` poll is about 70 KB. Do not read the
|
|
86
|
+
unfiltered feed into a model's context. Poll with `{"symbols": ["NVDA","MU"], "compact": true}`
|
|
87
|
+
(about 12 KB for two names). Optional `fields` picks engine fields; `limit` + `cursor` page the
|
|
88
|
+
board by symbol. Omit all of them and you get the full payload, unchanged. Call `get_live_setup`
|
|
89
|
+
(free, no key) for the connect guide and the polling cadence.
|
|
90
|
+
|
|
56
91
|
Mint a free key with no signup flow:
|
|
57
92
|
|
|
58
93
|
```
|
|
@@ -65,7 +100,7 @@ The signature moves no funds. See [coil.trade/auth.md](https://coil.trade/auth.m
|
|
|
65
100
|
|
|
66
101
|
## What this package is
|
|
67
102
|
|
|
68
|
-
A dependency-free stdio bridge. It forwards JSON-RPC verbatim to `https://coil.trade/mcp` and
|
|
103
|
+
A dependency-free stdio bridge. It forwards JSON-RPC verbatim to `https://mcp.coil.trade/mcp` and
|
|
69
104
|
never inspects, rewrites or caches a payload — whatever the server supports, this supports,
|
|
70
105
|
including tools added after you installed it. Point it elsewhere with `COIL_MCP_URL`.
|
|
71
106
|
|
package/bin/coil-mcp.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
// coil-mcp — stdio bridge to Coil's remote MCP server (https://coil.trade/mcp).
|
|
2
|
+
// coil-mcp — stdio bridge to Coil's remote MCP server (https://mcp.coil.trade/mcp).
|
|
3
3
|
//
|
|
4
4
|
// WHY THIS EXISTS: Claude Code speaks remote MCP natively, so for that client this package is
|
|
5
5
|
// redundant. It exists for the clients that only speak stdio (Claude Desktop configs, Cursor,
|
|
@@ -11,14 +11,17 @@
|
|
|
11
11
|
// abandons, and a market-data bridge asking for transitive trust is a bad trade. Node 18+ has
|
|
12
12
|
// fetch and that is all this needs.
|
|
13
13
|
//
|
|
14
|
-
// npx -y coil-mcp # free tier:
|
|
14
|
+
// npx -y coil-mcp # free tier: a sample of the board, delayed, no key, no wallet
|
|
15
15
|
// COIL_KEY=... npx -y coil-mcp # free key -> higher daily limit on the cheap slices
|
|
16
16
|
// COIL_LICENSE_KEY=... npx -y coil-mcp # Coil Live subscription -> every *_live tool
|
|
17
17
|
//
|
|
18
18
|
// It is a PROXY, not a client: it forwards JSON-RPC verbatim and never inspects, rewrites or
|
|
19
19
|
// caches a payload. Whatever the server supports, this supports, including tools added later.
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
import { readFileSync } from "node:fs";
|
|
21
|
+
|
|
22
|
+
const ENDPOINT = process.env.COIL_MCP_URL || "https://mcp.coil.trade/mcp";
|
|
23
|
+
// Read from the package's own package.json so the UA can never drift from the published version.
|
|
24
|
+
const VERSION = JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf8")).version;
|
|
22
25
|
|
|
23
26
|
function headers() {
|
|
24
27
|
const h = {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "coil-mcp",
|
|
3
|
-
"version": "1.7.
|
|
4
|
-
"description": "MCP server for live US stock market data and trading signals \u2014 market regime (risk-on/risk-off), ranked buy lists, 0-100 opportunity and hold scores across
|
|
3
|
+
"version": "1.7.2",
|
|
4
|
+
"description": "MCP server for live US stock market data and trading signals \u2014 market regime (risk-on/risk-off), ranked buy lists, 0-100 opportunity and hold scores across 650+ US stocks and ETFs (S&P 500, Nasdaq-100 and a macro book), sector rotation, and a 24/7 read of 81 crypto coins (a read, not trading signals). Free tier needs no key, no wallet, no signup; pay-per-call over x402 in USDC for live data.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"mcp",
|
|
7
7
|
"modelcontextprotocol",
|