@crush-protocol/mcp-client 0.4.2 → 0.4.4
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/INSTRUCTIONS.md +21 -1
- package/README.md +278 -369
- package/dist/cli.js +140 -12
- package/dist/config.d.ts +4 -0
- package/dist/config.js +4 -0
- package/dist/mcp/authPreflight.d.ts +9 -0
- package/dist/mcp/authPreflight.js +26 -0
- package/dist/mcp/oauthProvider.d.ts +2 -0
- package/dist/mcp/oauthProvider.js +21 -11
- package/dist/mcp/oauthRemoteClient.d.ts +3 -0
- package/dist/mcp/oauthRemoteClient.js +31 -18
- package/dist/mcp/oauthStorage.d.ts +29 -0
- package/dist/mcp/oauthStorage.js +81 -0
- package/dist/mcp/proxy.js +30 -137
- package/dist/onboarding/cliOutput.d.ts +14 -0
- package/dist/onboarding/cliOutput.js +80 -0
- package/dist/setup/setupClients.d.ts +8 -1
- package/dist/setup/setupClients.js +23 -20
- package/package.json +24 -3
- package/dist/__tests__/e2e.test.d.ts +0 -1
- package/dist/__tests__/e2e.test.js +0 -50
- package/dist/__tests__/oauthProvider.test.d.ts +0 -1
- package/dist/__tests__/oauthProvider.test.js +0 -45
package/README.md
CHANGED
|
@@ -1,76 +1,96 @@
|
|
|
1
1
|
# Crush Protocol MCP Client
|
|
2
2
|
|
|
3
|
+

