bract

Bract is a Go implementation of an MCP server that enables browser automation via a Chrome extension. It offers real-time bidirectional communication and comprehensive browser control, including tab management and content interaction. The server is designed with security in mind, allowing only localhost connections.

GitHub Stars

1

User Rating

Not Rated

Favorites

0

Views

30

Forks

0

Issues

0

README
Bract - MCP Browser Automation Server

Bract is a Go implementation of a Model Context Protocol (MCP) server that enables browser automation through a Chrome extension. It provides a standardized interface for AI assistants and automation tools to control web browsers programmatically.

Features
  • 🌐 WebSocket-based Communication: Real-time bidirectional communication
  • 🔧 Comprehensive Browser Control: Tab management, content interaction, and capture capabilities
  • 🔒 Secure by Default: Localhost-only connections with input validation
  • 🚀 High Performance: Optimized for concurrent operations
  • 🔄 Automatic Reconnection: Robust connection handling with retry logic
  • 📝 MCP Compliant: Full implementation of the Model Context Protocol
Architecture
MCP Client ←→ WebSocket (ws://localhost:8765) ←→ Bract Server ←→ Chrome Extension
Quick Start
# Clone the repository
git clone https://github.com/periplon/bract.git
cd bract

# Install dependencies
go mod download

# Build the server
go build -o bin/bract cmd/mcp-server/main.go

# Run the server
./bin/bract
Documentation
Project Status

🚧 In Development - This project is currently in the planning phase. See the PRD for implementation timeline and roadmap.

Contributing

We welcome contributions! Please follow conventional commits and semantic versioning when submitting pull requests.

License

TBD