BRAINS OS - MCP
by groovysquirrel
Brains OS - MCP is a modern, serverless operating system for AI systems and agents, built with SST, React, and TypeScript. It provides a robust framework for managing Large Language Models (LLMs) and specialized AI agents through the MCP (Model Control Protocol).
Last updated: N/A
BRAINS OS - version MCP
A modern, serverless operating system for AI systems and agents, built with SST, React, and TypeScript. This project provides a robust framework for managing Large Language Models (LLMs) and specialized AI agents through the MCP (Model Control Protocol) with a unified command system and shared operating template.
Overview
Brains MCP is designed to:
- Manage and orchestrate AI workflows through a visual interface
- Provide a unified command system for AI operations
- Enable secure, scalable deployment of AI subminds
- Support comprehensive prompt management and benchmarking
- Maintain strict data ownership and audit capabilities
Key Features
Current Version
- Visual flow editor for AI workflow design
- Unified command system for AI operations
- Secure authentication and authorization
- Real-time workflow execution
- Comprehensive audit logging
Coming Soon
- Advanced prompt library with benchmarking capabilities
- MCP (Model Control Protocol) client/server implementation
- Enhanced state management and persistence
- Extended model support and integration
- Advanced templating system
Architecture
The system is built on modern cloud-native technologies:
- Frontend: React with TypeScript and Flow-based UI
- Backend: AWS Lambda functions
- Authentication: AWS Cognito
- Database: DynamoDB
- Infrastructure: SST (Serverless Stack)
Getting Started
Prerequisites
- Node.js (v16 or later)
- AWS account with configured credentials
- Git
Installation
-
Clone the repository:
git clone [repository-url] cd brains-mcp
-
Install dependencies:
npm install
-
Start the development server:
npx sst dev
Test Environment Setup
-
Create your test environment file:
cp .env.test.example .env.test chmod 600 .env.test # Set secure file permissions
-
Configure your test environment by editing
.env.test
:# API Configuration API_STAGE=dev API_VERSION=latest API_BASE_URL=https://dev-api.yoururl-in-aws-route53.com # AWS Cognito Authentication (Required) [email protected] COGNITO_PASSWORD=your_test_password USER_POOL_ID=us-east-1_xxxxxx APP_CLIENT_ID=xxxxxxxxxxxxxxxxxx COGNITO_REGION=us-east-1 IDENTITY_POOL_ID=us-east-1:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx API_GATEWAY_REGION=us-east-1
-
Verify your test setup:
# Run a basic test to verify configuration ./packages/brainsOS/test_scripts/mcp/test_tools.sh
Security Notes
- Never commit
.env.test
to version control - Keep test credentials secure and rotate them regularly
- Ensure
.env.test
has correct permissions (600) - Review test scripts for any hardcoded sensitive data
- Use separate test credentials from production
Test Script Organization
packages/brainsOS/test_scripts/
├── mcp/ # MCP-specific test scripts
├── resources/ # Resource API test scripts
├── services/ # Service API test scripts
└── test_utils.sh # Common test utilities
Running Tests
-
Individual test scripts:
# Run specific test suite ./packages/brainsOS/test_scripts/mcp/test_tools.sh # Run with specific starting point ./packages/brainsOS/test_scripts/mcp/test_tools.sh -5 # Start from step 5
-
Interactive features:
- Press [Enter] to continue to next test
- Press [R] to retry the last command
- Press [Q] to quit the test suite
-
Reviewing results:
- ✅ indicates passed tests
- ❌ indicates failed tests
- ⚠️ indicates warnings or important notices
Troubleshooting
-
Permission Issues:
# Reset file permissions chmod 600 .env.test chmod 755 packages/brainsOS/test_scripts/*.sh
-
Authentication Errors:
- Verify Cognito credentials in
.env.test
- Check API endpoint configuration
- Ensure AWS region settings are correct
- Verify Cognito credentials in
-
Common Issues:
- Token expiration: Scripts handle this automatically
- Rate limiting: Built-in delays prevent API throttling
- Missing environment variables: Validation will catch these
Project Structure
brains-mcp/
├── packages/
│ ├── frontend/ # React-based flow editor
│ │ ├── src/
│ │ │ ├── components/
│ │ │ ├── nodes/
│ │ │ └── core/
│ │ └── ...
│ └── brainsOS/ # Core backend system
│ ├── commands/ # Command implementations
│ ├── core/ # Core services
│ ├── functions/ # API functions
│ └── utils/ # Shared utilities
├── infra/ # Infrastructure code
└── sst.config.ts # SST configuration
Development
Local Development
npx sst dev
Deployment
npx sst deploy --stage <stage>
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
License
[License Type] - See LICENSE file for details