@crush-protocol/mcp-client 0.3.1 → 0.3.3

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 CHANGED
@@ -60,15 +60,14 @@ Detailed tool guidance is in [INSTRUCTIONS.md](./INSTRUCTIONS.md).
60
60
 
61
61
  ## Client Configuration
62
62
 
63
- ### Cursor
63
+ <details>
64
+ <summary><strong>Cursor</strong></summary>
64
65
 
65
66
  [![Install MCP Server](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/install-mcp?name=crush-protocol&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBjcnVzaC1wcm90b2NvbC9tY3AtY2xpZW50Il19)
66
67
 
67
- [Cursor MCP docs](https://docs.cursor.com/context/model-context-protocol)
68
+ [Cursor MCP docs](https://docs.cursor.com/context/model-context-protocol) · Go to: `Settings` → `Cursor Settings` → `MCP` → `Add new global MCP server`
68
69
 
69
- Go to: `Settings` → `Cursor Settings` → `MCP` → `Add new global MCP server`
70
-
71
- #### Local Server Connection
70
+ **Local:**
72
71
 
73
72
  ```json
74
73
  {
@@ -81,7 +80,7 @@ Go to: `Settings` → `Cursor Settings` → `MCP` → `Add new global MCP server
81
80
  }
82
81
  ```
83
82
 
84
- #### Remote Server Connection
83
+ **Remote:**
85
84
 
86
85
  ```json
87
86
  {
@@ -93,33 +92,33 @@ Go to: `Settings` → `Cursor Settings` → `MCP` → `Add new global MCP server
93
92
  }
94
93
  ```
95
94
 
96
- ---
95
+ </details>
97
96
 
98
- ### Claude Code
97
+ <details>
98
+ <summary><strong>Claude Code</strong></summary>
99
99
 
100
100
  [Claude Code MCP docs](https://docs.anthropic.com/en/docs/claude-code/mcp)
101
101
 
102
- #### Local Server Connection
102
+ **Local:**
103
103
 
104
104
  ```sh
105
105
  claude mcp add --scope user crush-protocol -- npx -y @crush-protocol/mcp-client
106
106
  ```
107
107
 
108
- #### Remote Server Connection
108
+ **Remote:**
109
109
 
110
110
  ```sh
111
111
  claude mcp add --scope user --transport http crush-protocol https://crush-mcp-ats.dev.xexlab.com/mcp
112
112
  ```
113
113
 
114
- ---
115
-
116
- ### OpenCode
114
+ </details>
117
115
 
118
- [OpenCode MCP docs](https://opencode.ai/docs/mcp-servers)
116
+ <details>
117
+ <summary><strong>OpenCode</strong></summary>
119
118
 
120
- Add to `~/.config/opencode/opencode.json`:
119
+ [OpenCode MCP docs](https://opencode.ai/docs/mcp-servers) · Add to `~/.config/opencode/opencode.json`
121
120
 
122
- #### Local Server Connection
121
+ **Local:**
123
122
 
124
123
  ```json
125
124
  {
@@ -134,7 +133,7 @@ Add to `~/.config/opencode/opencode.json`:
134
133
  }
135
134
  ```
136
135
 
137
- #### Remote Server Connection
136
+ **Remote:**
138
137
 
139
138
  ```json
140
139
  {
@@ -149,21 +148,16 @@ Add to `~/.config/opencode/opencode.json`:
149
148
  }
150
149
  ```
151
150
 
152
- ---
151
+ </details>
153
152
 
154
- ### OpenAI Codex
153
+ <details>
154
+ <summary><strong>OpenAI Codex</strong></summary>
155
155
 
156
156
  [OpenAI Codex MCP docs](https://developers.openai.com/codex/mcp)
157
157
 
158
- #### Using CLI
159
-
160
- ```sh
161
- codex mcp add crush-protocol -- npx -y @crush-protocol/mcp-client
162
- ```
163
-
164
- #### Local Server Connection
158
+ **CLI:** `codex mcp add crush-protocol -- npx -y @crush-protocol/mcp-client`
165
159
 
166
- Add to `~/.codex/config.toml`:
160
+ **Local** (add to `~/.codex/config.toml`):
167
161
 
168
162
  ```toml
169
163
  [mcp_servers.crush-protocol]
@@ -172,22 +166,21 @@ args = ["-y", "@crush-protocol/mcp-client"]
172
166
  startup_timeout_ms = 20000
173
167
  ```
174
168
 
175
- #### Remote Server Connection
169
+ **Remote:**
176
170
 
177
171
  ```toml
178
172
  [mcp_servers.crush-protocol]
179
173
  url = "https://crush-mcp-ats.dev.xexlab.com/mcp"
180
174
  ```
181
175
 
182
- ---
176
+ </details>
183
177
 
184
- ### Google Gemini CLI
178
+ <details>
179
+ <summary><strong>Google Gemini CLI</strong></summary>
185
180
 
186
- [Gemini CLI Configuration](https://google-gemini.github.io/gemini-cli/docs/tools/mcp-server.html)
181
+ [Gemini CLI Configuration](https://google-gemini.github.io/gemini-cli/docs/tools/mcp-server.html) · Add to `~/.gemini/settings.json`
187
182
 
188
- Add to `~/.gemini/settings.json`:
189
-
190
- #### Remote Server Connection
183
+ **Remote:**
191
184
 
192
185
  ```json
193
186
  {
@@ -199,7 +192,7 @@ Add to `~/.gemini/settings.json`:
199
192
  }
200
193
  ```
201
194
 
202
- #### Local Server Connection
195
+ **Local:**
203
196
 
204
197
  ```json
205
198
  {
@@ -212,15 +205,14 @@ Add to `~/.gemini/settings.json`:
212
205
  }
213
206
  ```
214
207
 
215
- ---
216
-
217
- ### VS Code
208
+ </details>
218
209
 
219
- [VS Code MCP docs](https://code.visualstudio.com/docs/copilot/chat/mcp-servers)
210
+ <details>
211
+ <summary><strong>VS Code</strong></summary>
220
212
 
221
- Add to `.vscode/mcp.json`:
213
+ [VS Code MCP docs](https://code.visualstudio.com/docs/copilot/chat/mcp-servers) · Add to `.vscode/mcp.json`
222
214
 
223
- #### Remote Server Connection
215
+ **Remote:**
224
216
 
225
217
  ```json
226
218
  {
@@ -233,7 +225,7 @@ Add to `.vscode/mcp.json`:
233
225
  }
234
226
  ```
235
227
 
236
- #### Local Server Connection
228
+ **Local:**
237
229
 
238
230
  ```json
239
231
  {
@@ -247,13 +239,14 @@ Add to `.vscode/mcp.json`:
247
239
  }
248
240
  ```
249
241
 
250
- ---
242
+ </details>
251
243
 
252
- ### Windsurf
244
+ <details>
245
+ <summary><strong>Windsurf</strong></summary>
253
246
 
254
247
  [Windsurf MCP docs](https://docs.windsurf.com/windsurf/cascade/mcp)
255
248
 
256
- #### Remote Server Connection
249
+ **Remote:**
257
250
 
258
251
  ```json
259
252
  {
@@ -265,7 +258,7 @@ Add to `.vscode/mcp.json`:
265
258
  }
266
259
  ```
267
260
 
268
- #### Local Server Connection
261
+ **Local:**
269
262
 
270
263
  ```json
271
264
  {
@@ -278,15 +271,14 @@ Add to `.vscode/mcp.json`:
278
271
  }
279
272
  ```
280
273
 
281
- ---
282
-
283
- ### Claude Desktop
274
+ </details>
284
275
 
285
- [Claude Desktop MCP docs](https://modelcontextprotocol.io/quickstart/user)
276
+ <details>
277
+ <summary><strong>Claude Desktop</strong></summary>
286
278
 
287
- Edit `claude_desktop_config.json`:
279
+ [Claude Desktop MCP docs](https://modelcontextprotocol.io/quickstart/user) · Edit `claude_desktop_config.json`
288
280
 
289
- #### Local Server Connection
281
+ **Local:**
290
282
 
291
283
  ```json
292
284
  {
@@ -299,15 +291,14 @@ Edit `claude_desktop_config.json`:
299
291
  }
300
292
  ```
301
293
 
302
- ---
294
+ </details>
303
295
 
304
- ### Kiro
296
+ <details>
297
+ <summary><strong>Kiro</strong></summary>
305
298
 
306
- [Kiro MCP docs](https://kiro.dev/docs/mcp/configuration/)
299
+ [Kiro MCP docs](https://kiro.dev/docs/mcp/configuration/) · Navigate `Kiro` → `MCP Servers` → `+ Add`
307
300
 
308
- Navigate `Kiro` → `MCP Servers` → `+ Add`, paste the configuration:
309
-
310
- #### Remote Server Connection
301
+ **Remote:**
311
302
 
312
303
  ```json
313
304
  {
@@ -319,7 +310,7 @@ Navigate `Kiro` → `MCP Servers` → `+ Add`, paste the configuration:
319
310
  }
320
311
  ```
321
312
 
322
- #### Local Server Connection
313
+ **Local:**
323
314
 
324
315
  ```json
325
316
  {
@@ -332,13 +323,14 @@ Navigate `Kiro` → `MCP Servers` → `+ Add`, paste the configuration:
332
323
  }
333
324
  ```
334
325
 
335
- ---
326
+ </details>
336
327
 
337
- ### Roo Code
328
+ <details>
329
+ <summary><strong>Roo Code</strong></summary>
338
330
 
339
331
  [Roo Code MCP docs](https://docs.roocode.com/features/mcp/using-mcp-in-roo)
340
332
 
341
- #### Remote Server Connection
333
+ **Remote:**
342
334
 
343
335
  ```json
344
336
  {
@@ -351,7 +343,7 @@ Navigate `Kiro` → `MCP Servers` → `+ Add`, paste the configuration:
351
343
  }
352
344
  ```
353
345
 
354
- #### Local Server Connection
346
+ **Local:**
355
347
 
356
348
  ```json
357
349
  {
@@ -364,13 +356,14 @@ Navigate `Kiro` → `MCP Servers` → `+ Add`, paste the configuration:
364
356
  }
365
357
  ```
366
358
 
367
- ---
359
+ </details>
368
360
 
369
- ### Cline
361
+ <details>
362
+ <summary><strong>Cline</strong></summary>
370
363
 
371
364
  [Cline MCP Marketplace](https://cline.bot/mcp-marketplace)
372
365
 
373
- #### Remote Server Connection
366
+ **Remote:**
374
367
 
375
368
  ```json
376
369
  {
@@ -383,7 +376,7 @@ Navigate `Kiro` → `MCP Servers` → `+ Add`, paste the configuration:
383
376
  }
384
377
  ```
385
378
 
386
- #### Local Server Connection
379
+ **Local:**
387
380
 
388
381
  ```json
389
382
  {
@@ -396,13 +389,14 @@ Navigate `Kiro` → `MCP Servers` → `+ Add`, paste the configuration:
396
389
  }
397
390
  ```
398
391
 
399
- ---
392
+ </details>
400
393
 
401
- ### Trae
394
+ <details>
395
+ <summary><strong>Trae</strong></summary>
402
396
 
403
397
  [Trae MCP docs](https://docs.trae.ai/ide/model-context-protocol?_lang=en)
404
398
 
405
- #### Remote Server Connection
399
+ **Remote:**
406
400
 
407
401
  ```json
408
402
  {
@@ -414,7 +408,7 @@ Navigate `Kiro` → `MCP Servers` → `+ Add`, paste the configuration:
414
408
  }
415
409
  ```
416
410
 
417
- #### Local Server Connection
411
+ **Local:**
418
412
 
419
413
  ```json
420
414
  {
@@ -427,9 +421,10 @@ Navigate `Kiro` → `MCP Servers` → `+ Add`, paste the configuration:
427
421
  }
428
422
  ```
429
423
 
430
- ---
424
+ </details>
431
425
 
432
- ### Augment Code
426
+ <details>
427
+ <summary><strong>Augment Code</strong></summary>
433
428
 
434
429
  1. Click hamburger menu → Settings → Tools → `+ Add MCP`
435
430
  2. Enter command: `npx -y @crush-protocol/mcp-client`
@@ -449,13 +444,14 @@ Manual config in VS Code settings:
449
444
  }
450
445
  ```
451
446
 
452
- ---
447
+ </details>
453
448
 
454
- ### Copilot Coding Agent
449
+ <details>
450
+ <summary><strong>Copilot Coding Agent</strong></summary>
455
451
 
456
452
  [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)
457
453
 
458
- #### Remote Server Connection
454
+ **Remote:**
459
455
 
460
456
  ```json
461
457
  {
@@ -468,7 +464,7 @@ Manual config in VS Code settings:
468
464
  }
469
465
  ```
470
466
 
471
- #### Local Server Connection
467
+ **Local:**
472
468
 
473
469
  ```json
474
470
  {
@@ -482,13 +478,14 @@ Manual config in VS Code settings:
482
478
  }
483
479
  ```
484
480
 
485
- ---
481
+ </details>
486
482
 
487
- ### Copilot CLI
483
+ <details>
484
+ <summary><strong>Copilot CLI</strong></summary>
488
485
 
489
486
  Add to `~/.copilot/mcp-config.json`:
490
487
 
491
- #### Remote Server Connection
488
+ **Remote:**
492
489
 
493
490
  ```json
494
491
  {
@@ -501,7 +498,7 @@ Add to `~/.copilot/mcp-config.json`:
501
498
  }
502
499
  ```
503
500
 
504
- #### Local Server Connection
501
+ **Local:**
505
502
 
506
503
  ```json
507
504
  {
@@ -515,9 +512,10 @@ Add to `~/.copilot/mcp-config.json`:
515
512
  }
516
513
  ```
517
514
 
518
- ---
515
+ </details>
519
516
 
520
- ### Amazon Q Developer CLI
517
+ <details>
518
+ <summary><strong>Amazon Q Developer CLI</strong></summary>
521
519
 
522
520
  [Amazon Q Developer CLI docs](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/command-line-mcp-configuration.html)
523
521
 
@@ -532,13 +530,12 @@ Add to `~/.copilot/mcp-config.json`:
532
530
  }
533
531
  ```
534
532
 
535
- ---
536
-
537
- ### Warp
533
+ </details>
538
534
 
539
- [Warp MCP docs](https://docs.warp.dev/knowledge-and-collaboration/mcp#adding-an-mcp-server)
535
+ <details>
536
+ <summary><strong>Warp</strong></summary>
540
537
 
541
- Navigate `Settings` → `AI` → `Manage MCP servers` → `+ Add`:
538
+ [Warp MCP docs](https://docs.warp.dev/knowledge-and-collaboration/mcp#adding-an-mcp-server) · Navigate `Settings` → `AI` → `Manage MCP servers` → `+ Add`
542
539
 
543
540
  ```json
544
541
  {
@@ -552,9 +549,10 @@ Navigate `Settings` → `AI` → `Manage MCP servers` → `+ Add`:
552
549
  }
553
550
  ```
554
551
 
555
- ---
552
+ </details>
556
553
 
557
- ### Amp
554
+ <details>
555
+ <summary><strong>Amp</strong></summary>
558
556
 
559
557
  [Amp MCP docs](https://ampcode.com/manual#mcp)
560
558
 
@@ -562,13 +560,12 @@ Navigate `Settings` → `AI` → `Manage MCP servers` → `+ Add`:
562
560
  amp mcp add crush-protocol https://crush-mcp-ats.dev.xexlab.com/mcp
563
561
  ```
564
562
 
565
- ---
563
+ </details>
566
564
 
567
- ### Zed
565
+ <details>
566
+ <summary><strong>Zed</strong></summary>
568
567
 
569
- [Zed Context Server docs](https://zed.dev/docs/assistant/context-servers)
570
-
571
- Add to `settings.json`:
568
+ [Zed Context Server docs](https://zed.dev/docs/assistant/context-servers) · Add to `settings.json`
572
569
 
573
570
  ```json
574
571
  {
@@ -582,15 +579,14 @@ Add to `settings.json`:
582
579
  }
583
580
  ```
584
581
 
585
- ---
586
-
587
- ### JetBrains AI Assistant
582
+ </details>
588
583
 
589
- [JetBrains AI Assistant docs](https://www.jetbrains.com/help/ai-assistant/configure-an-mcp-server.html)
584
+ <details>
585
+ <summary><strong>JetBrains AI Assistant</strong></summary>
590
586
 
591
- Go to `Settings` → `Tools` → `AI Assistant` → `Model Context Protocol (MCP)` → `+ Add`
587
+ [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`
592
588
 
593
- #### Remote Server Connection
589
+ **Remote:**
594
590
 
595
591
  ```json
596
592
  {
@@ -602,7 +598,7 @@ Go to `Settings` → `Tools` → `AI Assistant` → `Model Context Protocol (MCP
602
598
  }
603
599
  ```
604
600
 
605
- #### Local Server Connection
601
+ **Local:**
606
602
 
607
603
  ```json
608
604
  {
@@ -615,21 +611,16 @@ Go to `Settings` → `Tools` → `AI Assistant` → `Model Context Protocol (MCP
615
611
  }
616
612
  ```
617
613
 
618
- ---
614
+ </details>
619
615
 
620
- ### Qwen Code
616
+ <details>
617
+ <summary><strong>Qwen Code</strong></summary>
621
618
 
622
619
  [Qwen Code MCP docs](https://qwenlm.github.io/qwen-code-docs/en/users/features/mcp/)
623
620
 
624
- #### Using CLI
625
-
626
- ```sh
627
- qwen mcp add crush-protocol npx -y @crush-protocol/mcp-client
628
- ```
629
-
630
- #### Remote Server Connection
621
+ **CLI:** `qwen mcp add crush-protocol npx -y @crush-protocol/mcp-client`
631
622
 
632
- Add to `~/.qwen/settings.json`:
623
+ **Remote** (add to `~/.qwen/settings.json`):
633
624
 
634
625
  ```json
635
626
  {
@@ -641,7 +632,7 @@ Add to `~/.qwen/settings.json`:
641
632
  }
642
633
  ```
643
634
 
644
- #### Local Server Connection
635
+ **Local:**
645
636
 
646
637
  ```json
647
638
  {
@@ -654,13 +645,12 @@ Add to `~/.qwen/settings.json`:
654
645
  }
655
646
  ```
656
647
 
657
- ---
648
+ </details>
658
649
 
659
- ### LM Studio
650
+ <details>
651
+ <summary><strong>LM Studio</strong></summary>
660
652
 
661
- [LM Studio MCP Support](https://lmstudio.ai/blog/lmstudio-v0.3.17)
662
-
663
- Navigate `Program` → `Install` → `Edit mcp.json`:
653
+ [LM Studio MCP Support](https://lmstudio.ai/blog/lmstudio-v0.3.17) · Navigate `Program` → `Install` → `Edit mcp.json`
664
654
 
665
655
  ```json
666
656
  {
@@ -673,13 +663,14 @@ Navigate `Program` → `Install` → `Edit mcp.json`:
673
663
  }
674
664
  ```
675
665
 
676
- ---
666
+ </details>
677
667
 
678
- ### Visual Studio 2022
668
+ <details>
669
+ <summary><strong>Visual Studio 2022</strong></summary>
679
670
 
680
671
  [Visual Studio MCP docs](https://learn.microsoft.com/visualstudio/ide/mcp-servers?view=vs-2022)
681
672
 
682
- #### Remote Server Connection
673
+ **Remote:**
683
674
 
684
675
  ```json
685
676
  {
@@ -693,7 +684,7 @@ Navigate `Program` → `Install` → `Edit mcp.json`:
693
684
  }
694
685
  ```
695
686
 
696
- #### Local Server Connection
687
+ **Local:**
697
688
 
698
689
  ```json
699
690
  {
@@ -709,9 +700,10 @@ Navigate `Program` → `Install` → `Edit mcp.json`:
709
700
  }
710
701
  ```
711
702
 
712
- ---
703
+ </details>
713
704
 
714
- ### BoltAI
705
+ <details>
706
+ <summary><strong>BoltAI</strong></summary>
715
707
 
716
708
  [BoltAI docs](https://docs.boltai.com/docs/plugins/mcp-servers)
717
709
 
@@ -726,15 +718,12 @@ Navigate `Program` → `Install` → `Edit mcp.json`:
726
718
  }
727
719
  ```
728
720
 
729
- ---
730
-
731
- ### Perplexity Desktop
732
-
733
- [Perplexity MCP docs](https://www.perplexity.ai/help-center/en/articles/11502712-local-and-remote-mcps-for-perplexity)
721
+ </details>
734
722
 
735
- Navigate `Perplexity` → `Settings` → `Connectors` → `Add Connector` → `Advanced`
723
+ <details>
724
+ <summary><strong>Perplexity Desktop</strong></summary>
736
725
 
737
- Server Name: `crush-protocol`
726
+ [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`
738
727
 
739
728
  ```json
740
729
  {
@@ -744,13 +733,14 @@ Server Name: `crush-protocol`
744
733
  }
745
734
  ```
746
735
 
747
- ---
736
+ </details>
748
737
 
749
- ### Kilo Code
738
+ <details>
739
+ <summary><strong>Kilo Code</strong></summary>
750
740
 
751
741
  [Kilo Code docs](https://kilocode.ai)
752
742
 
753
- #### Remote Server Connection
743
+ **Remote:**
754
744
 
755
745
  ```json
756
746
  {
@@ -763,7 +753,7 @@ Server Name: `crush-protocol`
763
753
  }
764
754
  ```
765
755
 
766
- #### Local Server Connection
756
+ **Local:**
767
757
 
768
758
  ```json
769
759
  {
@@ -776,12 +766,12 @@ Server Name: `crush-protocol`
776
766
  }
777
767
  ```
778
768
 
779
- ---
769
+ </details>
780
770
 
781
- ### Zencoder
771
+ <details>
772
+ <summary><strong>Zencoder</strong></summary>
782
773
 
783
- 1. Go to Zencoder menu → Agent tools → Add custom MCP
784
- 2. Paste:
774
+ Go to Zencoder menu → Agent tools → Add custom MCP, paste:
785
775
 
786
776
  ```json
787
777
  {
@@ -790,15 +780,14 @@ Server Name: `crush-protocol`
790
780
  }
791
781
  ```
792
782
 
793
- ---
783
+ </details>
794
784
 
795
- ### Qodo Gen
785
+ <details>
786
+ <summary><strong>Qodo Gen</strong></summary>
796
787
 
797
- [Qodo Gen docs](https://docs.qodo.ai/qodo-documentation/qodo-gen/qodo-gen-chat/agentic-mode/agentic-tools-mcps)
788
+ [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`
798
789
 
799
- Open Qodo Gen chat → Connect more tools → `+ Add new MCP`:
800
-
801
- #### Remote Server Connection
790
+ **Remote:**
802
791
 
803
792
  ```json
804
793
  {
@@ -810,7 +799,7 @@ Open Qodo Gen chat → Connect more tools → `+ Add new MCP`:
810
799
  }
811
800
  ```
812
801
 
813
- #### Local Server Connection
802
+ **Local:**
814
803
 
815
804
  ```json
816
805
  {
@@ -823,11 +812,12 @@ Open Qodo Gen chat → Connect more tools → `+ Add new MCP`:
823
812
  }
824
813
  ```
825
814
 
826
- ---
815
+ </details>
827
816
 
828
- ### Using Bun or Deno
817
+ <details>
818
+ <summary><strong>Using Bun or Deno</strong></summary>
829
819
 
830
- #### Bun
820
+ **Bun:**
831
821
 
832
822
  ```json
833
823
  {
@@ -840,7 +830,7 @@ Open Qodo Gen chat → Connect more tools → `+ Add new MCP`:
840
830
  }
841
831
  ```
842
832
 
843
- #### Deno
833
+ **Deno:**
844
834
 
845
835
  ```json
846
836
  {
@@ -860,9 +850,10 @@ Open Qodo Gen chat → Connect more tools → `+ Add new MCP`:
860
850
  }
861
851
  ```
862
852
 
863
- ---
853
+ </details>
864
854
 
865
- ### Windows
855
+ <details>
856
+ <summary><strong>Windows</strong></summary>
866
857
 
867
858
  Use `cmd` as the command wrapper:
868
859
 
@@ -877,6 +868,8 @@ Use `cmd` as the command wrapper:
877
868
  }
878
869
  ```
879
870
 
871
+ </details>
872
+
880
873
  ## CLI Usage
881
874
 
882
875
  ```sh
@@ -7,6 +7,7 @@ import path from "node:path";
7
7
  const DEFAULT_SCOPE = "mcp:tools";
8
8
  const DEFAULT_REDIRECT_PORT = 8787;
9
9
  const DEFAULT_REDIRECT_PATH = "/oauth/callback";
10
+ const escapeHtml = (s) => s.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;");
10
11
  const renderCallbackHtml = (title, message) => `<!DOCTYPE html>
11
12
  <html lang="en">
12
13
  <head>
@@ -44,8 +45,8 @@ const renderCallbackHtml = (title, message) => `<!DOCTYPE html>
44
45
  </head>
45
46
  <body>
46
47
  <main>
47
- <h1>${title}</h1>
48
- <p>${message}</p>
48
+ <h1>${escapeHtml(title)}</h1>
49
+ <p>${escapeHtml(message)}</p>
49
50
  </main>
50
51
  </body>
51
52
  </html>`;
@@ -188,7 +189,7 @@ export class InteractiveOAuthProvider {
188
189
  }
189
190
  async saveState(data) {
190
191
  await mkdir(path.dirname(this.storageFile), { recursive: true });
191
- await writeFile(this.storageFile, JSON.stringify(data, null, 2), "utf8");
192
+ await writeFile(this.storageFile, JSON.stringify(data, null, 2), { encoding: "utf8", mode: 0o600 });
192
193
  }
193
194
  createPendingAuthorization() {
194
195
  let resolve;
@@ -2,6 +2,7 @@ import { auth, UnauthorizedError } from "@modelcontextprotocol/sdk/client/auth.j
2
2
  import { Client } from "@modelcontextprotocol/sdk/client/index.js";
3
3
  import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
4
4
  import { InteractiveOAuthProvider } from "./oauthProvider.js";
5
+ import { CLIENT_NAME, CLIENT_VERSION } from "./version.js";
5
6
  export class OAuthRemoteMcpClient {
6
7
  options;
7
8
  client;
@@ -10,8 +11,8 @@ export class OAuthRemoteMcpClient {
10
11
  constructor(options) {
11
12
  this.options = options;
12
13
  this.client = new Client({
13
- name: options.clientName ?? "crush-mcp-client",
14
- version: options.clientVersion ?? "0.2.0",
14
+ name: options.clientName ?? CLIENT_NAME,
15
+ version: options.clientVersion ?? CLIENT_VERSION,
15
16
  }, {
16
17
  capabilities: {},
17
18
  });
@@ -1,5 +1,6 @@
1
1
  import { Client } from "@modelcontextprotocol/sdk/client/index.js";
2
2
  import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
3
+ import { CLIENT_NAME, CLIENT_VERSION } from "./version.js";
3
4
  export class RemoteMcpClient {
4
5
  client;
5
6
  transport;
@@ -8,8 +9,8 @@ export class RemoteMcpClient {
8
9
  throw new Error("Invalid token. Expected a non-empty OAuth access token");
9
10
  }
10
11
  this.client = new Client({
11
- name: options.clientName || "crush-mcp-client",
12
- version: options.clientVersion || "0.1.0",
12
+ name: options.clientName || CLIENT_NAME,
13
+ version: options.clientVersion || CLIENT_VERSION,
13
14
  }, {
14
15
  capabilities: {},
15
16
  });
@@ -0,0 +1,3 @@
1
+ /** 从 package.json 动态读取的客户端版本号 */
2
+ export declare const CLIENT_VERSION: string;
3
+ export declare const CLIENT_NAME = "crush-mcp-client";
@@ -0,0 +1,6 @@
1
+ import { createRequire } from "node:module";
2
+ const require = createRequire(import.meta.url);
3
+ const pkg = require("../../package.json");
4
+ /** 从 package.json 动态读取的客户端版本号 */
5
+ export const CLIENT_VERSION = pkg.version;
6
+ export const CLIENT_NAME = "crush-mcp-client";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crush-protocol/mcp-client",
3
- "version": "0.3.1",
3
+ "version": "0.3.3",
4
4
  "description": "Crush MCP npm client package (remote Streamable HTTP + optional ClickHouse direct)",
5
5
  "type": "module",
6
6
  "license": "MIT",