Skip to main content
Glama

Brummer MCP Server

README.md9.43 kB
# 🐝 Brummer *Your Terminal UI Development Buddy with intelligent monitoring* A TUI (Terminal User Interface) for managing npm/yarn/pnpm/bun scripts with integrated MCP server for external tool access. Brummer provides intelligent log management, real-time monitoring, and seamless integration with development tools. ## 📖 Documentation 📚 **Full documentation available at: [https://standardbeagle.github.io/brummer/](https://standardbeagle.github.io/brummer/)** Quick links: - [Getting Started Guide](https://standardbeagle.github.io/brummer/docs/getting-started) - [Installation Options](https://standardbeagle.github.io/brummer/docs/installation) - [MCP Integration](https://standardbeagle.github.io/brummer/docs/mcp-integration/overview) ## Features - **Multi-Package Manager Support**: Automatically detects and uses npm, yarn, pnpm, or bun - **Monorepo Support**: Full support for pnpm workspaces, npm workspaces, yarn workspaces, Lerna, Nx, and Rush - **Multi-Language Detection**: Auto-detects commands for Node.js, Go, Rust, Java (Gradle/Maven), .NET, Python, Ruby, PHP, Flutter, and more - **Interactive TUI**: Navigate through scripts, monitor processes, and view logs in real-time - **Smart Log Management**: - Automatic error detection and prioritization - Log filtering and search capabilities - Build event and test result detection - **MCP Server Integration**: Allows external tools (VSCode, Claude Code, etc.) to: - Access log output and errors - Execute commands asynchronously - Monitor process status - **Process Management**: Start, stop, and monitor multiple processes simultaneously - **VS Code Tasks**: Detects and runs VS Code tasks from .vscode/tasks.json - **Environment Variable Management** (Planned): - Unified .env file management with multi-format support - TUI view for browsing and editing environment variables - Automatic injection for scripts and AI agents - Secret detection and masking for security ## Installation ### Quick Install (One-Liner) <details> <summary><b>🐧 Linux/macOS</b></summary> ```bash curl -sSL https://raw.githubusercontent.com/standardbeagle/brummer/main/quick-install.sh | bash ``` Or with wget: ```bash wget -qO- https://raw.githubusercontent.com/standardbeagle/brummer/main/quick-install.sh | bash ``` </details> <details> <summary><b>🪟 Windows (PowerShell)</b></summary> ```powershell irm https://raw.githubusercontent.com/standardbeagle/brummer/main/quick-install.ps1 | iex ``` </details> ### Package Managers <details> <summary><b>📦 NPM/NPX</b></summary> ```bash # Run directly with npx (no installation) npx @standardbeagle/brum # Install globally npm install -g @standardbeagle/brum # Or with yarn yarn global add @standardbeagle/brum # Or with pnpm pnpm add -g @standardbeagle/brum ``` </details> <details> <summary><b>🐹 Go Install</b></summary> ```bash go install github.com/standardbeagle/brummer/cmd/brum@latest ``` </details> ### Install from Source <details> <summary><b>Build from source</b></summary> ```bash # Clone the repository git clone https://github.com/standardbeagle/brummer cd brummer # Using Make (recommended) make install-user # Install for current user (~/.local/bin) # OR make install # Install system-wide (requires sudo) # Using the interactive installer ./install.sh # Manual build go build -o brum ./cmd/brum mv brum ~/.local/bin/ # Add to PATH ``` </details> ## Usage ### Basic Usage In a directory with a `package.json` file: ```bash brum ``` ### Options ```bash brum [flags] Flags: -d, --dir string Working directory containing package.json (default ".") -p, --port int MCP server port (default 7777) --no-mcp Disable MCP server --settings Show current configuration settings with sources -h, --help help for brum ``` ### TUI Navigation - **Tab**: Switch between views (Scripts, Processes, Logs, Errors, URLs, Settings) - **↑/↓** or **j/k**: Navigate items - **Enter**: Select/execute - **n**: Open run command dialog (from Scripts tab) - **Esc** or **q**: Go back - **/**: Search logs - **p**: Toggle high-priority logs ### Process Management - **Navigate**: Use ↑/↓ arrows to select a process (shows status with colored indicators) - **s**: Stop selected process (only works on running processes 🟢) - **r**: Restart selected process (stops then starts the same script) - **Ctrl+R**: Restart all running processes - **Enter**: View logs for selected process **Process Status Indicators:** - 🟢 **Running** - Process is active (can stop/restart) - 🔴 **Stopped** - Process was manually stopped - ❌ **Failed** - Process exited with error - ✅ **Success** - Process completed successfully - ⏸️ **Pending** - Process is starting up **Automatic Cleanup:** - All running processes are automatically stopped when Brummer exits - Use Ctrl+C or 'q' to quit with graceful cleanup - Process count shown in header: "Running Processes (2)" ### Log Management - **c**: Copy most recent error to clipboard - **f**: View/manage filters ### Other - **?**: Show help - **Ctrl+C**: Quit ## Configuration Brummer supports hierarchical configuration through `.brum.toml` files. Configuration is loaded in the following order (later values override earlier ones): 1. `~/.brum.toml` (global user settings) 2. Project root and parent directories (walking up to root) 3. Current working directory `.brum.toml` ### Viewing Current Configuration ```bash # Show current settings with source files brum --settings # Create a configuration file from current settings brum --settings > .brum.example.toml ``` ### Configuration Options Create a `.brum.toml` file in your project or home directory: ```toml # Package manager preference preferred_package_manager = "pnpm" # npm, yarn, pnpm, bun # MCP Server settings mcp_port = 7777 no_mcp = false # Proxy settings proxy_port = 19888 proxy_mode = "reverse" # "reverse" or "full" proxy_url = "http://localhost:3000" # Optional: auto-proxy this URL standard_proxy = false no_proxy = false ``` ### Settings Tab The Settings tab provides: - **Package Manager Selection**: Choose between npm, yarn, pnpm, or bun - **MCP Server Installation**: One-click installation for development tools: - Claude Desktop ✓ - Claude Code ✓ - Cursor ✓ - VSCode (with MCP extension) ✓ - Cline ✓ - Windsurf ✓ - Roo Code (experimental) - Augment (experimental) - Cody (experimental) ## MCP Hub Mode 🆕 Brummer Hub Mode enables MCP clients to discover and control multiple brummer instances through a single connection: ### Quick Setup 1. **Configure your MCP client once:** ```json { "servers": { "brummer-hub": { "command": "brum", "args": ["--mcp"] } } } ``` 2. **Run brummer in each project:** ```bash cd ~/projects/frontend && brum cd ~/projects/backend && brum ``` 3. **Use hub tools in your MCP client:** - `instances/list` - See all running instances - `instances/connect` - Connect to a specific instance - All instance tools become available with prefixes [📚 Full Hub Mode Documentation](docs/hub-mode.md) ## MCP Server Integration The MCP server runs on port 7777 by default and implements the official MCP Streamable HTTP transport protocol: ### Transport Protocol **Single Endpoint**: `http://localhost:7777/mcp` **Connection Types**: 1. **Standard JSON-RPC** (POST with `Accept: application/json`) 2. **Server-Sent Events** (GET with `Accept: text/event-stream`) 3. **SSE Response** (POST with `Accept: text/event-stream`) ### Example Connection ```javascript // SSE streaming connection const eventSource = new EventSource('http://localhost:7777/mcp'); eventSource.onmessage = (event) => { const msg = JSON.parse(event.data); console.log('Received:', msg); }; // Send JSON-RPC requests fetch('http://localhost:7777/mcp', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Accept': 'application/json' }, body: JSON.stringify({ jsonrpc: '2.0', id: 1, method: 'tools/list' }) }); ``` ### Available Tools **Script Management**: `scripts_list`, `scripts_run`, `scripts_stop`, `scripts_status` **Log Management**: `logs_stream`, `logs_search` **Browser Tools**: `browser_open`, `browser_screenshot`, `browser_navigate`, `repl_execute` **Proxy Tools**: `proxy_requests` **Telemetry**: `telemetry_sessions`, `telemetry_events` ## Examples ### Run in a specific directory ```bash brum -d ~/projects/my-app ``` ### Run with custom MCP port ```bash brum -p 8888 ``` ### Run without MCP server (TUI only) ```bash brum --no-mcp ``` ### Run in headless mode (MCP server only) ```bash brum --no-tui ``` ## Development ### Project Structure ``` brummer/ ├── cmd/brum/ # Main application entry point ├── internal/ │ ├── tui/ # Terminal UI components │ ├── process/ # Process management │ ├── mcp/ # MCP server implementation │ ├── logs/ # Log storage and detection │ └── parser/ # Package.json parsing ├── pkg/ │ ├── events/ # Event system │ └── filters/ # Log filtering └── go.mod ``` ### Building ```bash go build -o brum ./cmd/brum ``` ### Testing ```bash go test ./... ``` ## License MIT

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/standardbeagle/brummer'

If you have feedback or need assistance with the MCP directory API, please join our Discord server