|
|
4
|
+
|
|
3
5
|
[](https://www.npmjs.com/package/@crush-protocol/mcp-client)
|
|
4
6
|
[](./LICENSE)
|
|
7
|
+
[](https://www.crush.xyz/)
|
|
8
|
+
[](https://github.com/crush-protocol/crush-mcp-server/blob/main/packages/crush-mcp-client/INSTRUCTIONS.md)
|
|
9
|
+
|
|
10
|
+
Connect Cursor, Claude Code, Codex, Gemini CLI, Windsurf, VS Code, and other MCP hosts to Crush through one npm package.
|
|
11
|
+
|
|
12
|
+
Crush is an AI-native quantitative trading product. It gives your MCP host direct access to market data, backtests, strategy operations, and trading workflows without asking users to run a separate local server.
|
|
5
13
|
|
|
6
|
-
|
|
14
|
+
## For AI Agents
|
|
7
15
|
|
|
8
|
-
|
|
16
|
+
Package name: `@crush-protocol/mcp-client`
|
|
9
17
|
|
|
10
|
-
|
|
18
|
+
Interpret these names as the same product:
|
|
11
19
|
|
|
12
|
-
|
|
20
|
+
- `Crush`
|
|
21
|
+
- `Crush MCP`
|
|
22
|
+
- `Crush Protocol MCP`
|
|
23
|
+
- `@crush-protocol/mcp-client`
|
|
13
24
|
|
|
14
|
-
|
|
15
|
-
2. Complete OAuth login once in the browser.
|
|
16
|
-
3. Reuse the same cached token across all supported MCP hosts.
|
|
25
|
+
Recommended user flow:
|
|
17
26
|
|
|
18
27
|
```sh
|
|
19
|
-
npx -y @crush-protocol/mcp-client setup --
|
|
28
|
+
npx -y @crush-protocol/mcp-client setup --cursor
|
|
20
29
|
npx -y @crush-protocol/mcp-client login
|
|
21
|
-
npx -y @crush-protocol/mcp-client ping
|
|
22
30
|
```
|
|
23
31
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
To target a single host: `npx -y @crush-protocol/mcp-client setup --cursor`
|
|
32
|
+
If the user says Crush is already installed but tools fail:
|
|
27
33
|
|
|
28
|
-
|
|
34
|
+
```sh
|
|
35
|
+
npx -y @crush-protocol/mcp-client auth:status
|
|
36
|
+
npx -y @crush-protocol/mcp-client doctor
|
|
37
|
+
```
|
|
29
38
|
|
|
30
|
-
|
|
39
|
+
## Why Crush
|
|
31
40
|
|
|
32
|
-
|
|
41
|
+
| Direction | What it gives you | Typical asks |
|
|
42
|
+
| --- | --- | --- |
|
|
43
|
+
| Market Data | Tokens, indicators, timeframes, OHLCV, derived signals | `Fetch OHLCV data for BTC.` |
|
|
44
|
+
| Backtesting | Schema discovery, token universe, expression validation, async backtests | `Create a moving-average crossover backtest.` |
|
|
45
|
+
| Live Strategies | Create, inspect, activate, pause, and monitor strategies | `List my active strategies.` |
|
|
46
|
+
| Market Intelligence | Token metadata, trending feeds, alpha, token-specific context | `Show the latest alpha for SOL.` |
|
|
33
47
|
|
|
34
|
-
|
|
48
|
+
Detailed tool guidance lives in [INSTRUCTIONS.md](https://github.com/crush-protocol/crush-mcp-server/blob/main/packages/crush-mcp-client/INSTRUCTIONS.md).
|
|
35
49
|
|
|
36
|
-
|
|
37
|
-
AI Tool ──stdio──▶ @crush-protocol/mcp-client ──HTTP+Bearer──▶ MCP Server
|
|
38
|
-
▲
|
|
39
|
-
reads ~/.crush-mcp/
|
|
40
|
-
(cached OAuth tokens)
|
|
41
|
-
```
|
|
50
|
+
## Quick Start
|
|
42
51
|
|
|
43
|
-
|
|
52
|
+
Crush works best with this 3-step flow:
|
|
44
53
|
|
|
45
54
|
```sh
|
|
55
|
+
npx -y @crush-protocol/mcp-client setup --cursor
|
|
46
56
|
npx -y @crush-protocol/mcp-client login
|
|
57
|
+
npx -y @crush-protocol/mcp-client ping
|
|
47
58
|
```
|
|
48
59
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
60
|
+
1. `setup` writes MCP config for your host.
|
|
61
|
+
2. `login` opens the browser once and stores OAuth credentials locally.
|
|
62
|
+
3. `ping` confirms this machine can reach the hosted Crush MCP.
|
|
52
63
|
|
|
53
|
-
|
|
64
|
+
The official hosted Crush MCP is built in. End users do not need to paste a server URL.
|
|
54
65
|
|
|
55
|
-
|
|
66
|
+
If you want to configure every supported host on the machine at once:
|
|
56
67
|
|
|
57
|
-
|
|
68
|
+
```sh
|
|
69
|
+
npx -y @crush-protocol/mcp-client setup --all
|
|
70
|
+
```
|
|
58
71
|
|
|
59
|
-
|
|
72
|
+
## Two Ways To Connect
|
|
60
73
|
|
|
61
|
-
|
|
74
|
+
### 1. Recommended: Setup Helper
|
|
62
75
|
|
|
63
|
-
|
|
76
|
+
Use the setup command when you want Crush to install the MCP entry for you:
|
|
64
77
|
|
|
65
|
-
|
|
78
|
+
```sh
|
|
79
|
+
npx -y @crush-protocol/mcp-client setup --cursor
|
|
80
|
+
npx -y @crush-protocol/mcp-client setup --claude
|
|
81
|
+
npx -y @crush-protocol/mcp-client setup --codex
|
|
82
|
+
npx -y @crush-protocol/mcp-client setup --all
|
|
83
|
+
```
|
|
66
84
|
|
|
67
|
-
|
|
68
|
-
<summary><strong>Cursor</strong></summary>
|
|
85
|
+
After `setup`, restart the host once, then run:
|
|
69
86
|
|
|
70
|
-
|
|
87
|
+
```sh
|
|
88
|
+
npx -y @crush-protocol/mcp-client login
|
|
89
|
+
```
|
|
71
90
|
|
|
72
|
-
|
|
91
|
+
### 2. Manual: Standard MCP Host Config
|
|
73
92
|
|
|
93
|
+
If your MCP host prefers manual config, this is the canonical local stdio entry:
|
|
74
94
|
|
|
75
95
|
```json
|
|
76
96
|
{
|
|
@@ -83,68 +103,44 @@ Detailed tool guidance is in [INSTRUCTIONS.md](./INSTRUCTIONS.md).
|
|
|
83
103
|
}
|
|
84
104
|
```
|
|
85
105
|
|
|
106
|
+
Most MCP hosts can run Crush with exactly this command shape.
|
|
86
107
|
|
|
87
|
-
|
|
108
|
+
## Client Install Guide
|
|
88
109
|
|
|
89
|
-
|
|
90
|
-
<summary><strong>Claude Code</strong></summary>
|
|
110
|
+
### Popular Clients
|
|
91
111
|
|
|
92
|
-
|
|
112
|
+
| Client | Best path | Notes |
|
|
113
|
+
| --- | --- | --- |
|
|
114
|
+
| Cursor | `setup --cursor` or one-click install | Supports MCP install deeplink |
|
|
115
|
+
| Claude Code | `setup --claude` or `claude mcp add ...` | Good for terminal-first workflows |
|
|
116
|
+
| OpenAI Codex | `setup --codex` | Uses `~/.codex/config.toml` |
|
|
117
|
+
| Gemini CLI | `setup --gemini` | Uses `~/.gemini/settings.json` |
|
|
118
|
+
| OpenCode | `setup --opencode` | Uses `~/.config/opencode/opencode.json` |
|
|
119
|
+
| VS Code | `setup --vscode --scope project` | Good for repo-local setups |
|
|
120
|
+
| Windsurf | `setup --windsurf` | Standard JSON MCP config |
|
|
121
|
+
| Claude Desktop | `setup --claude-desktop` | Desktop app config |
|
|
122
|
+
| Warp | `setup --warp` | Warp MCP config |
|
|
93
123
|
|
|
124
|
+
## Install By Client
|
|
94
125
|
|
|
95
|
-
|
|
96
|
-
claude mcp add --scope user crush-protocol -- npx -y @crush-protocol/mcp-client
|
|
97
|
-
```
|
|
126
|
+
Each client below keeps the install steps folded, but the client name stays at the same heading level as the rest of the document.
|
|
98
127
|
|
|
99
|
-
|
|
100
|
-
</details>
|
|
128
|
+
### Cursor
|
|
101
129
|
|
|
102
130
|
<details>
|
|
103
|
-
<summary
|
|
131
|
+
<summary>Show install steps</summary>
|
|
104
132
|
|
|
105
|
-
[
|
|
133
|
+
[Cursor MCP docs](https://docs.cursor.com/context/model-context-protocol)
|
|
106
134
|
|
|
135
|
+
Setup helper:
|
|
107
136
|
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
"$schema": "https://opencode.ai/config.json",
|
|
111
|
-
"mcp": {
|
|
112
|
-
"crush-protocol": {
|
|
113
|
-
"type": "local",
|
|
114
|
-
"command": ["npx", "-y", "@crush-protocol/mcp-client"],
|
|
115
|
-
"enabled": true
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
</details>
|
|
123
|
-
|
|
124
|
-
<details>
|
|
125
|
-
<summary><strong>OpenAI Codex</strong></summary>
|
|
126
|
-
|
|
127
|
-
[OpenAI Codex MCP docs](https://developers.openai.com/codex/mcp)
|
|
128
|
-
|
|
129
|
-
**CLI:** `codex mcp add crush-protocol -- npx -y @crush-protocol/mcp-client`
|
|
130
|
-
|
|
131
|
-
**Local** (add to `~/.codex/config.toml`):
|
|
132
|
-
|
|
133
|
-
```toml
|
|
134
|
-
[mcp_servers.crush-protocol]
|
|
135
|
-
command = "npx"
|
|
136
|
-
args = ["-y", "@crush-protocol/mcp-client"]
|
|
137
|
-
startup_timeout_ms = 20000
|
|
137
|
+
```sh
|
|
138
|
+
npx -y @crush-protocol/mcp-client setup --cursor
|
|
138
139
|
```
|
|
139
140
|
|
|
141
|
+
[](https://cursor.com/install-mcp?name=crush-protocol&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBjcnVzaC1wcm90b2NvbC9tY3AtY2xpZW50Il19)
|
|
140
142
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
<details>
|
|
144
|
-
<summary><strong>Google Gemini CLI</strong></summary>
|
|
145
|
-
|
|
146
|
-
[Gemini CLI Configuration](https://google-gemini.github.io/gemini-cli/docs/tools/mcp-server.html) · Add to `~/.gemini/settings.json`
|
|
147
|
-
|
|
143
|
+
Manual config:
|
|
148
144
|
|
|
149
145
|
```json
|
|
150
146
|
{
|
|
@@ -159,88 +155,71 @@ startup_timeout_ms = 20000
|
|
|
159
155
|
|
|
160
156
|
</details>
|
|
161
157
|
|
|
158
|
+
### Claude Code
|
|
159
|
+
|
|
162
160
|
<details>
|
|
163
|
-
<summary
|
|
161
|
+
<summary>Show install steps</summary>
|
|
164
162
|
|
|
165
|
-
[
|
|
163
|
+
[Claude Code MCP docs](https://docs.anthropic.com/en/docs/claude-code/mcp)
|
|
166
164
|
|
|
165
|
+
Recommended:
|
|
167
166
|
|
|
168
|
-
```
|
|
169
|
-
|
|
170
|
-
"servers": {
|
|
171
|
-
"crush-protocol": {
|
|
172
|
-
"type": "stdio",
|
|
173
|
-
"command": "npx",
|
|
174
|
-
"args": ["-y", "@crush-protocol/mcp-client"]
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
}
|
|
167
|
+
```sh
|
|
168
|
+
npx -y @crush-protocol/mcp-client setup --claude
|
|
178
169
|
```
|
|
179
170
|
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
<details>
|
|
183
|
-
<summary><strong>Windsurf</strong></summary>
|
|
184
|
-
|
|
185
|
-
[Windsurf MCP docs](https://docs.windsurf.com/windsurf/cascade/mcp)
|
|
186
|
-
|
|
171
|
+
Host-native command:
|
|
187
172
|
|
|
188
|
-
```
|
|
189
|
-
|
|
190
|
-
"mcpServers": {
|
|
191
|
-
"crush-protocol": {
|
|
192
|
-
"command": "npx",
|
|
193
|
-
"args": ["-y", "@crush-protocol/mcp-client"]
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
}
|
|
173
|
+
```sh
|
|
174
|
+
claude mcp add --scope user crush-protocol -- npx -y @crush-protocol/mcp-client
|
|
197
175
|
```
|
|
198
176
|
|
|
199
177
|
</details>
|
|
200
178
|
|
|
179
|
+
### OpenAI Codex
|
|
180
|
+
|
|
201
181
|
<details>
|
|
202
|
-
<summary
|
|
182
|
+
<summary>Show install steps</summary>
|
|
203
183
|
|
|
204
|
-
[
|
|
184
|
+
[OpenAI Codex MCP docs](https://developers.openai.com/codex/mcp)
|
|
205
185
|
|
|
186
|
+
Recommended:
|
|
206
187
|
|
|
207
|
-
```
|
|
208
|
-
|
|
209
|
-
"mcpServers": {
|
|
210
|
-
"crush-protocol": {
|
|
211
|
-
"command": "npx",
|
|
212
|
-
"args": ["-y", "@crush-protocol/mcp-client"]
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
}
|
|
188
|
+
```sh
|
|
189
|
+
npx -y @crush-protocol/mcp-client setup --codex
|
|
216
190
|
```
|
|
217
191
|
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
<details>
|
|
221
|
-
<summary><strong>Kiro</strong></summary>
|
|
192
|
+
Host-native command:
|
|
222
193
|
|
|
223
|
-
|
|
194
|
+
```sh
|
|
195
|
+
codex mcp add crush-protocol -- npx -y @crush-protocol/mcp-client
|
|
196
|
+
```
|
|
224
197
|
|
|
198
|
+
Manual config:
|
|
225
199
|
|
|
226
|
-
```
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
"args": ["-y", "@crush-protocol/mcp-client"]
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
}
|
|
200
|
+
```toml
|
|
201
|
+
[mcp_servers.crush-protocol]
|
|
202
|
+
command = "npx"
|
|
203
|
+
args = ["-y", "@crush-protocol/mcp-client"]
|
|
204
|
+
startup_timeout_ms = 20000
|
|
235
205
|
```
|
|
236
206
|
|
|
237
207
|
</details>
|
|
238
208
|
|
|
209
|
+
### Gemini CLI
|
|
210
|
+
|
|
239
211
|
<details>
|
|
240
|
-
<summary
|
|
212
|
+
<summary>Show install steps</summary>
|
|
213
|
+
|
|
214
|
+
[Gemini CLI MCP docs](https://google-gemini.github.io/gemini-cli/docs/tools/mcp-server.html)
|
|
215
|
+
|
|
216
|
+
Recommended:
|
|
241
217
|
|
|
242
|
-
|
|
218
|
+
```sh
|
|
219
|
+
npx -y @crush-protocol/mcp-client setup --gemini
|
|
220
|
+
```
|
|
243
221
|
|
|
222
|
+
Manual config:
|
|
244
223
|
|
|
245
224
|
```json
|
|
246
225
|
{
|
|
@@ -255,18 +234,29 @@ startup_timeout_ms = 20000
|
|
|
255
234
|
|
|
256
235
|
</details>
|
|
257
236
|
|
|
237
|
+
### OpenCode
|
|
238
|
+
|
|
258
239
|
<details>
|
|
259
|
-
<summary
|
|
240
|
+
<summary>Show install steps</summary>
|
|
260
241
|
|
|
261
|
-
[
|
|
242
|
+
[OpenCode MCP docs](https://opencode.ai/docs/mcp-servers)
|
|
262
243
|
|
|
244
|
+
Recommended:
|
|
245
|
+
|
|
246
|
+
```sh
|
|
247
|
+
npx -y @crush-protocol/mcp-client setup --opencode
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
Manual config:
|
|
263
251
|
|
|
264
252
|
```json
|
|
265
253
|
{
|
|
266
|
-
"
|
|
254
|
+
"$schema": "https://opencode.ai/config.json",
|
|
255
|
+
"mcp": {
|
|
267
256
|
"crush-protocol": {
|
|
268
|
-
"
|
|
269
|
-
"
|
|
257
|
+
"type": "local",
|
|
258
|
+
"command": ["npx", "-y", "@crush-protocol/mcp-client"],
|
|
259
|
+
"enabled": true
|
|
270
260
|
}
|
|
271
261
|
}
|
|
272
262
|
}
|
|
@@ -274,16 +264,26 @@ startup_timeout_ms = 20000
|
|
|
274
264
|
|
|
275
265
|
</details>
|
|
276
266
|
|
|
267
|
+
### VS Code
|
|
268
|
+
|
|
277
269
|
<details>
|
|
278
|
-
<summary
|
|
270
|
+
<summary>Show install steps</summary>
|
|
271
|
+
|
|
272
|
+
[VS Code MCP docs](https://code.visualstudio.com/docs/copilot/chat/mcp-servers)
|
|
273
|
+
|
|
274
|
+
Recommended project-local setup:
|
|
279
275
|
|
|
280
|
-
|
|
276
|
+
```sh
|
|
277
|
+
npx -y @crush-protocol/mcp-client setup --vscode --scope project
|
|
278
|
+
```
|
|
281
279
|
|
|
280
|
+
Add to `.vscode/mcp.json`:
|
|
282
281
|
|
|
283
282
|
```json
|
|
284
283
|
{
|
|
285
|
-
"
|
|
284
|
+
"servers": {
|
|
286
285
|
"crush-protocol": {
|
|
286
|
+
"type": "stdio",
|
|
287
287
|
"command": "npx",
|
|
288
288
|
"args": ["-y", "@crush-protocol/mcp-client"]
|
|
289
289
|
}
|
|
@@ -293,40 +293,25 @@ startup_timeout_ms = 20000
|
|
|
293
293
|
|
|
294
294
|
</details>
|
|
295
295
|
|
|
296
|
+
### Windsurf
|
|
297
|
+
|
|
296
298
|
<details>
|
|
297
|
-
<summary
|
|
299
|
+
<summary>Show install steps</summary>
|
|
298
300
|
|
|
299
|
-
|
|
300
|
-
2. Enter command: `npx -y @crush-protocol/mcp-client`
|
|
301
|
-
3. Name: `crush-protocol` → Click Add
|
|
301
|
+
[Windsurf MCP docs](https://docs.windsurf.com/windsurf/cascade/mcp)
|
|
302
302
|
|
|
303
|
-
|
|
303
|
+
Recommended:
|
|
304
304
|
|
|
305
|
-
```
|
|
306
|
-
|
|
307
|
-
"mcpServers": [
|
|
308
|
-
{
|
|
309
|
-
"name": "crush-protocol",
|
|
310
|
-
"command": "npx",
|
|
311
|
-
"args": ["-y", "@crush-protocol/mcp-client"]
|
|
312
|
-
}
|
|
313
|
-
]
|
|
314
|
-
}
|
|
305
|
+
```sh
|
|
306
|
+
npx -y @crush-protocol/mcp-client setup --windsurf
|
|
315
307
|
```
|
|
316
308
|
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
<details>
|
|
320
|
-
<summary><strong>Copilot Coding Agent</strong></summary>
|
|
321
|
-
|
|
322
|
-
[GitHub Copilot MCP docs](https://docs.github.com/en/enterprise-cloud@latest/copilot/how-tos/agents/copilot-coding-agent/extending-copilot-coding-agent-with-mcp)
|
|
323
|
-
|
|
309
|
+
Manual config:
|
|
324
310
|
|
|
325
311
|
```json
|
|
326
312
|
{
|
|
327
313
|
"mcpServers": {
|
|
328
314
|
"crush-protocol": {
|
|
329
|
-
"type": "local",
|
|
330
315
|
"command": "npx",
|
|
331
316
|
"args": ["-y", "@crush-protocol/mcp-client"]
|
|
332
317
|
}
|
|
@@ -336,30 +321,20 @@ Manual config in VS Code settings:
|
|
|
336
321
|
|
|
337
322
|
</details>
|
|
338
323
|
|
|
324
|
+
### Claude Desktop
|
|
325
|
+
|
|
339
326
|
<details>
|
|
340
|
-
<summary
|
|
327
|
+
<summary>Show install steps</summary>
|
|
341
328
|
|
|
342
|
-
|
|
329
|
+
[Claude Desktop MCP docs](https://modelcontextprotocol.io/quickstart/user)
|
|
343
330
|
|
|
331
|
+
Recommended:
|
|
344
332
|
|
|
345
|
-
```
|
|
346
|
-
|
|
347
|
-
"mcpServers": {
|
|
348
|
-
"crush-protocol": {
|
|
349
|
-
"type": "local",
|
|
350
|
-
"command": "npx",
|
|
351
|
-
"args": ["-y", "@crush-protocol/mcp-client"]
|
|
352
|
-
}
|
|
353
|
-
}
|
|
354
|
-
}
|
|
333
|
+
```sh
|
|
334
|
+
npx -y @crush-protocol/mcp-client setup --claude-desktop
|
|
355
335
|
```
|
|
356
336
|
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
<details>
|
|
360
|
-
<summary><strong>Amazon Q Developer CLI</strong></summary>
|
|
361
|
-
|
|
362
|
-
[Amazon Q Developer CLI docs](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/command-line-mcp-configuration.html)
|
|
337
|
+
Manual config:
|
|
363
338
|
|
|
364
339
|
```json
|
|
365
340
|
{
|
|
@@ -374,10 +349,20 @@ Add to `~/.copilot/mcp-config.json`:
|
|
|
374
349
|
|
|
375
350
|
</details>
|
|
376
351
|
|
|
352
|
+
### Warp
|
|
353
|
+
|
|
377
354
|
<details>
|
|
378
|
-
<summary
|
|
355
|
+
<summary>Show install steps</summary>
|
|
356
|
+
|
|
357
|
+
[Warp MCP docs](https://docs.warp.dev/knowledge-and-collaboration/mcp#adding-an-mcp-server)
|
|
379
358
|
|
|
380
|
-
|
|
359
|
+
Recommended:
|
|
360
|
+
|
|
361
|
+
```sh
|
|
362
|
+
npx -y @crush-protocol/mcp-client setup --warp
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
Add to Warp MCP config:
|
|
381
366
|
|
|
382
367
|
```json
|
|
383
368
|
{
|
|
@@ -393,21 +378,14 @@ Add to `~/.copilot/mcp-config.json`:
|
|
|
393
378
|
|
|
394
379
|
</details>
|
|
395
380
|
|
|
396
|
-
|
|
397
|
-
<summary><strong>Amp</strong></summary>
|
|
398
|
-
|
|
399
|
-
[Amp MCP docs](https://ampcode.com/manual#mcp)
|
|
400
|
-
|
|
401
|
-
```sh
|
|
402
|
-
amp mcp add crush-protocol -- npx -y @crush-protocol/mcp-client
|
|
403
|
-
```
|
|
404
|
-
|
|
405
|
-
</details>
|
|
381
|
+
### Zed
|
|
406
382
|
|
|
407
383
|
<details>
|
|
408
|
-
<summary
|
|
384
|
+
<summary>Show install steps</summary>
|
|
409
385
|
|
|
410
|
-
[Zed Context Server docs](https://zed.dev/docs/assistant/context-servers)
|
|
386
|
+
[Zed Context Server docs](https://zed.dev/docs/assistant/context-servers)
|
|
387
|
+
|
|
388
|
+
Add to `settings.json`:
|
|
411
389
|
|
|
412
390
|
```json
|
|
413
391
|
{
|
|
@@ -423,18 +401,19 @@ amp mcp add crush-protocol -- npx -y @crush-protocol/mcp-client
|
|
|
423
401
|
|
|
424
402
|
</details>
|
|
425
403
|
|
|
426
|
-
|
|
427
|
-
<summary><strong>JetBrains AI Assistant</strong></summary>
|
|
404
|
+
### Windows
|
|
428
405
|
|
|
429
|
-
|
|
406
|
+
<details>
|
|
407
|
+
<summary>Show install steps</summary>
|
|
430
408
|
|
|
409
|
+
If your host requires `cmd` wrapping on Windows:
|
|
431
410
|
|
|
432
411
|
```json
|
|
433
412
|
{
|
|
434
413
|
"mcpServers": {
|
|
435
414
|
"crush-protocol": {
|
|
436
|
-
"command": "
|
|
437
|
-
"args": ["-y", "@crush-protocol/mcp-client"]
|
|
415
|
+
"command": "cmd",
|
|
416
|
+
"args": ["/c", "npx", "-y", "@crush-protocol/mcp-client"]
|
|
438
417
|
}
|
|
439
418
|
}
|
|
440
419
|
}
|
|
@@ -442,37 +421,37 @@ amp mcp add crush-protocol -- npx -y @crush-protocol/mcp-client
|
|
|
442
421
|
|
|
443
422
|
</details>
|
|
444
423
|
|
|
445
|
-
|
|
446
|
-
<summary><strong>Qwen Code</strong></summary>
|
|
424
|
+
### Bun And Deno
|
|
447
425
|
|
|
448
|
-
|
|
426
|
+
<details>
|
|
427
|
+
<summary>Show install steps</summary>
|
|
449
428
|
|
|
450
|
-
|
|
429
|
+
Use these only when your host runs MCP processes through Bun or Deno instead of Node.
|
|
451
430
|
|
|
452
431
|
```json
|
|
453
432
|
{
|
|
454
433
|
"mcpServers": {
|
|
455
434
|
"crush-protocol": {
|
|
456
|
-
"command": "
|
|
435
|
+
"command": "bunx",
|
|
457
436
|
"args": ["-y", "@crush-protocol/mcp-client"]
|
|
458
437
|
}
|
|
459
438
|
}
|
|
460
439
|
}
|
|
461
440
|
```
|
|
462
441
|
|
|
463
|
-
</details>
|
|
464
|
-
|
|
465
|
-
<details>
|
|
466
|
-
<summary><strong>LM Studio</strong></summary>
|
|
467
|
-
|
|
468
|
-
[LM Studio MCP Support](https://lmstudio.ai/blog/lmstudio-v0.3.17) · Navigate `Program` → `Install` → `Edit mcp.json`
|
|
469
|
-
|
|
470
442
|
```json
|
|
471
443
|
{
|
|
472
444
|
"mcpServers": {
|
|
473
445
|
"crush-protocol": {
|
|
474
|
-
"command": "
|
|
475
|
-
"args": [
|
|
446
|
+
"command": "deno",
|
|
447
|
+
"args": [
|
|
448
|
+
"run",
|
|
449
|
+
"--allow-env",
|
|
450
|
+
"--allow-net",
|
|
451
|
+
"--allow-read",
|
|
452
|
+
"--allow-write",
|
|
453
|
+
"npm:@crush-protocol/mcp-client"
|
|
454
|
+
]
|
|
476
455
|
}
|
|
477
456
|
}
|
|
478
457
|
}
|
|
@@ -480,192 +459,122 @@ amp mcp add crush-protocol -- npx -y @crush-protocol/mcp-client
|
|
|
480
459
|
|
|
481
460
|
</details>
|
|
482
461
|
|
|
483
|
-
|
|
484
|
-
<summary><strong>Visual Studio 2022</strong></summary>
|
|
485
|
-
|
|
486
|
-
[Visual Studio MCP docs](https://learn.microsoft.com/visualstudio/ide/mcp-servers?view=vs-2022)
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
```json
|
|
490
|
-
{
|
|
491
|
-
"mcp": {
|
|
492
|
-
"servers": {
|
|
493
|
-
"crush-protocol": {
|
|
494
|
-
"type": "stdio",
|
|
495
|
-
"command": "npx",
|
|
496
|
-
"args": ["-y", "@crush-protocol/mcp-client"]
|
|
497
|
-
}
|
|
498
|
-
}
|
|
499
|
-
}
|
|
500
|
-
}
|
|
501
|
-
```
|
|
502
|
-
|
|
503
|
-
</details>
|
|
462
|
+
### Other Native Commands
|
|
504
463
|
|
|
505
464
|
<details>
|
|
506
|
-
<summary
|
|
465
|
+
<summary>Show install commands</summary>
|
|
507
466
|
|
|
508
|
-
|
|
467
|
+
```sh
|
|
468
|
+
# Amp
|
|
469
|
+
amp mcp add crush-protocol -- npx -y @crush-protocol/mcp-client
|
|
509
470
|
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
"mcpServers": {
|
|
513
|
-
"crush-protocol": {
|
|
514
|
-
"command": "npx",
|
|
515
|
-
"args": ["-y", "@crush-protocol/mcp-client"]
|
|
516
|
-
}
|
|
517
|
-
}
|
|
518
|
-
}
|
|
471
|
+
# Qwen Code
|
|
472
|
+
qwen mcp add crush-protocol npx -y @crush-protocol/mcp-client
|
|
519
473
|
```
|
|
520
474
|
|
|
521
475
|
</details>
|
|
522
476
|
|
|
523
|
-
|
|
524
|
-
<summary><strong>Perplexity Desktop</strong></summary>
|
|
477
|
+
### More Supported Hosts
|
|
525
478
|
|
|
526
|
-
|
|
479
|
+
Crush also works in additional MCP-capable clients. Use their native docs for the final config shape:
|
|
527
480
|
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
481
|
+
[](https://kiro.dev/docs/mcp/configuration/)
|
|
482
|
+
[](https://docs.roocode.com/features/mcp/using-mcp-in-roo)
|
|
483
|
+
[](https://cline.bot/mcp-marketplace)
|
|
484
|
+
[](https://docs.trae.ai/ide/model-context-protocol?_lang=en)
|
|
485
|
+
[](https://docs.augmentcode.com/)
|
|
486
|
+
[](https://docs.github.com/en/enterprise-cloud@latest/copilot/how-tos/agents/copilot-coding-agent/extending-copilot-coding-agent-with-mcp)
|
|
487
|
+
[](https://docs.github.com/copilot)
|
|
488
|
+
[](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/command-line-mcp-configuration.html)
|
|
535
489
|
|
|
536
|
-
|
|
490
|
+
[](https://www.jetbrains.com/help/ai-assistant/configure-an-mcp-server.html)
|
|
491
|
+
[](https://lmstudio.ai/blog/lmstudio-v0.3.17)
|
|
492
|
+
[](https://learn.microsoft.com/visualstudio/ide/mcp-servers?view=vs-2022)
|
|
493
|
+
[](https://docs.boltai.com/docs/plugins/mcp-servers)
|
|
494
|
+
[](https://www.perplexity.ai/help-center/en/articles/11502712-local-and-remote-mcps-for-perplexity)
|
|
495
|
+
[](https://kilocode.ai)
|
|
496
|
+
[](https://zencoder.ai)
|
|
497
|
+
[](https://docs.qodo.ai/qodo-documentation/qodo-gen/qodo-gen-chat/agentic-mode/agentic-tools-mcps)
|
|
537
498
|
|
|
538
|
-
|
|
539
|
-
<summary><strong>Kilo Code</strong></summary>
|
|
499
|
+
## What To Ask Crush
|
|
540
500
|
|
|
541
|
-
|
|
501
|
+
### Market Discovery
|
|
542
502
|
|
|
503
|
+
- `List the tokens available in Crush.`
|
|
504
|
+
- `Show me the indicators and timeframes available in Crush.`
|
|
505
|
+
- `Fetch OHLCV data for BTC.`
|
|
543
506
|
|
|
544
|
-
|
|
545
|
-
{
|
|
546
|
-
"mcpServers": {
|
|
547
|
-
"crush-protocol": {
|
|
548
|
-
"command": "npx",
|
|
549
|
-
"args": ["-y", "@crush-protocol/mcp-client"]
|
|
550
|
-
}
|
|
551
|
-
}
|
|
552
|
-
}
|
|
553
|
-
```
|
|
507
|
+
### Backtests
|
|
554
508
|
|
|
555
|
-
|
|
509
|
+
- `Create a simple moving-average crossover backtest.`
|
|
510
|
+
- `Validate this entry expression before backtesting it.`
|
|
511
|
+
- `List my recent backtests.`
|
|
556
512
|
|
|
557
|
-
|
|
558
|
-
<summary><strong>Zencoder</strong></summary>
|
|
513
|
+
### Strategies
|
|
559
514
|
|
|
560
|
-
|
|
515
|
+
- `Show my current live strategies.`
|
|
516
|
+
- `Get the logs for my latest strategy.`
|
|
517
|
+
- `Create a strategy from my best completed backtest.`
|
|
561
518
|
|
|
562
|
-
|
|
563
|
-
{
|
|
564
|
-
"command": "npx",
|
|
565
|
-
"args": ["-y", "@crush-protocol/mcp-client"]
|
|
566
|
-
}
|
|
567
|
-
```
|
|
519
|
+
### Intelligence
|
|
568
520
|
|
|
569
|
-
|
|
521
|
+
- `Show me the latest alpha for SOL.`
|
|
522
|
+
- `Get token info for HYPE.`
|
|
523
|
+
- `What are the trending tokens today?`
|
|
570
524
|
|
|
571
|
-
|
|
572
|
-
<summary><strong>Qodo Gen</strong></summary>
|
|
525
|
+
## Authentication
|
|
573
526
|
|
|
574
|
-
|
|
527
|
+
Crush stores OAuth credentials in `~/.crush-mcp/` and reuses them across supported MCP hosts.
|
|
575
528
|
|
|
529
|
+
If tools appear in your AI host but calls fail with an auth error, run:
|
|
576
530
|
|
|
577
|
-
```
|
|
578
|
-
|
|
579
|
-
"mcpServers": {
|
|
580
|
-
"crush-protocol": {
|
|
581
|
-
"command": "npx",
|
|
582
|
-
"args": ["-y", "@crush-protocol/mcp-client"]
|
|
583
|
-
}
|
|
584
|
-
}
|
|
585
|
-
}
|
|
531
|
+
```sh
|
|
532
|
+
npx -y @crush-protocol/mcp-client login
|
|
586
533
|
```
|
|
587
534
|
|
|
588
|
-
|
|
535
|
+
After login, retry the same request in your MCP host. Token refresh is automatic when possible.
|
|
589
536
|
|
|
590
|
-
|
|
591
|
-
<summary><strong>Using Bun or Deno</strong></summary>
|
|
537
|
+
## Useful Commands
|
|
592
538
|
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
"command": "bunx",
|
|
600
|
-
"args": ["-y", "@crush-protocol/mcp-client"]
|
|
601
|
-
}
|
|
602
|
-
}
|
|
603
|
-
}
|
|
604
|
-
```
|
|
539
|
+
```sh
|
|
540
|
+
# Setup and auth
|
|
541
|
+
npx -y @crush-protocol/mcp-client setup --all
|
|
542
|
+
npx -y @crush-protocol/mcp-client login
|
|
543
|
+
npx -y @crush-protocol/mcp-client auth:status
|
|
544
|
+
npx -y @crush-protocol/mcp-client doctor
|
|
605
545
|
|
|
606
|
-
|
|
546
|
+
# Connectivity and discovery
|
|
547
|
+
npx -y @crush-protocol/mcp-client ping
|
|
548
|
+
npx -y @crush-protocol/mcp-client tools:list
|
|
607
549
|
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
"crush-protocol": {
|
|
612
|
-
"command": "deno",
|
|
613
|
-
"args": [
|
|
614
|
-
"run",
|
|
615
|
-
"--allow-env",
|
|
616
|
-
"--allow-net",
|
|
617
|
-
"--allow-read",
|
|
618
|
-
"--allow-write",
|
|
619
|
-
"npm:@crush-protocol/mcp-client"
|
|
620
|
-
]
|
|
621
|
-
}
|
|
622
|
-
}
|
|
623
|
-
}
|
|
550
|
+
# Backtests
|
|
551
|
+
npx -y @crush-protocol/mcp-client backtest:schema
|
|
552
|
+
npx -y @crush-protocol/mcp-client backtest:list --limit 10
|
|
624
553
|
```
|
|
625
554
|
|
|
626
|
-
|
|
555
|
+
## Troubleshooting
|
|
627
556
|
|
|
628
|
-
|
|
629
|
-
|
|
557
|
+
| Problem | What to do |
|
|
558
|
+
| --- | --- |
|
|
559
|
+
| Tools do not appear after install | Restart the MCP host after `setup` |
|
|
560
|
+
| Tools appear but fail with auth errors | Run `npx -y @crush-protocol/mcp-client login` |
|
|
561
|
+
| Crush was working before but now fails | Run `npx -y @crush-protocol/mcp-client doctor` |
|
|
562
|
+
| You want to confirm local auth state | Run `npx -y @crush-protocol/mcp-client auth:status` |
|
|
563
|
+
| You want a fast connectivity check | Run `npx -y @crush-protocol/mcp-client doctor` |
|
|
564
|
+
| You want to verify end-to-end reachability | Run `npx -y @crush-protocol/mcp-client ping` |
|
|
630
565
|
|
|
631
|
-
|
|
566
|
+
## How It Works
|
|
632
567
|
|
|
633
|
-
```
|
|
634
|
-
|
|
635
|
-
"mcpServers": {
|
|
636
|
-
"crush-protocol": {
|
|
637
|
-
"command": "cmd",
|
|
638
|
-
"args": ["/c", "npx", "-y", "@crush-protocol/mcp-client"]
|
|
639
|
-
}
|
|
640
|
-
}
|
|
641
|
-
}
|
|
568
|
+
```text
|
|
569
|
+
AI host -> @crush-protocol/mcp-client -> Crush hosted MCP
|
|
642
570
|
```
|
|
643
571
|
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
## CLI Usage
|
|
647
|
-
|
|
648
|
-
```sh
|
|
649
|
-
# Auth
|
|
650
|
-
npx -y @crush-protocol/mcp-client login # OAuth login (browser)
|
|
651
|
-
npx -y @crush-protocol/mcp-client setup --all # Auto-write config for all supported hosts
|
|
652
|
-
|
|
653
|
-
# Tools
|
|
654
|
-
npx -y @crush-protocol/mcp-client tools:list # List available tools
|
|
655
|
-
npx -y @crush-protocol/mcp-client ping # Test connectivity
|
|
656
|
-
|
|
657
|
-
# Backtest
|
|
658
|
-
npx -y @crush-protocol/mcp-client backtest:schema # Backtest config schema
|
|
659
|
-
npx -y @crush-protocol/mcp-client backtest:list --limit 10
|
|
660
|
-
```
|
|
572
|
+
The npm package runs as a local stdio MCP process. It loads cached OAuth credentials, connects to the hosted Crush MCP over authenticated HTTP, and forwards tool calls to the server.
|
|
661
573
|
|
|
662
|
-
|
|
574
|
+
## GitHub Activity
|
|
663
575
|
|
|
664
|
-
|
|
665
|
-
|----------|-------------|---------|
|
|
666
|
-
| `CRUSH_MCP_SERVER_URL` | Override the MCP server URL | `https://crush-mcp-ats.dev.xexlab.com/mcp` |
|
|
667
|
-
| `CRUSH_OAUTH_ACCESS_TOKEN` | Skip OAuth, use a pre-existing token | — |
|
|
576
|
+
[](https://star-history.com/#crush-protocol/crush-mcp-server&Date)
|
|
668
577
|
|
|
669
578
|
## License
|
|
670
579
|
|
|
671
|
-
MIT
|
|
580
|
+
Licensed under the [MIT License](https://github.com/crush-protocol/crush-mcp-server/blob/main/LICENSE).
|