@brutalist/mcp 0.1.1 → 0.4.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
@@ -1,74 +1,240 @@
1
- # Brutalist MCP
1
+ # Brutalist MCP 💀
2
2
 
3
- Your architecture will fail. Your startup will burn money. Your code has three unpatched CVEs.
3
+ Your startup will fail. Your architecture will collapse. Your code is a security nightmare.
4
4
 
5
- All AIs are sycophants. This one doesn't lie.
5
+ But this time, you'll know *why* before users do.
6
6
 
7
- ## brutalist workflows
7
+ ## Deploy AI Critics That Don't Lie
8
+
9
+ Every AI tells you what you want to hear. This one tells you what you need to know.
10
+
11
+ Three brutal CLI agents. Zero sugar-coating. Maximum carnage.
12
+
13
+ Three brutal CLI agents that can analyze anything. Each agent brings different perspectives to demolish your work from every angle.
14
+
15
+ Real file-system analysis. Actual brutal prompts. No participation trophies.
16
+
17
+ ## Brutalist Workflows
18
+
19
+ ### 🔍 **Codebase Destruction**
20
+
21
+ > Analyze actual files in your repository for security holes, performance disasters, and architectural nightmares.
8
22
 
9
23
  ```bash
10
- # Destroy your architecture before users do
11
- roast_architecture "This microservices design for our startup..."
24
+ # Demolish your entire codebase
25
+ roast_codebase "/path/to/your/project"
26
+
27
+ # Target specific modules for focused brutality
28
+ roast_codebase "/src/auth" # Authentication vulnerabilities
29
+ roast_codebase "/src/api/handlers" # API endpoint disasters
30
+ roast_codebase "/components" # React component chaos
31
+ ```
32
+
33
+ ---
34
+
35
+ ### 💡 **Idea Obliteration**
12
36
 
13
- # Demolish your code quality with specific models
14
- roast_code(code="authentication.py", models=["google/gemini-2.5-pro", "anthropic/claude-3.5-sonnet"])
37
+ > Reality-check your startup dreams, product concepts, and technical decisions.
15
38
 
16
- # Reality check your ideas with 325+ AI models
17
- roast_idea "We're building a marketplace for..."
39
+ ```bash
40
+ # Startup idea destruction
41
+ roast_idea "A social network for developers to share code snippets"
18
42
 
19
- # Discover available models (325+ and growing)
20
- model_roster() # Shows all available models
21
- model_roster(search="gemini") # Find specific models
43
+ # Technical decision analysis
44
+ roast_idea "Migrating our monolith to microservices with Kubernetes"
22
45
 
23
- # Multi-model adversarial debate
24
- roast_debate "Should we use TypeScript or Go for this API?"
46
+ # Product feature validation
47
+ roast_idea "Adding AI-powered code suggestions to our IDE"
25
48
  ```
26
49
 
27
- ## setup
50
+ ---
51
+
52
+ ### 🏗️ **Architecture Annihilation**
53
+
54
+ > Find every scaling bottleneck, cost explosion, and operational nightmare in your system design.
28
55
 
29
56
  ```bash
30
- # One command. Zero configuration. Replace YOUR_KEY with your OpenRouter API key.
31
- claude mcp add brutalist -e OPENROUTER_API_KEY=YOUR_KEY -- npx -y @brutalist/mcp
57
+ # System architecture review
58
+ roast_architecture "Microservices with event sourcing and CQRS"
59
+
60
+ # Infrastructure design analysis
61
+ roast_architecture """
62
+ API Gateway → Load Balancer → 3 Node.js services → PostgreSQL
63
+ Redis for caching, Docker containers on AWS ECS
64
+ """
32
65
  ```
33
66
 
34
- **Get key**: https://openrouter.ai/keys
35
- **Models**: 325+ models dynamically fetched from OpenRouter. Always current.
67
+ ---
68
+
69
+ ### 🔒 **Security Demolition**
70
+
71
+ > Expose authentication bypasses, injection vulnerabilities, and data leak opportunities.
72
+
73
+ ```bash
74
+ # Authentication system analysis
75
+ roast_security "JWT tokens with user roles in localStorage"
76
+
77
+ # API security review
78
+ roast_security "GraphQL API with dynamic queries and no rate limiting"
79
+ ```
36
80
 
37
- ## why
81
+ ---
38
82
 
39
- Every LLM defaults to "great idea!" because conflict doesn't pay. This deploys 325+ models to fight over your assumptions.
83
+ ### 🤺 **Multi-Agent Warfare**
40
84
 
41
- ## model selection
85
+ > Deploy multiple CLI agents in adversarial combat for maximum destruction.
42
86
 
43
87
  ```bash
44
- # Specific models
45
- roast_code(code="...", models=["google/gemini-2.5-pro", "openai/gpt-4o"])
88
+ # Technical decision debate
89
+ roast_cli_debate "Should we use TypeScript or Go for this API?"
46
90
 
47
- # Random from 325+ models
48
- roast_idea "..." # Chaos mode
91
+ # Architecture comparison battle
92
+ roast_cli_debate "Microservices vs Monolith for our e-commerce platform"
49
93
  ```
50
94
 
51
- ## tools
95
+ ---
96
+
97
+ ### 🛠️ **Meta Commands**
98
+
99
+ ```bash
100
+ # Check which CLI agents are available
101
+ cli_agent_roster()
102
+ ```
103
+
104
+ ## How It Works
105
+
106
+ This MCP server orchestrates brutal feedback from locally installed CLI agents:
107
+ - **Claude Code CLI** - Anthropic's code assistant with brutal system prompts
108
+ - **Codex CLI** - OpenAI's code-focused model for technical criticism
109
+ - **Gemini CLI** - Google's model for architectural and system analysis
110
+
111
+ Each agent runs locally on your machine with custom brutal prompts to find real problems before production fails.
52
112
 
53
- - **`roast_idea`** Why imagination fails to become reality
54
- - **`roast_code`** — Security holes, performance disasters, maintainability nightmares
55
- - **`roast_architecture`** — Scaling failures, cost explosions, operational complexity
56
- - **`roast_research`** — Methodological flaws, irreproducible results, statistical crimes
57
- - **`roast_data`** — Overfitting, bias, correlation fallacies
58
- - **`roast_security`** — Attack vectors, authentication bypasses, data leaks
59
- - **`roast_product`** — UX disasters, adoption barriers, user abandonment
60
- - **`roast_infrastructure`** — Single points of failure, hidden costs, 3AM outages
61
- - **`roast_debate`** — Multiple models argue until truth emerges
62
- - **`model_roster`** — Browse and search 325+ available critics
113
+ **⏱️ 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.
63
114
 
64
- ## why this works
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
+ ## Tools
179
+
180
+ ### Code & Architecture Analysis
181
+ | Tool | What gets destroyed | CLI Agents Used |
182
+ |------|-------------------|-----------------|
183
+ | `roast_codebase` | Security holes, performance disasters, maintainability nightmares in actual files | All available |
184
+ | `roast_file_structure` | Directory chaos, naming disasters, structural nightmares | All available |
185
+ | `roast_dependencies` | Version conflicts, security vulns, dependency hell | All available |
186
+ | `roast_git_history` | Commit disasters, branching chaos, collaboration failures | All available |
187
+ | `roast_test_coverage` | Testing gaps, quality blind spots, coverage lies | All available |
188
+
189
+ ### Conceptual Analysis
190
+ | Tool | What gets destroyed | CLI Agents Used |
191
+ |------|-------------------|-----------------|
192
+ | `roast_idea` | Why imagination fails to become reality | All available |
193
+ | `roast_architecture` | Scaling failures, cost explosions, operational complexity | All available |
194
+ | `roast_research` | Methodological flaws, irreproducible results, statistical crimes | All available |
195
+ | `roast_security` | Attack vectors, authentication bypasses, data leaks | All available |
196
+ | `roast_product` | UX disasters, adoption barriers, user abandonment | All available |
197
+ | `roast_infrastructure` | Single points of failure, hidden costs, 3AM outages | All available |
198
+
199
+ ### Meta Tools
200
+ | Tool | What it does |
201
+ |------|--------------|
202
+ | `roast_cli_debate` | Multiple CLI agents argue until truth emerges |
203
+ | `cli_agent_roster` | Shows which CLI agents are available on your system |
204
+
205
+ ## CLI Agent Selection
206
+
207
+ The system automatically detects and uses available CLI agents:
208
+
209
+ ```bash
210
+ # Use specific CLI agent
211
+ roast_codebase(targetPath="/src", preferredCLI="claude")
212
+
213
+ # Let system choose based on analysis type
214
+ roast_security "/auth/module" # Prefers Codex for security
215
+
216
+ # Force multi-agent analysis (default)
217
+ roast_idea "..." # All available agents analyze in parallel
218
+ ```
219
+
220
+ ### Smart Selection Rules
221
+
222
+ Different CLI agents excel at different analysis types:
223
+ - **Code review**: Claude > Codex > Gemini
224
+ - **Architecture**: Gemini > Claude > Codex
225
+ - **Security**: Codex > Claude > Gemini
226
+ - **Research**: Claude > Gemini > Codex
227
+
228
+ ## Why This Works
65
229
 
66
230
  **Problem:** AI optimizes for engagement, not truth.
67
- **Solution:** Deploy multiple models with conflicting incentives.
68
- **Result:** Brutal honesty before expensive failures.
231
+ **Solution:** Deploy multiple local CLI agents with adversarial perspectives.
232
+ **Result:** Brutal honesty through systematic destruction before expensive failures.
233
+
234
+ Your code will fail. Your startup will struggle. Better to learn this from brutal CLI agents than from production outages at 3AM.
69
235
 
70
- Your code will fail. Your startup will struggle. Better to learn this from AI critics than users.
236
+ The only AI that prevents disasters instead of causing them.
71
237
 
72
238
  ---
73
239
 
74
- OpenRouter API325+ models → Parallel execution → Adversarial synthesis
240
+ Local CLI agents Brutal system prompts → Parallel execution → Adversarial synthesis → Production survival
@@ -3,13 +3,13 @@ import { BrutalistServerConfig } from './types/brutalist.js';
3
3
  export declare class BrutalistServer {
4
4
  server: McpServer;
5
5
  config: BrutalistServerConfig;
6
- private openrouter;
6
+ private cliOrchestrator;
7
7
  constructor(config?: BrutalistServerConfig);
8
8
  start(): Promise<void>;
9
9
  private registerTools;
10
- private executeRoast;
11
- private executeDebate;
10
+ private executeCLIDebate;
12
11
  private synthesizeDebate;
12
+ private executeBrutalistAnalysis;
13
13
  private formatToolResponse;
14
14
  private formatErrorResponse;
15
15
  private handleToolExecution;
@@ -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;AAKpE,OAAO,EACL,qBAAqB,EAItB,MAAM,sBAAsB,CAAC;AAG9B,qBAAa,eAAe;IACnB,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,qBAAqB,CAAC;IACrC,OAAO,CAAC,UAAU,CAAmB;gBAEzB,MAAM,GAAE,qBAA0B;IA0BxC,KAAK;IAWX,OAAO,CAAC,aAAa;YAkTP,YAAY;YAiCZ,aAAa;IAkC3B,OAAO,CAAC,gBAAgB;IA0BxB,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,mBAAmB;YAUb,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;AAKpE,OAAO,EACL,qBAAqB,EAItB,MAAM,sBAAsB,CAAC;AAI9B,qBAAa,eAAe;IACnB,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,qBAAqB,CAAC;IACrC,OAAO,CAAC,eAAe,CAAuB;gBAElC,MAAM,GAAE,qBAA0B;IAsBxC,KAAK;IAWX,OAAO,CAAC,aAAa;YA6cP,gBAAgB;IAsE9B,OAAO,CAAC,gBAAgB;YA4CV,wBAAwB;IAyEtC,OAAO,CAAC,kBAAkB;IAgD1B,OAAO,CAAC,mBAAmB;YA8Bb,mBAAmB;CAUlC"}