@crush-protocol/mcp-client 0.4.3 → 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 +16 -0
- package/README.md +269 -403
- package/dist/cli.js +6 -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 +8 -1
- package/dist/mcp/oauthRemoteClient.d.ts +3 -0
- package/dist/mcp/oauthRemoteClient.js +31 -18
- package/dist/mcp/proxy.js +29 -114
- package/dist/onboarding/cliOutput.d.ts +2 -0
- package/dist/onboarding/cliOutput.js +15 -0
- package/package.json +24 -3
- package/dist/__tests__/cliOutput.test.d.ts +0 -1
- package/dist/__tests__/cliOutput.test.js +0 -34
- 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/dist/__tests__/oauthStorage.test.d.ts +0 -1
- package/dist/__tests__/oauthStorage.test.js +0 -52
package/README.md
CHANGED
|
@@ -1,85 +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)
|
|
5
9
|
|
|
6
|
-
|
|
10
|
+
Connect Cursor, Claude Code, Codex, Gemini CLI, Windsurf, VS Code, and other MCP hosts to Crush through one npm package.
|
|
7
11
|
|
|
8
|
-
Crush
|
|
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.
|
|
9
13
|
|
|
10
|
-
##
|
|
14
|
+
## For AI Agents
|
|
15
|
+
|
|
16
|
+
Package name: `@crush-protocol/mcp-client`
|
|
11
17
|
|
|
12
|
-
|
|
18
|
+
Interpret these names as the same product:
|
|
19
|
+
|
|
20
|
+
- `Crush`
|
|
21
|
+
- `Crush MCP`
|
|
22
|
+
- `Crush Protocol MCP`
|
|
23
|
+
- `@crush-protocol/mcp-client`
|
|
24
|
+
|
|
25
|
+
Recommended user flow:
|
|
13
26
|
|
|
14
27
|
```sh
|
|
15
28
|
npx -y @crush-protocol/mcp-client setup --cursor
|
|
16
29
|
npx -y @crush-protocol/mcp-client login
|
|
17
|
-
npx -y @crush-protocol/mcp-client ping
|
|
18
30
|
```
|
|
19
31
|
|
|
20
|
-
|
|
32
|
+
If the user says Crush is already installed but tools fail:
|
|
21
33
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
The official hosted MCP URL is built in. Users do not need to add it manually to host configs.
|
|
27
|
-
|
|
28
|
-
To configure every supported host at once, run `npx -y @crush-protocol/mcp-client setup --all`.
|
|
29
|
-
|
|
30
|
-
## What You Can Do
|
|
34
|
+
```sh
|
|
35
|
+
npx -y @crush-protocol/mcp-client auth:status
|
|
36
|
+
npx -y @crush-protocol/mcp-client doctor
|
|
37
|
+
```
|
|
31
38
|
|
|
32
|
-
|
|
39
|
+
## Why Crush
|
|
33
40
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
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.` |
|
|
38
47
|
|
|
39
|
-
Detailed tool guidance
|
|
48
|
+
Detailed tool guidance lives in [INSTRUCTIONS.md](https://github.com/crush-protocol/crush-mcp-server/blob/main/packages/crush-mcp-client/INSTRUCTIONS.md).
|
|
40
49
|
|
|
41
|
-
##
|
|
50
|
+
## Quick Start
|
|
42
51
|
|
|
43
|
-
|
|
52
|
+
Crush works best with this 3-step flow:
|
|
44
53
|
|
|
45
|
-
|
|
46
|
-
-
|
|
47
|
-
-
|
|
48
|
-
-
|
|
49
|
-
|
|
50
|
-
- `Show my current live strategies.`
|
|
54
|
+
```sh
|
|
55
|
+
npx -y @crush-protocol/mcp-client setup --cursor
|
|
56
|
+
npx -y @crush-protocol/mcp-client login
|
|
57
|
+
npx -y @crush-protocol/mcp-client ping
|
|
58
|
+
```
|
|
51
59
|
|
|
52
|
-
|
|
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.
|
|
53
63
|
|
|
54
|
-
Crush
|
|
64
|
+
The official hosted Crush MCP is built in. End users do not need to paste a server URL.
|
|
55
65
|
|
|
56
|
-
If
|
|
66
|
+
If you want to configure every supported host on the machine at once:
|
|
57
67
|
|
|
58
68
|
```sh
|
|
59
|
-
npx -y @crush-protocol/mcp-client
|
|
69
|
+
npx -y @crush-protocol/mcp-client setup --all
|
|
60
70
|
```
|
|
61
71
|
|
|
62
|
-
|
|
72
|
+
## Two Ways To Connect
|
|
63
73
|
|
|
64
|
-
|
|
74
|
+
### 1. Recommended: Setup Helper
|
|
65
75
|
|
|
66
|
-
|
|
76
|
+
Use the setup command when you want Crush to install the MCP entry for you:
|
|
67
77
|
|
|
68
|
-
```
|
|
69
|
-
|
|
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
|
|
70
83
|
```
|
|
71
84
|
|
|
72
|
-
|
|
85
|
+
After `setup`, restart the host once, then run:
|
|
73
86
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
<summary><strong>Cursor</strong></summary>
|
|
78
|
-
|
|
79
|
-
[](https://cursor.com/install-mcp?name=crush-protocol&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBjcnVzaC1wcm90b2NvbC9tY3AtY2xpZW50Il19)
|
|
87
|
+
```sh
|
|
88
|
+
npx -y @crush-protocol/mcp-client login
|
|
89
|
+
```
|
|
80
90
|
|
|
81
|
-
|
|
91
|
+
### 2. Manual: Standard MCP Host Config
|
|
82
92
|
|
|
93
|
+
If your MCP host prefers manual config, this is the canonical local stdio entry:
|
|
83
94
|
|
|
84
95
|
```json
|
|
85
96
|
{
|
|
@@ -92,68 +103,44 @@ Your AI host launches `@crush-protocol/mcp-client` over stdio. The client loads
|
|
|
92
103
|
}
|
|
93
104
|
```
|
|
94
105
|
|
|
106
|
+
Most MCP hosts can run Crush with exactly this command shape.
|
|
95
107
|
|
|
96
|
-
|
|
108
|
+
## Client Install Guide
|
|
97
109
|
|
|
98
|
-
|
|
99
|
-
<summary><strong>Claude Code</strong></summary>
|
|
110
|
+
### Popular Clients
|
|
100
111
|
|
|
101
|
-
|
|
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 |
|
|
102
123
|
|
|
124
|
+
## Install By Client
|
|
103
125
|
|
|
104
|
-
|
|
105
|
-
claude mcp add --scope user crush-protocol -- npx -y @crush-protocol/mcp-client
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
</details>
|
|
110
|
-
|
|
111
|
-
<details>
|
|
112
|
-
<summary><strong>OpenCode</strong></summary>
|
|
113
|
-
|
|
114
|
-
[OpenCode MCP docs](https://opencode.ai/docs/mcp-servers) · Add to `~/.config/opencode/opencode.json`
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
```json
|
|
118
|
-
{
|
|
119
|
-
"$schema": "https://opencode.ai/config.json",
|
|
120
|
-
"mcp": {
|
|
121
|
-
"crush-protocol": {
|
|
122
|
-
"type": "local",
|
|
123
|
-
"command": ["npx", "-y", "@crush-protocol/mcp-client"],
|
|
124
|
-
"enabled": true
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
```
|
|
129
|
-
|
|
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.
|
|
130
127
|
|
|
131
|
-
|
|
128
|
+
### Cursor
|
|
132
129
|
|
|
133
130
|
<details>
|
|
134
|
-
<summary
|
|
135
|
-
|
|
136
|
-
[OpenAI Codex MCP docs](https://developers.openai.com/codex/mcp)
|
|
131
|
+
<summary>Show install steps</summary>
|
|
137
132
|
|
|
138
|
-
|
|
133
|
+
[Cursor MCP docs](https://docs.cursor.com/context/model-context-protocol)
|
|
139
134
|
|
|
140
|
-
|
|
135
|
+
Setup helper:
|
|
141
136
|
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
command = "npx"
|
|
145
|
-
args = ["-y", "@crush-protocol/mcp-client"]
|
|
146
|
-
startup_timeout_ms = 20000
|
|
137
|
+
```sh
|
|
138
|
+
npx -y @crush-protocol/mcp-client setup --cursor
|
|
147
139
|
```
|
|
148
140
|
|
|
141
|
+
[](https://cursor.com/install-mcp?name=crush-protocol&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBjcnVzaC1wcm90b2NvbC9tY3AtY2xpZW50Il19)
|
|
149
142
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
<details>
|
|
153
|
-
<summary><strong>Google Gemini CLI</strong></summary>
|
|
154
|
-
|
|
155
|
-
[Gemini CLI Configuration](https://google-gemini.github.io/gemini-cli/docs/tools/mcp-server.html) · Add to `~/.gemini/settings.json`
|
|
156
|
-
|
|
143
|
+
Manual config:
|
|
157
144
|
|
|
158
145
|
```json
|
|
159
146
|
{
|
|
@@ -168,126 +155,71 @@ startup_timeout_ms = 20000
|
|
|
168
155
|
|
|
169
156
|
</details>
|
|
170
157
|
|
|
171
|
-
|
|
172
|
-
<summary><strong>VS Code</strong></summary>
|
|
173
|
-
|
|
174
|
-
[VS Code MCP docs](https://code.visualstudio.com/docs/copilot/chat/mcp-servers) · Add to `.vscode/mcp.json`
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
```json
|
|
178
|
-
{
|
|
179
|
-
"servers": {
|
|
180
|
-
"crush-protocol": {
|
|
181
|
-
"type": "stdio",
|
|
182
|
-
"command": "npx",
|
|
183
|
-
"args": ["-y", "@crush-protocol/mcp-client"]
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
```
|
|
188
|
-
|
|
189
|
-
</details>
|
|
158
|
+
### Claude Code
|
|
190
159
|
|
|
191
160
|
<details>
|
|
192
|
-
<summary
|
|
161
|
+
<summary>Show install steps</summary>
|
|
193
162
|
|
|
194
|
-
[
|
|
163
|
+
[Claude Code MCP docs](https://docs.anthropic.com/en/docs/claude-code/mcp)
|
|
195
164
|
|
|
165
|
+
Recommended:
|
|
196
166
|
|
|
197
|
-
```
|
|
198
|
-
|
|
199
|
-
"mcpServers": {
|
|
200
|
-
"crush-protocol": {
|
|
201
|
-
"command": "npx",
|
|
202
|
-
"args": ["-y", "@crush-protocol/mcp-client"]
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
}
|
|
167
|
+
```sh
|
|
168
|
+
npx -y @crush-protocol/mcp-client setup --claude
|
|
206
169
|
```
|
|
207
170
|
|
|
208
|
-
|
|
171
|
+
Host-native command:
|
|
209
172
|
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
[Claude Desktop MCP docs](https://modelcontextprotocol.io/quickstart/user) · Edit `claude_desktop_config.json`
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
```json
|
|
217
|
-
{
|
|
218
|
-
"mcpServers": {
|
|
219
|
-
"crush-protocol": {
|
|
220
|
-
"command": "npx",
|
|
221
|
-
"args": ["-y", "@crush-protocol/mcp-client"]
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
}
|
|
173
|
+
```sh
|
|
174
|
+
claude mcp add --scope user crush-protocol -- npx -y @crush-protocol/mcp-client
|
|
225
175
|
```
|
|
226
176
|
|
|
227
177
|
</details>
|
|
228
178
|
|
|
179
|
+
### OpenAI Codex
|
|
180
|
+
|
|
229
181
|
<details>
|
|
230
|
-
<summary
|
|
182
|
+
<summary>Show install steps</summary>
|
|
231
183
|
|
|
232
|
-
[
|
|
184
|
+
[OpenAI Codex MCP docs](https://developers.openai.com/codex/mcp)
|
|
233
185
|
|
|
186
|
+
Recommended:
|
|
234
187
|
|
|
235
|
-
```
|
|
236
|
-
|
|
237
|
-
"mcpServers": {
|
|
238
|
-
"crush-protocol": {
|
|
239
|
-
"command": "npx",
|
|
240
|
-
"args": ["-y", "@crush-protocol/mcp-client"]
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
|
-
}
|
|
188
|
+
```sh
|
|
189
|
+
npx -y @crush-protocol/mcp-client setup --codex
|
|
244
190
|
```
|
|
245
191
|
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
<details>
|
|
249
|
-
<summary><strong>Roo Code</strong></summary>
|
|
192
|
+
Host-native command:
|
|
250
193
|
|
|
251
|
-
|
|
194
|
+
```sh
|
|
195
|
+
codex mcp add crush-protocol -- npx -y @crush-protocol/mcp-client
|
|
196
|
+
```
|
|
252
197
|
|
|
198
|
+
Manual config:
|
|
253
199
|
|
|
254
|
-
```
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
"args": ["-y", "@crush-protocol/mcp-client"]
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
}
|
|
200
|
+
```toml
|
|
201
|
+
[mcp_servers.crush-protocol]
|
|
202
|
+
command = "npx"
|
|
203
|
+
args = ["-y", "@crush-protocol/mcp-client"]
|
|
204
|
+
startup_timeout_ms = 20000
|
|
263
205
|
```
|
|
264
206
|
|
|
265
207
|
</details>
|
|
266
208
|
|
|
209
|
+
### Gemini CLI
|
|
210
|
+
|
|
267
211
|
<details>
|
|
268
|
-
<summary
|
|
212
|
+
<summary>Show install steps</summary>
|
|
269
213
|
|
|
270
|
-
[
|
|
214
|
+
[Gemini CLI MCP docs](https://google-gemini.github.io/gemini-cli/docs/tools/mcp-server.html)
|
|
271
215
|
|
|
216
|
+
Recommended:
|
|
272
217
|
|
|
273
|
-
```
|
|
274
|
-
|
|
275
|
-
"mcpServers": {
|
|
276
|
-
"crush-protocol": {
|
|
277
|
-
"command": "npx",
|
|
278
|
-
"args": ["-y", "@crush-protocol/mcp-client"]
|
|
279
|
-
}
|
|
280
|
-
}
|
|
281
|
-
}
|
|
218
|
+
```sh
|
|
219
|
+
npx -y @crush-protocol/mcp-client setup --gemini
|
|
282
220
|
```
|
|
283
221
|
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
<details>
|
|
287
|
-
<summary><strong>Trae</strong></summary>
|
|
288
|
-
|
|
289
|
-
[Trae MCP docs](https://docs.trae.ai/ide/model-context-protocol?_lang=en)
|
|
290
|
-
|
|
222
|
+
Manual config:
|
|
291
223
|
|
|
292
224
|
```json
|
|
293
225
|
{
|
|
@@ -302,42 +234,29 @@ startup_timeout_ms = 20000
|
|
|
302
234
|
|
|
303
235
|
</details>
|
|
304
236
|
|
|
237
|
+
### OpenCode
|
|
238
|
+
|
|
305
239
|
<details>
|
|
306
|
-
<summary
|
|
240
|
+
<summary>Show install steps</summary>
|
|
307
241
|
|
|
308
|
-
|
|
309
|
-
2. Enter command: `npx -y @crush-protocol/mcp-client`
|
|
310
|
-
3. Name: `crush-protocol` → Click Add
|
|
242
|
+
[OpenCode MCP docs](https://opencode.ai/docs/mcp-servers)
|
|
311
243
|
|
|
312
|
-
|
|
244
|
+
Recommended:
|
|
313
245
|
|
|
314
|
-
```
|
|
315
|
-
|
|
316
|
-
"mcpServers": [
|
|
317
|
-
{
|
|
318
|
-
"name": "crush-protocol",
|
|
319
|
-
"command": "npx",
|
|
320
|
-
"args": ["-y", "@crush-protocol/mcp-client"]
|
|
321
|
-
}
|
|
322
|
-
]
|
|
323
|
-
}
|
|
246
|
+
```sh
|
|
247
|
+
npx -y @crush-protocol/mcp-client setup --opencode
|
|
324
248
|
```
|
|
325
249
|
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
<details>
|
|
329
|
-
<summary><strong>Copilot Coding Agent</strong></summary>
|
|
330
|
-
|
|
331
|
-
[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)
|
|
332
|
-
|
|
250
|
+
Manual config:
|
|
333
251
|
|
|
334
252
|
```json
|
|
335
253
|
{
|
|
336
|
-
"
|
|
254
|
+
"$schema": "https://opencode.ai/config.json",
|
|
255
|
+
"mcp": {
|
|
337
256
|
"crush-protocol": {
|
|
338
257
|
"type": "local",
|
|
339
|
-
"command": "npx",
|
|
340
|
-
"
|
|
258
|
+
"command": ["npx", "-y", "@crush-protocol/mcp-client"],
|
|
259
|
+
"enabled": true
|
|
341
260
|
}
|
|
342
261
|
}
|
|
343
262
|
}
|
|
@@ -345,35 +264,26 @@ Manual config in VS Code settings:
|
|
|
345
264
|
|
|
346
265
|
</details>
|
|
347
266
|
|
|
267
|
+
### VS Code
|
|
268
|
+
|
|
348
269
|
<details>
|
|
349
|
-
<summary
|
|
270
|
+
<summary>Show install steps</summary>
|
|
350
271
|
|
|
351
|
-
|
|
272
|
+
[VS Code MCP docs](https://code.visualstudio.com/docs/copilot/chat/mcp-servers)
|
|
352
273
|
|
|
274
|
+
Recommended project-local setup:
|
|
353
275
|
|
|
354
|
-
```
|
|
355
|
-
|
|
356
|
-
"mcpServers": {
|
|
357
|
-
"crush-protocol": {
|
|
358
|
-
"type": "local",
|
|
359
|
-
"command": "npx",
|
|
360
|
-
"args": ["-y", "@crush-protocol/mcp-client"]
|
|
361
|
-
}
|
|
362
|
-
}
|
|
363
|
-
}
|
|
276
|
+
```sh
|
|
277
|
+
npx -y @crush-protocol/mcp-client setup --vscode --scope project
|
|
364
278
|
```
|
|
365
279
|
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
<details>
|
|
369
|
-
<summary><strong>Amazon Q Developer CLI</strong></summary>
|
|
370
|
-
|
|
371
|
-
[Amazon Q Developer CLI docs](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/command-line-mcp-configuration.html)
|
|
280
|
+
Add to `.vscode/mcp.json`:
|
|
372
281
|
|
|
373
282
|
```json
|
|
374
283
|
{
|
|
375
|
-
"
|
|
284
|
+
"servers": {
|
|
376
285
|
"crush-protocol": {
|
|
286
|
+
"type": "stdio",
|
|
377
287
|
"command": "npx",
|
|
378
288
|
"args": ["-y", "@crush-protocol/mcp-client"]
|
|
379
289
|
}
|
|
@@ -383,60 +293,20 @@ Add to `~/.copilot/mcp-config.json`:
|
|
|
383
293
|
|
|
384
294
|
</details>
|
|
385
295
|
|
|
386
|
-
|
|
387
|
-
<summary><strong>Warp</strong></summary>
|
|
388
|
-
|
|
389
|
-
[Warp MCP docs](https://docs.warp.dev/knowledge-and-collaboration/mcp#adding-an-mcp-server) · Navigate `Settings` → `AI` → `Manage MCP servers` → `+ Add`
|
|
390
|
-
|
|
391
|
-
```json
|
|
392
|
-
{
|
|
393
|
-
"crush-protocol": {
|
|
394
|
-
"command": "npx",
|
|
395
|
-
"args": ["-y", "@crush-protocol/mcp-client"],
|
|
396
|
-
"env": {},
|
|
397
|
-
"working_directory": null,
|
|
398
|
-
"start_on_launch": true
|
|
399
|
-
}
|
|
400
|
-
}
|
|
401
|
-
```
|
|
402
|
-
|
|
403
|
-
</details>
|
|
296
|
+
### Windsurf
|
|
404
297
|
|
|
405
298
|
<details>
|
|
406
|
-
<summary
|
|
407
|
-
|
|
408
|
-
[Amp MCP docs](https://ampcode.com/manual#mcp)
|
|
299
|
+
<summary>Show install steps</summary>
|
|
409
300
|
|
|
410
|
-
|
|
411
|
-
amp mcp add crush-protocol -- npx -y @crush-protocol/mcp-client
|
|
412
|
-
```
|
|
413
|
-
|
|
414
|
-
</details>
|
|
415
|
-
|
|
416
|
-
<details>
|
|
417
|
-
<summary><strong>Zed</strong></summary>
|
|
301
|
+
[Windsurf MCP docs](https://docs.windsurf.com/windsurf/cascade/mcp)
|
|
418
302
|
|
|
419
|
-
|
|
303
|
+
Recommended:
|
|
420
304
|
|
|
421
|
-
```
|
|
422
|
-
|
|
423
|
-
"context_servers": {
|
|
424
|
-
"crush-protocol": {
|
|
425
|
-
"source": "custom",
|
|
426
|
-
"command": "npx",
|
|
427
|
-
"args": ["-y", "@crush-protocol/mcp-client"]
|
|
428
|
-
}
|
|
429
|
-
}
|
|
430
|
-
}
|
|
305
|
+
```sh
|
|
306
|
+
npx -y @crush-protocol/mcp-client setup --windsurf
|
|
431
307
|
```
|
|
432
308
|
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
<details>
|
|
436
|
-
<summary><strong>JetBrains AI Assistant</strong></summary>
|
|
437
|
-
|
|
438
|
-
[JetBrains AI Assistant docs](https://www.jetbrains.com/help/ai-assistant/configure-an-mcp-server.html) · Go to `Settings` → `Tools` → `AI Assistant` → `Model Context Protocol (MCP)` → `+ Add`
|
|
439
|
-
|
|
309
|
+
Manual config:
|
|
440
310
|
|
|
441
311
|
```json
|
|
442
312
|
{
|
|
@@ -451,30 +321,20 @@ amp mcp add crush-protocol -- npx -y @crush-protocol/mcp-client
|
|
|
451
321
|
|
|
452
322
|
</details>
|
|
453
323
|
|
|
324
|
+
### Claude Desktop
|
|
325
|
+
|
|
454
326
|
<details>
|
|
455
|
-
<summary
|
|
327
|
+
<summary>Show install steps</summary>
|
|
456
328
|
|
|
457
|
-
[
|
|
329
|
+
[Claude Desktop MCP docs](https://modelcontextprotocol.io/quickstart/user)
|
|
458
330
|
|
|
459
|
-
|
|
331
|
+
Recommended:
|
|
460
332
|
|
|
461
|
-
```
|
|
462
|
-
|
|
463
|
-
"mcpServers": {
|
|
464
|
-
"crush-protocol": {
|
|
465
|
-
"command": "npx",
|
|
466
|
-
"args": ["-y", "@crush-protocol/mcp-client"]
|
|
467
|
-
}
|
|
468
|
-
}
|
|
469
|
-
}
|
|
333
|
+
```sh
|
|
334
|
+
npx -y @crush-protocol/mcp-client setup --claude-desktop
|
|
470
335
|
```
|
|
471
336
|
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
<details>
|
|
475
|
-
<summary><strong>LM Studio</strong></summary>
|
|
476
|
-
|
|
477
|
-
[LM Studio MCP Support](https://lmstudio.ai/blog/lmstudio-v0.3.17) · Navigate `Program` → `Install` → `Edit mcp.json`
|
|
337
|
+
Manual config:
|
|
478
338
|
|
|
479
339
|
```json
|
|
480
340
|
{
|
|
@@ -489,71 +349,49 @@ amp mcp add crush-protocol -- npx -y @crush-protocol/mcp-client
|
|
|
489
349
|
|
|
490
350
|
</details>
|
|
491
351
|
|
|
352
|
+
### Warp
|
|
353
|
+
|
|
492
354
|
<details>
|
|
493
|
-
<summary
|
|
355
|
+
<summary>Show install steps</summary>
|
|
494
356
|
|
|
495
|
-
[
|
|
357
|
+
[Warp MCP docs](https://docs.warp.dev/knowledge-and-collaboration/mcp#adding-an-mcp-server)
|
|
496
358
|
|
|
359
|
+
Recommended:
|
|
497
360
|
|
|
498
|
-
```
|
|
499
|
-
|
|
500
|
-
"mcp": {
|
|
501
|
-
"servers": {
|
|
502
|
-
"crush-protocol": {
|
|
503
|
-
"type": "stdio",
|
|
504
|
-
"command": "npx",
|
|
505
|
-
"args": ["-y", "@crush-protocol/mcp-client"]
|
|
506
|
-
}
|
|
507
|
-
}
|
|
508
|
-
}
|
|
509
|
-
}
|
|
361
|
+
```sh
|
|
362
|
+
npx -y @crush-protocol/mcp-client setup --warp
|
|
510
363
|
```
|
|
511
364
|
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
<details>
|
|
515
|
-
<summary><strong>BoltAI</strong></summary>
|
|
516
|
-
|
|
517
|
-
[BoltAI docs](https://docs.boltai.com/docs/plugins/mcp-servers)
|
|
365
|
+
Add to Warp MCP config:
|
|
518
366
|
|
|
519
367
|
```json
|
|
520
368
|
{
|
|
521
|
-
"
|
|
522
|
-
"
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
369
|
+
"crush-protocol": {
|
|
370
|
+
"command": "npx",
|
|
371
|
+
"args": ["-y", "@crush-protocol/mcp-client"],
|
|
372
|
+
"env": {},
|
|
373
|
+
"working_directory": null,
|
|
374
|
+
"start_on_launch": true
|
|
526
375
|
}
|
|
527
376
|
}
|
|
528
377
|
```
|
|
529
378
|
|
|
530
379
|
</details>
|
|
531
380
|
|
|
532
|
-
|
|
533
|
-
<summary><strong>Perplexity Desktop</strong></summary>
|
|
534
|
-
|
|
535
|
-
[Perplexity MCP docs](https://www.perplexity.ai/help-center/en/articles/11502712-local-and-remote-mcps-for-perplexity) · Navigate `Perplexity` → `Settings` → `Connectors` → `Add Connector` → `Advanced` · Server Name: `crush-protocol`
|
|
536
|
-
|
|
537
|
-
```json
|
|
538
|
-
{
|
|
539
|
-
"args": ["-y", "@crush-protocol/mcp-client"],
|
|
540
|
-
"command": "npx",
|
|
541
|
-
"env": {}
|
|
542
|
-
}
|
|
543
|
-
```
|
|
544
|
-
|
|
545
|
-
</details>
|
|
381
|
+
### Zed
|
|
546
382
|
|
|
547
383
|
<details>
|
|
548
|
-
<summary
|
|
384
|
+
<summary>Show install steps</summary>
|
|
549
385
|
|
|
550
|
-
[
|
|
386
|
+
[Zed Context Server docs](https://zed.dev/docs/assistant/context-servers)
|
|
551
387
|
|
|
388
|
+
Add to `settings.json`:
|
|
552
389
|
|
|
553
390
|
```json
|
|
554
391
|
{
|
|
555
|
-
"
|
|
392
|
+
"context_servers": {
|
|
556
393
|
"crush-protocol": {
|
|
394
|
+
"source": "custom",
|
|
557
395
|
"command": "npx",
|
|
558
396
|
"args": ["-y", "@crush-protocol/mcp-client"]
|
|
559
397
|
}
|
|
@@ -563,32 +401,19 @@ amp mcp add crush-protocol -- npx -y @crush-protocol/mcp-client
|
|
|
563
401
|
|
|
564
402
|
</details>
|
|
565
403
|
|
|
566
|
-
|
|
567
|
-
<summary><strong>Zencoder</strong></summary>
|
|
568
|
-
|
|
569
|
-
Go to Zencoder menu → Agent tools → Add custom MCP, paste:
|
|
570
|
-
|
|
571
|
-
```json
|
|
572
|
-
{
|
|
573
|
-
"command": "npx",
|
|
574
|
-
"args": ["-y", "@crush-protocol/mcp-client"]
|
|
575
|
-
}
|
|
576
|
-
```
|
|
577
|
-
|
|
578
|
-
</details>
|
|
404
|
+
### Windows
|
|
579
405
|
|
|
580
406
|
<details>
|
|
581
|
-
<summary
|
|
582
|
-
|
|
583
|
-
[Qodo Gen docs](https://docs.qodo.ai/qodo-documentation/qodo-gen/qodo-gen-chat/agentic-mode/agentic-tools-mcps) · Open Qodo Gen chat → Connect more tools → `+ Add new MCP`
|
|
407
|
+
<summary>Show install steps</summary>
|
|
584
408
|
|
|
409
|
+
If your host requires `cmd` wrapping on Windows:
|
|
585
410
|
|
|
586
411
|
```json
|
|
587
412
|
{
|
|
588
413
|
"mcpServers": {
|
|
589
414
|
"crush-protocol": {
|
|
590
|
-
"command": "
|
|
591
|
-
"args": ["-y", "@crush-protocol/mcp-client"]
|
|
415
|
+
"command": "cmd",
|
|
416
|
+
"args": ["/c", "npx", "-y", "@crush-protocol/mcp-client"]
|
|
592
417
|
}
|
|
593
418
|
}
|
|
594
419
|
}
|
|
@@ -596,10 +421,12 @@ Go to Zencoder menu → Agent tools → Add custom MCP, paste:
|
|
|
596
421
|
|
|
597
422
|
</details>
|
|
598
423
|
|
|
424
|
+
### Bun And Deno
|
|
425
|
+
|
|
599
426
|
<details>
|
|
600
|
-
<summary
|
|
427
|
+
<summary>Show install steps</summary>
|
|
601
428
|
|
|
602
|
-
|
|
429
|
+
Use these only when your host runs MCP processes through Bun or Deno instead of Node.
|
|
603
430
|
|
|
604
431
|
```json
|
|
605
432
|
{
|
|
@@ -612,8 +439,6 @@ Go to Zencoder menu → Agent tools → Add custom MCP, paste:
|
|
|
612
439
|
}
|
|
613
440
|
```
|
|
614
441
|
|
|
615
|
-
**Deno:**
|
|
616
|
-
|
|
617
442
|
```json
|
|
618
443
|
{
|
|
619
444
|
"mcpServers": {
|
|
@@ -634,81 +459,122 @@ Go to Zencoder menu → Agent tools → Add custom MCP, paste:
|
|
|
634
459
|
|
|
635
460
|
</details>
|
|
636
461
|
|
|
462
|
+
### Other Native Commands
|
|
463
|
+
|
|
637
464
|
<details>
|
|
638
|
-
<summary
|
|
465
|
+
<summary>Show install commands</summary>
|
|
639
466
|
|
|
640
|
-
|
|
467
|
+
```sh
|
|
468
|
+
# Amp
|
|
469
|
+
amp mcp add crush-protocol -- npx -y @crush-protocol/mcp-client
|
|
641
470
|
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
"mcpServers": {
|
|
645
|
-
"crush-protocol": {
|
|
646
|
-
"command": "cmd",
|
|
647
|
-
"args": ["/c", "npx", "-y", "@crush-protocol/mcp-client"]
|
|
648
|
-
}
|
|
649
|
-
}
|
|
650
|
-
}
|
|
471
|
+
# Qwen Code
|
|
472
|
+
qwen mcp add crush-protocol npx -y @crush-protocol/mcp-client
|
|
651
473
|
```
|
|
652
474
|
|
|
653
475
|
</details>
|
|
654
476
|
|
|
655
|
-
|
|
477
|
+
### More Supported Hosts
|
|
656
478
|
|
|
657
|
-
|
|
658
|
-
# Auth
|
|
659
|
-
npx -y @crush-protocol/mcp-client login # OAuth login (browser)
|
|
660
|
-
npx -y @crush-protocol/mcp-client auth:status # Show local Crush auth state
|
|
661
|
-
npx -y @crush-protocol/mcp-client doctor # Check auth state and connectivity
|
|
662
|
-
npx -y @crush-protocol/mcp-client setup --all # Auto-write config for all supported hosts
|
|
663
|
-
|
|
664
|
-
# Tools
|
|
665
|
-
npx -y @crush-protocol/mcp-client tools:list # List available tools
|
|
666
|
-
npx -y @crush-protocol/mcp-client ping # Test connectivity
|
|
667
|
-
|
|
668
|
-
# Backtest
|
|
669
|
-
npx -y @crush-protocol/mcp-client backtest:schema # Backtest config schema
|
|
670
|
-
npx -y @crush-protocol/mcp-client backtest:list --limit 10
|
|
671
|
-
```
|
|
479
|
+
Crush also works in additional MCP-capable clients. Use their native docs for the final config shape:
|
|
672
480
|
|
|
673
|
-
|
|
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)
|
|
674
489
|
|
|
675
|
-
|
|
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)
|
|
676
498
|
|
|
677
|
-
|
|
499
|
+
## What To Ask Crush
|
|
678
500
|
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
501
|
+
### Market Discovery
|
|
502
|
+
|
|
503
|
+
- `List the tokens available in Crush.`
|
|
504
|
+
- `Show me the indicators and timeframes available in Crush.`
|
|
505
|
+
- `Fetch OHLCV data for BTC.`
|
|
506
|
+
|
|
507
|
+
### Backtests
|
|
508
|
+
|
|
509
|
+
- `Create a simple moving-average crossover backtest.`
|
|
510
|
+
- `Validate this entry expression before backtesting it.`
|
|
511
|
+
- `List my recent backtests.`
|
|
512
|
+
|
|
513
|
+
### Strategies
|
|
514
|
+
|
|
515
|
+
- `Show my current live strategies.`
|
|
516
|
+
- `Get the logs for my latest strategy.`
|
|
517
|
+
- `Create a strategy from my best completed backtest.`
|
|
682
518
|
|
|
683
|
-
|
|
519
|
+
### Intelligence
|
|
684
520
|
|
|
685
|
-
|
|
521
|
+
- `Show me the latest alpha for SOL.`
|
|
522
|
+
- `Get token info for HYPE.`
|
|
523
|
+
- `What are the trending tokens today?`
|
|
686
524
|
|
|
687
|
-
|
|
525
|
+
## Authentication
|
|
688
526
|
|
|
689
|
-
|
|
527
|
+
Crush stores OAuth credentials in `~/.crush-mcp/` and reuses them across supported MCP hosts.
|
|
690
528
|
|
|
691
|
-
|
|
529
|
+
If tools appear in your AI host but calls fail with an auth error, run:
|
|
692
530
|
|
|
693
531
|
```sh
|
|
694
|
-
npx -y @crush-protocol/mcp-client
|
|
532
|
+
npx -y @crush-protocol/mcp-client login
|
|
695
533
|
```
|
|
696
534
|
|
|
697
|
-
|
|
535
|
+
After login, retry the same request in your MCP host. Token refresh is automatic when possible.
|
|
698
536
|
|
|
699
|
-
|
|
537
|
+
## Useful Commands
|
|
700
538
|
|
|
701
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
|
|
702
544
|
npx -y @crush-protocol/mcp-client doctor
|
|
545
|
+
|
|
546
|
+
# Connectivity and discovery
|
|
547
|
+
npx -y @crush-protocol/mcp-client ping
|
|
548
|
+
npx -y @crush-protocol/mcp-client tools:list
|
|
549
|
+
|
|
550
|
+
# Backtests
|
|
551
|
+
npx -y @crush-protocol/mcp-client backtest:schema
|
|
552
|
+
npx -y @crush-protocol/mcp-client backtest:list --limit 10
|
|
703
553
|
```
|
|
704
554
|
|
|
705
|
-
|
|
555
|
+
## Troubleshooting
|
|
556
|
+
|
|
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` |
|
|
565
|
+
|
|
566
|
+
## How It Works
|
|
567
|
+
|
|
568
|
+
```text
|
|
569
|
+
AI host -> @crush-protocol/mcp-client -> Crush hosted MCP
|
|
570
|
+
```
|
|
571
|
+
|
|
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.
|
|
573
|
+
|
|
574
|
+
## GitHub Activity
|
|
706
575
|
|
|
707
|
-
|
|
708
|
-
|----------|-------------|---------|
|
|
709
|
-
| `CRUSH_MCP_SERVER_URL` | Override the MCP server URL | `https://crush-mcp-ats.dev.xexlab.com/mcp` |
|
|
710
|
-
| `CRUSH_OAUTH_ACCESS_TOKEN` | Skip OAuth, use a pre-existing token | — |
|
|
576
|
+
[](https://star-history.com/#crush-protocol/crush-mcp-server&Date)
|
|
711
577
|
|
|
712
578
|
## License
|
|
713
579
|
|
|
714
|
-
MIT
|
|
580
|
+
Licensed under the [MIT License](https://github.com/crush-protocol/crush-mcp-server/blob/main/LICENSE).
|