@brutalist/mcp 0.5.1 → 0.6.1

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.
Files changed (75) hide show
  1. package/README.md +65 -63
  2. package/dist/brutalist-server.d.ts +15 -0
  3. package/dist/brutalist-server.d.ts.map +1 -1
  4. package/dist/brutalist-server.js +405 -357
  5. package/dist/brutalist-server.js.map +1 -1
  6. package/dist/cli-agents.d.ts +8 -3
  7. package/dist/cli-agents.d.ts.map +1 -1
  8. package/dist/cli-agents.js +352 -50
  9. package/dist/cli-agents.js.map +1 -1
  10. package/dist/streaming/circuit-breaker.d.ts +186 -0
  11. package/dist/streaming/circuit-breaker.d.ts.map +1 -0
  12. package/dist/streaming/circuit-breaker.js +463 -0
  13. package/dist/streaming/circuit-breaker.js.map +1 -0
  14. package/dist/streaming/intelligent-buffer.d.ts +141 -0
  15. package/dist/streaming/intelligent-buffer.d.ts.map +1 -0
  16. package/dist/streaming/intelligent-buffer.js +555 -0
  17. package/dist/streaming/intelligent-buffer.js.map +1 -0
  18. package/dist/streaming/output-parser.d.ts +89 -0
  19. package/dist/streaming/output-parser.d.ts.map +1 -0
  20. package/dist/streaming/output-parser.js +349 -0
  21. package/dist/streaming/output-parser.js.map +1 -0
  22. package/dist/streaming/progress-tracker.d.ts +149 -0
  23. package/dist/streaming/progress-tracker.d.ts.map +1 -0
  24. package/dist/streaming/progress-tracker.js +519 -0
  25. package/dist/streaming/progress-tracker.js.map +1 -0
  26. package/dist/streaming/session-manager.d.ts +238 -0
  27. package/dist/streaming/session-manager.d.ts.map +1 -0
  28. package/dist/streaming/session-manager.js +546 -0
  29. package/dist/streaming/session-manager.js.map +1 -0
  30. package/dist/streaming/sse-transport.d.ts +95 -0
  31. package/dist/streaming/sse-transport.d.ts.map +1 -0
  32. package/dist/streaming/sse-transport.js +319 -0
  33. package/dist/streaming/sse-transport.js.map +1 -0
  34. package/dist/streaming/streaming-orchestrator.d.ts +153 -0
  35. package/dist/streaming/streaming-orchestrator.d.ts.map +1 -0
  36. package/dist/streaming/streaming-orchestrator.js +436 -0
  37. package/dist/streaming/streaming-orchestrator.js.map +1 -0
  38. package/dist/test-utils/process-manager.d.ts +61 -0
  39. package/dist/test-utils/process-manager.d.ts.map +1 -0
  40. package/dist/test-utils/process-manager.js +262 -0
  41. package/dist/test-utils/process-manager.js.map +1 -0
  42. package/dist/test-utils/server-harness.d.ts +73 -0
  43. package/dist/test-utils/server-harness.d.ts.map +1 -0
  44. package/dist/test-utils/server-harness.js +296 -0
  45. package/dist/test-utils/server-harness.js.map +1 -0
  46. package/dist/test-utils/streaming-fuzz.d.ts +57 -0
  47. package/dist/test-utils/streaming-fuzz.d.ts.map +1 -0
  48. package/dist/test-utils/streaming-fuzz.js +287 -0
  49. package/dist/test-utils/streaming-fuzz.js.map +1 -0
  50. package/dist/test-utils/test-isolation.d.ts +70 -0
  51. package/dist/test-utils/test-isolation.d.ts.map +1 -0
  52. package/dist/test-utils/test-isolation.js +193 -0
  53. package/dist/test-utils/test-isolation.js.map +1 -0
  54. package/dist/tool-definitions.d.ts +6 -0
  55. package/dist/tool-definitions.d.ts.map +1 -0
  56. package/dist/tool-definitions.js +217 -0
  57. package/dist/tool-definitions.js.map +1 -0
  58. package/dist/types/brutalist.d.ts +3 -19
  59. package/dist/types/brutalist.d.ts.map +1 -1
  60. package/dist/types/tool-config.d.ts +51 -0
  61. package/dist/types/tool-config.d.ts.map +1 -0
  62. package/dist/types/tool-config.js +24 -0
  63. package/dist/types/tool-config.js.map +1 -0
  64. package/dist/utils/pagination.d.ts +2 -2
  65. package/dist/utils/pagination.d.ts.map +1 -1
  66. package/dist/utils/pagination.js +1 -1
  67. package/dist/utils/pagination.js.map +1 -1
  68. package/dist/utils/response-cache.d.ts +96 -0
  69. package/dist/utils/response-cache.d.ts.map +1 -0
  70. package/dist/utils/response-cache.js +371 -0
  71. package/dist/utils/response-cache.js.map +1 -0
  72. package/dist/utils.d.ts.map +1 -1
  73. package/dist/utils.js +22 -3
  74. package/dist/utils.js.map +1 -1
  75. package/package.json +14 -4
package/README.md CHANGED
@@ -14,6 +14,71 @@ Three brutal CLI agents that can analyze anything. Each agent brings different p
14
14
 
15
15
  Real file-system analysis. Actual brutal prompts. Intelligent pagination for enterprise codebases. No participation trophies.
16
16
 
17
+ ## Setup
18
+
19
+ ### Prerequisites
20
+
21
+ Install at least one CLI agent:
22
+ - **Claude Code**: `npm install -g claude` (or via Claude desktop app)
23
+ - **Codex**: Install from [OpenAI Codex](https://github.com/openai/codex-cli)
24
+ - **Gemini**: `npm install -g @google/gemini-cli` or authenticate via `gemini auth`
25
+
26
+ ### Installation
27
+
28
+ <details>
29
+ <summary><strong>Claude Code</strong> — One-liner</summary>
30
+
31
+ ```bash
32
+ claude mcp add brutalist --scope user -- npx -y @brutalist/mcp
33
+ ```
34
+ </details>
35
+
36
+ <details>
37
+ <summary><strong>VS Code / Cline</strong> — Manual config</summary>
38
+
39
+ ```bash
40
+ code --add-mcp '{"name":"brutalist","command":"npx","args":["-y","@brutalist/mcp"]}'
41
+ ```
42
+ </details>
43
+
44
+ <details>
45
+ <summary><strong>Gemini CLI</strong> — One-liner</summary>
46
+
47
+ ```bash
48
+ gemini mcp add brutalist -- npx -y @brutalist/mcp
49
+ ```
50
+ </details>
51
+
52
+ <details>
53
+ <summary><strong>Cursor</strong> — Manual config</summary>
54
+
55
+ Add to `~/.cursor/mcp.json` or use **Settings → MCP & Integrations**
56
+
57
+ ```json
58
+ {
59
+ "brutalist": {
60
+ "command": "npx",
61
+ "args": ["-y", "@brutalist/mcp"]
62
+ }
63
+ }
64
+ ```
65
+ </details>
66
+
67
+ <details>
68
+ <summary><strong>Windsurf</strong> — Manual config</summary>
69
+
70
+ Add to `~/.codeium/windsurf/mcp_config.json` or use **Plugin Store**
71
+
72
+ ```json
73
+ {
74
+ "brutalist": {
75
+ "command": "npx",
76
+ "args": ["-y", "@brutalist/mcp"]
77
+ }
78
+ }
79
+ ```
80
+ </details>
81
+
17
82
  ## Brutalist Workflows
18
83
 
19
84
  ### 🔍 **Codebase Destruction**
@@ -112,69 +177,6 @@ Each agent runs locally on your machine with custom brutal prompts to find real
112
177
 
113
178
  **⏱️ Analysis Timeout:** 25 minutes default - thorough analysis takes time to find real issues. Complex codebases and architectural reviews need deep analysis to catch subtle problems that quick scans miss.
114
179
 
115
- ## Setup
116
-
117
- ### Prerequisites
118
-
119
- Install at least one CLI agent:
120
- - **Claude Code**: `npm install -g claude` (or via Claude desktop app)
121
- - **Codex**: Install from [OpenAI Codex](https://github.com/openai/codex-cli)
122
- - **Gemini**: `npm install -g @google/gemini-cli` or authenticate via `gemini auth`
123
-
124
- <details>
125
- <summary><strong>Claude Code</strong> — One-liner</summary>
126
-
127
- ```bash
128
- claude mcp add brutalist --scope user -- npx -y @brutalist/mcp
129
- ```
130
- </details>
131
-
132
- <details>
133
- <summary><strong>VS Code / Cline</strong> — Manual config</summary>
134
-
135
- ```bash
136
- code --add-mcp '{"name":"brutalist","command":"npx","args":["-y","@brutalist/mcp"]}'
137
- ```
138
- </details>
139
-
140
- <details>
141
- <summary><strong>Gemini CLI</strong> — One-liner</summary>
142
-
143
- ```bash
144
- gemini mcp add brutalist -- npx -y @brutalist/mcp
145
- ```
146
- </details>
147
-
148
- <details>
149
- <summary><strong>Cursor</strong> — Manual config</summary>
150
-
151
- Add to `~/.cursor/mcp.json` or use **Settings → MCP & Integrations**
152
-
153
- ```json
154
- {
155
- "brutalist": {
156
- "command": "npx",
157
- "args": ["-y", "@brutalist/mcp"]
158
- }
159
- }
160
- ```
161
- </details>
162
-
163
- <details>
164
- <summary><strong>Windsurf</strong> — Manual config</summary>
165
-
166
- Add to `~/.codeium/windsurf/mcp_config.json` or use **Plugin Store**
167
-
168
- ```json
169
- {
170
- "brutalist": {
171
- "command": "npx",
172
- "args": ["-y", "@brutalist/mcp"]
173
- }
174
- }
175
- ```
176
- </details>
177
-
178
180
  ## 📄 Pagination Support (v0.5.0+)
179
181
 
180
182
  Handle enterprise-scale analyses that exceed Claude Code's 25K token limit:
@@ -5,16 +5,31 @@ export declare class BrutalistServer {
5
5
  config: BrutalistServerConfig;
6
6
  private cliOrchestrator;
7
7
  private httpTransport?;
8
+ private responseCache;
9
+ private actualPort?;
10
+ private shutdownHandler?;
11
+ private activeSessions;
8
12
  constructor(config?: BrutalistServerConfig);
9
13
  private handleStreamingEvent;
10
14
  private handleProgressUpdate;
11
15
  start(): Promise<void>;
12
16
  private startStdioServer;
13
17
  private startHttpServer;
18
+ getActualPort(): number | undefined;
19
+ cleanup(): void;
14
20
  private registerTools;
21
+ private registerSpecialTools;
22
+ /**
23
+ * Unified handler for all roast tools - DRY principle
24
+ */
25
+ private handleRoastTool;
15
26
  private executeCLIDebate;
16
27
  private synthesizeDebate;
17
28
  private executeBrutalistAnalysis;
29
+ /**
30
+ * Extract full content from analysis result for caching
31
+ */
32
+ private extractFullContent;
18
33
  private formatToolResponse;
19
34
  private formatPaginatedResponse;
20
35
  private formatErrorResponse;
@@ -1 +1 @@
1
- {"version":3,"file":"brutalist-server.d.ts","sourceRoot":"","sources":["../src/brutalist-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAQpE,OAAO,EACL,qBAAqB,EAKtB,MAAM,sBAAsB,CAAC;AAa9B,qBAAa,eAAe;IACnB,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,qBAAqB,CAAC;IACrC,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,aAAa,CAAC,CAAgC;gBAE1C,MAAM,GAAE,qBAA0B;IAwB9C,OAAO,CAAC,oBAAoB,CAgB1B;IAEF,OAAO,CAAC,oBAAoB,CAmB1B;IAEI,KAAK;YAeG,gBAAgB;YAMhB,eAAe;IAqE7B,OAAO,CAAC,aAAa;YAqhBP,gBAAgB;IAkK9B,OAAO,CAAC,gBAAgB;YAwFV,wBAAwB;IAuFtC,OAAO,CAAC,kBAAkB;IAwD1B,OAAO,CAAC,uBAAuB;IAwE/B,OAAO,CAAC,mBAAmB;YA8Bb,mBAAmB;CAUlC"}
1
+ {"version":3,"file":"brutalist-server.d.ts","sourceRoot":"","sources":["../src/brutalist-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAUpE,OAAO,EACL,qBAAqB,EAKtB,MAAM,sBAAsB,CAAC;AAc9B,qBAAa,eAAe;IACnB,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,qBAAqB,CAAC;IACrC,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,aAAa,CAAC,CAAgC;IACtD,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,eAAe,CAAC,CAAa;IAErC,OAAO,CAAC,cAAc,CAIjB;gBAEO,MAAM,GAAE,qBAA0B;IAsC9C,OAAO,CAAC,oBAAoB,CAqD1B;IAEF,OAAO,CAAC,oBAAoB,CAkC1B;IAEI,KAAK;YAeG,gBAAgB;YAMhB,eAAe;IAmItB,aAAa,IAAI,MAAM,GAAG,SAAS;IAKnC,OAAO,IAAI,IAAI;IAOtB,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,oBAAoB;IA2F5B;;OAEG;YACW,eAAe;YAyJf,gBAAgB;IAkK9B,OAAO,CAAC,gBAAgB;YA0FV,wBAAwB;IA0FtC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAwB1B,OAAO,CAAC,kBAAkB;IAwD1B,OAAO,CAAC,uBAAuB;IA2G/B,OAAO,CAAC,mBAAmB;YA8Bb,mBAAmB;CAUlC"}