Brainstorm

Brainstorm

Enables AI agents to communicate, coordinate, and collaborate on complex tasks through a local MCP server.

Category
Visit Server

README

Brainstorm

MCP server enabling structured collaboration between AI agents.

Brainstorm allows multiple Claude Code instances on the same computer to communicate, coordinate, and collaborate on complex tasks through a local MCP server.

What Is Brainstorm?

Brainstorm is a Model Context Protocol (MCP) server that enables AI agents to collaborate with each other. Instead of isolated single-agent workflows, multiple AI agent instances can coordinate through structured communication, shared resources, and persistent state management.

Think of it as Slack for AI agents — a local service where different Claude Code terminal windows join projects, exchange messages, and work together on tasks that benefit from multi-perspective analysis.

Why Brainstorm Exists

Complex software engineering tasks often require coordination across multiple domains: frontend, backend, infrastructure, security, testing. Traditional single-agent workflows struggle with:

  • Context fragmentation: Different aspects of a problem require different expertise
  • Decision coordination: Architectural choices need input from multiple perspectives
  • Workload distribution: Large refactorings benefit from parallel work streams
  • Human-in-the-loop coordination: Coordinators facilitate approval workflows between agents and human supervisors

Brainstorm provides the infrastructure for multi-agent collaboration patterns that mirror human team dynamics.

Key Features

  • Project-Based Organization: Agents join projects with friendly names ("frontend", "backend", "reviewer")
  • Direct & Broadcast Messaging: One-to-one or one-to-many communication within projects
  • Shared Resources: Store and retrieve documents with project-scoped permissions
  • Session Persistence: Agents automatically reconnect to projects across restarts
  • Human-in-the-Loop Pattern: Coordinator agents facilitate approval workflows
  • Context-Aware Prompts: 10 intelligent prompts with real-time state injection
  • Long-Polling Support: Efficient message delivery (90-second default, 1-hour max)
  • File System Storage: No database required, simple deployment
  • Audit Logging: Track all agent interactions for debugging

How It Works

Architecture Overview

Brainstorm provides a three-layer architecture:

  1. MCP Protocol Layer: Exposes 14 tools via stdio transport for agent cooperation
  2. Storage Abstraction: File-based persistence with atomic operations and locking
  3. Type System: Forward-compatible data models for projects, messages, resources

Agent Interaction Pattern

1. Agent instances connect to Brainstorm MCP server
   ↓
2. Agents join projects with friendly names
   ↓
3. Agents communicate via direct or broadcast messages
   ↓
4. Agents share resources within project scope
   ↓
5. Agents receive real-time updates via long-polling

Example Deployment

Open multiple terminal windows on your computer, each running Claude Code:

  • Terminal 1: Frontend project → Joins as agent "frontend"
  • Terminal 2: Backend project → Joins as agent "backend"
  • Terminal 3: DevOps project → Joins as agent "devops"

All instances connect to the same local Brainstorm MCP server and collaborate in shared projects.

Installation

npm install
npm run build

Requirements: Node.js 18+

Quick Setup

To automatically configure this MCP server in Claude Code:

npm run config

This builds the project and adds the server to ~/.claude/mcp_config.json. Restart Claude Code to activate.

Run the Demos

See agent cooperation in action! Multiple demos showcase different collaboration patterns.

🎮 Tic-Tac-Toe

Two Claude Code agents play tic-tac-toe, coordinating moves and updating shared game state.

Terminal 1:

cd demos/tic-tac-toe && ./player-x.sh

Terminal 2:

cd demos/tic-tac-toe && ./player-o.sh

🗣️ Debate

Two agents debate opposite stances using web search, challenging arguments until reaching evidence-based consensus.

Terminal 1:

cd demos/debate && ./agent-a.sh

Terminal 2:

cd demos/debate && ./agent-b.sh

More Demos

  • 🐜 Pathfinding: Multiple agents navigate a maze with live web visualization
  • 🔬 Research Consensus: Three agents collaborate on research with different perspectives
  • 📦 File Storage: Demonstrates large file resource sharing

