coil-mcp 1.7.0 → 1.8.0
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 +49 -9
- package/bin/coil-mcp.mjs +7 -4
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,17 +1,23 @@
|
|
|
1
1
|
# coil-mcp
|
|
2
2
|
|
|
3
|
-
**
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
**A trading desk's discipline for your AI agent, as an MCP server.** Connect it and your agent
|
|
4
|
+
reads the market the way a desk does: the gate first (and cash when it is shut), where money is
|
|
5
|
+
rotating, the names set up inside their entry window, one name before any buy, and whether the
|
|
6
|
+
trend behind what it holds is intact. Every free answer closes with the rule that applies, and
|
|
7
|
+
`why_not` / `check_my_trade` hold a name or a proposed trade against the principles. Underneath
|
|
8
|
+
it is the full catalogue: market regime, ranked buy lists, 0-100 opportunity / entry-timing /
|
|
9
|
+
hold-strength scores across 650+ US stocks and ETFs (S&P 500, Nasdaq-100 and a macro book),
|
|
10
|
+
sector rotation, and a 24/7 read of 81 crypto coins (a read of trend and state, not trading
|
|
11
|
+
signals). Impersonal research, not investment advice.
|
|
6
12
|
|
|
7
13
|
The free tier needs **no key, no wallet, no signup**.
|
|
8
14
|
|
|
9
15
|
## Install
|
|
10
16
|
|
|
11
|
-
|
|
17
|
+
Clients with native remote MCP (Claude Code, for one) do not need this package:
|
|
12
18
|
|
|
13
19
|
```
|
|
14
|
-
claude mcp add --transport http coil https://coil.trade/mcp
|
|
20
|
+
claude mcp add --transport http coil https://mcp.coil.trade/mcp
|
|
15
21
|
```
|
|
16
22
|
|
|
17
23
|
For clients that launch servers by command (Claude Desktop, Cursor, Windsurf), use this bridge:
|
|
@@ -32,7 +38,7 @@ npx -y coil-mcp
|
|
|
32
38
|
|
|
33
39
|
## What you get for free
|
|
34
40
|
|
|
35
|
-
|
|
41
|
+
A sample of the board (top 3 per book, headline fields), delayed one market day, with no account of any kind:
|
|
36
42
|
`get_market_regime`, `get_buy_list`, `get_stock_read`, `get_market_leaders`, `get_sector_read`,
|
|
37
43
|
`get_crypto_trend`, `get_morning_brief`, `get_day_board`, `get_rotation`, `get_crypto_day`,
|
|
38
44
|
`get_crypto_night`, `get_hold_state`.
|
|
@@ -45,14 +51,48 @@ Every free tool has a `*_live` twin. Two ways to open them:
|
|
|
45
51
|
account and no card. A wallet-equipped client pays inline via `params._meta["x402/payment"]`
|
|
46
52
|
(@x402/mcp compatible). Cheapest read is `/api/crypto/gate` at $0.001.
|
|
47
53
|
|
|
48
|
-
**Subscribe** — [Coil Live](https://coil.trade/live-feed) is
|
|
49
|
-
tool plus two sold nowhere else: `get_engine_feed` and `get_live_rules`.
|
|
54
|
+
**Subscribe** — [Coil Live](https://coil.trade/live-feed) is **$49/mo or $419/yr, 7 days free** and
|
|
55
|
+
unlocks every `*_live` tool plus two sold nowhere else: `get_engine_feed` and `get_live_rules`.
|
|
56
|
+
After checkout, Gumroad gives you a license key. Send it as the `X-License-Key` header; the
|
|
57
|
+
MCP URL is `https://mcp.coil.trade/mcp`.
|
|
58
|
+
|
|
59
|
+
**Claude Code** (remote MCP, header sent directly):
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
claude mcp add --transport http coil https://mcp.coil.trade/mcp --header "X-License-Key: YOUR_GUMROAD_LICENSE_KEY"
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
**Claude Desktop, Cursor, Windsurf** (they launch servers by command; the connector UI cannot send a
|
|
66
|
+
custom header, so use this bridge with `COIL_LICENSE_KEY`):
|
|
67
|
+
|
|
68
|
+
```json
|
|
69
|
+
{
|
|
70
|
+
"mcpServers": {
|
|
71
|
+
"coil": {
|
|
72
|
+
"command": "npx",
|
|
73
|
+
"args": ["-y", "coil-mcp"],
|
|
74
|
+
"env": { "COIL_LICENSE_KEY": "YOUR_GUMROAD_LICENSE_KEY" }
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
**Any other MCP client** that speaks streamable HTTP: URL `https://mcp.coil.trade/mcp` and the header
|
|
81
|
+
`X-License-Key: YOUR_GUMROAD_LICENSE_KEY` (on your client's own header setting). A client that only
|
|
82
|
+
launches commands can run the bridge: `COIL_LICENSE_KEY=your_key npx -y coil-mcp`.
|
|
50
83
|
|
|
51
84
|
```
|
|
52
85
|
COIL_LICENSE_KEY=your_key npx -y coil-mcp # subscription
|
|
53
86
|
COIL_KEY=your_free_key npx -y coil-mcp # free key: 25 live calls/day on the cheap slices
|
|
54
87
|
```
|
|
55
88
|
|
|
89
|
+
**Mind the size of `get_engine_feed`.** Measured: the unfiltered feed is about **1.35 MB**
|
|
90
|
+
(hundreds of thousands of tokens) and a plain 2-name `symbols` poll is about 70 KB. Do not read the
|
|
91
|
+
unfiltered feed into a model's context. Poll with `{"symbols": ["NVDA","MU"], "compact": true}`
|
|
92
|
+
(about 12 KB for two names). Optional `fields` picks engine fields; `limit` + `cursor` page the
|
|
93
|
+
board by symbol. Omit all of them and you get the full payload, unchanged. Call `get_live_setup`
|
|
94
|
+
(free, no key) for the connect guide and the polling cadence.
|
|
95
|
+
|
|
56
96
|
Mint a free key with no signup flow:
|
|
57
97
|
|
|
58
98
|
```
|
|
@@ -65,7 +105,7 @@ The signature moves no funds. See [coil.trade/auth.md](https://coil.trade/auth.m
|
|
|
65
105
|
|
|
66
106
|
## What this package is
|
|
67
107
|
|
|
68
|
-
A dependency-free stdio bridge. It forwards JSON-RPC verbatim to `https://coil.trade/mcp` and
|
|
108
|
+
A dependency-free stdio bridge. It forwards JSON-RPC verbatim to `https://mcp.coil.trade/mcp` and
|
|
69
109
|
never inspects, rewrites or caches a payload — whatever the server supports, this supports,
|
|
70
110
|
including tools added after you installed it. Point it elsewhere with `COIL_MCP_URL`.
|
|
71
111
|
|
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.
|
|
4
|
-
"description": "MCP server
|
|
3
|
+
"version": "1.8.0",
|
|
4
|
+
"description": "A trading desk's discipline for your AI agent, as an MCP server: when to trade, when to wait and when to sit in cash, read from a scored board of 650+ US stocks and ETFs (S&P 500, Nasdaq-100 and a macro book) plus a crypto book. Every answer closes with the rule that applies; teaching tools check a trade against the principles. 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",
|