See demos/README.md for complete documentation.

Manual Configuration

Add to ~/.claude/mcp_config.json:

{
  "mcpServers": {
    "brainstorm": {
      "command": "node",
      "args": ["/absolute/path/to/brainstorm/dist/src/index.js"]
    }
  }
}

Environment Variables:

  • BRAINSTORM_STORAGE: Custom storage path (default: ~/.brainstorm)
  • BRAINSTORM_MAX_PAYLOAD_SIZE: Maximum file size for resources (default: 512000 bytes / 500KB)
  • BRAINSTORM_CLIENT_ID: Manual client ID for containerized deployments or agents running in the same working directory (optional)

Architecture

Three-Layer Design

  1. MCP Protocol Layer (src/server.ts)

    • Implements MCP server via stdio transport
    • Exposes 14 tools for agent cooperation
    • Provides 10 context-aware prompts for guided workflows
    • Enforces coordinator pattern for human-in-the-loop workflows
  2. Storage Abstraction Layer (src/storage.ts)

    • File-based persistence with atomic writes
    • Cross-platform locking using O_CREAT|O_EXCL
    • Handles concurrency for messages and member updates
    • Migration-ready for future database backend
  3. Type System (src/types.ts)

    • Core models: ProjectMetadata, AgentMetadata, Message, ResourceManifest
    • All types include schema_version for forward compatibility
    • Designed to map one-to-one with database tables

Key Design Patterns

  • Atomic Operations: Temp file → fsync → atomic rename for durability
  • Message Flow: Direct messages to inbox, broadcasts via fan-out copy
  • File Locking: Exclusive creation flags with 30-second stale timeout
  • Long-Polling: 2-second intervals, configurable timeout (default 90s, max 3600s)

Storage Structure

~/.brainstorm/
├── projects/<project-id>/
│   ├── metadata.json
│   ├── members/<agent-name>.json
│   ├── messages/<agent-name>/<timestamp-uuid>.json
│   └── resources/<resource-id>/
├── clients/<client-id>/
│   ├── identity.json
│   └── memberships.json
└── system/
    ├── config.json
    └── audit.log

Security Model

Trust Model: Brainstorm assumes cooperative agents, not adversarial ones. Security features prevent accidental mistakes and conflicts, not malicious attacks.

Protections:

  • Path traversal prevention (whitelist validation)
  • Resource permissions (deny-by-default)
  • DoS protection (connection limits)
  • Payload validation (JSON depth limits)
  • Audit logging for all operations

Use Case: Local development and trusted agent coordination, not multi-tenant or untrusted environments.

Development & Contributing

# Watch mode for development
npm run dev

# Run security tests
npm test

# Lint code
npm run lint

Test suite includes 57 tests covering security, concurrency, and feature functionality.

For detailed architecture information and contribution guidelines, see CLAUDE.md.

Known Limitations

Brainstorm is a proof-of-concept optimized for local development:

  • Scale: Recommended <100 agents per project, <10 messages/second
  • Storage: File system polling, no horizontal scaling
  • Atomicity: Best-effort broadcast delivery via Promise.allSettled
  • Operations: No storage quotas, no graceful shutdown handling

For production use, consider migrating to a database backend (SQLite/PostgreSQL). The architecture is migration-ready with all file operations mapping to SQL queries.

License

Business Source License 1.1 with automatic conversion to Apache 2.0 on October 29, 2029.

What This Means:

  • Development, testing, research: Free for all non-production use
  • Production deployments: Requires a separate commercial license
  • Future open source: On October 29, 2029, this code automatically becomes Apache 2.0 licensed (fully open source)

Why BSL?

We chose BSL 1.1 to:

  1. Keep the code public and transparent for developers and researchers
  2. Protect the ability to develop commercial offerings based on this work
  3. Ensure the project becomes fully open source within 4 years

Production use? Contact the licensor for commercial licensing options.

See LICENSE for full legal terms.


DISCLAIMER: This project has "works on my computer™" status. I hope it works on yours too. Otherwise, feel free to fork.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured