bgagents

bgagents

Enables turning AI code agents like Anthropic Claude and OpenAI Codex into background agents accessible via MCP protocol for code generation, branch creation, and PR automation.

Category
Visit Server

README

Status Node.js TypeScript License AI Powered

bgagents

flow.gif

bgagents is the first open-source project that turns the most powerful code agents, such as ANTHROPIC ClaudeCode and OpenAI Codex into background agents, accessible via REST API, MCP, and an interactive frontend

✨ Features

Code Generation GitHub Integration MCP Protocol Docker Ready

Getting Started

Quick Start (Recommended)

Docker

The fastest way to get bgagents running is with our pre-built Docker image:

GitHub Authentication (Choose one method):

Option 1: Direct Token

docker run -e GITHUB_TOKEN=[ghp_xxx] \
           -e API_KEY=[sk-...-xxx] \ # Optional
           bgagents/bgagents:v1.0.1-alpha

Option 2: OAuth Flow


docker run -e GITHUB_CLIENT_ID=[your_client_id] \
           -e GITHUB_CLIENT_SECRET=[your_client_secret] \
           -e GITHUB_REDIRECT_URI=http://localhost:3000 \
           -e API_KEY=[sk-...-xxx] \ # Optional 
           bgagents/bgagents:v1.0.1-alpha

Optional Environment Variables:

  • API_KEY: Your Anthropic Claude or OpenAI API key (auto-detects provider)
  • GITHUB_TOKEN: GitHub access token (alternative to providing it in requests)

šŸ¤– Supported AI Models:

  • Anthropic: claude-sonnet-4-20250514 (default), claude-opus-4-20250514, claude-3-7-sonnet-20250219
  • OpenAI: codex-mini-latest (default), o4-mini

Production

Prerequisites

Docker

With Docker Compose (Recommended)

  1. Clone the repository:

    git clone https://github.com/michael-elkabetz/claudecodex.git
    cd claudecodex
    
  2. Set up environment variables:

    Update docker-compose.yml with the following environment variables:

    VITE_GITHUB_CLIENT_ID=[VITE_GITHUB_CLIENT_ID]
    VITE_GITHUB_REDIRECT_URI=[VITE_GITHUB_REDIRECT_URI]
    GITHUB_CLIENT_SECRET=[GITHUB_CLIENT_SECRET]
    GITHUB_TOKEN=ghp_xxx
    API_KEY=[your_anthropic_or_openai_api_key]  # Optional
    
  3. Deploy with Docker Compose:

    # Build and start all services
    docker-compose up --build -d
    
    # View logs
    docker-compose logs -f
    
  4. Access the services:

    • Frontend: http://localhost (port 80)
    • Backend API: http://localhost:3000
    • MCP Server: http://localhost:6213

With Docker (Frontend + Backend)

  1. Clone the repository:

    git clone https://github.com/michael-elkabetz/claudecodex.git
    cd claudecodex
    
  2. Set up environment variables:

    Update the main Dockerfile with the following environment variables:

    VITE_GITHUB_CLIENT_ID=[VITE_GITHUB_CLIENT_ID]
    VITE_GITHUB_REDIRECT_URI=[VITE_GITHUB_REDIRECT_URI]
    GITHUB_CLIENT_SECRET=[GITHUB_CLIENT_SECRET]
    GITHUB_TOKEN=ghp_xxx
    API_KEY=[your_anthropic_or_openai_api_key]  # Optional
    

flow.gif 3. Build and deploy:

```bash
docker build -t ClaudeCodex-backend .
docker run -d -p 80:80 ClaudeCodex-backend
```

Development

Quick Setup

npm install
npm run dev

# Individual services
npm run dev:frontend
npm run dev:backend
npm run dev:mcp

Development URLs

  • Frontend: http://localhost
  • Backend: http://localhost:3000
  • MCP Server: http://localhost:6213

šŸš€ Docker Deployment

Using Docker Compose (Recommended)

# Production deployment
docker-compose up --build -d

# Development with hot reload
docker-compose -f docker-compose.dev.yml up --build

Individual Services

# Frontend
docker build -f frontend/Dockerfile -t claudecodex-frontend ./frontend
docker run -d -p 80:80 claudecodex-frontend

# Backend
docker build -f backend/Dockerfile -t ClaudeCodex-backend ./backend
docker run -d -p 3000:3000 ClaudeCodex-backend

# MCP Server
docker build -f mcp/Dockerfile -t ClaudeCodex-mcp ./mcp
docker run -d -p 6213:6213 ClaudeCodex-mcp

Docker Compose Services

Service Port Description
frontend 80 React TypeScript UI
backend 3000 Express.js REST API
mcp 6213 Model Context Protocol Server

šŸ”Œ MCP Integration

Connecting to MCP Server

The MCP server runs on port 6213 and provides AI-powered code generation capabilities.

Connection URL: http://localhost:6213

MCP Inspector Setup

Inspector

  1. Start the MCP Inspector:

    npm run inspector
    
  2. Open Inspector UI:

    • Navigate to: http://127.0.0.1:6274
  3. Configure Connection:

    • Transport Type: Streamable HTTP
    • MCP Server URL: http://localhost:6213
  4. Authentication:

    • Copy the MCP_PROXY_AUTH_TOKEN from the inspector logs
    • Paste it in the Proxy Session Token field
    • Click Connect

MCP Tools Available

  • Execute: Complete AI-powered workflow (code generation, branch creation, PR automation)
    • Integrates with GitHub repositories
    • Supports Anthropic Claude and OpenAI GPT
    • Automated branch and PR creation

šŸ“– API Documentation

Backend Endpoints

Swagger

  • Swagger UI: http://localhost:3000/api-docs
  • Health Check: GET /api/health
  • AI Code Generation: POST /api/dev/execute
  • GitHub Authentication: POST /api/github/auth
  • Repository Branches: POST /api/github/branches

MCP Protocol

MCP

  • Server Info: GET /
  • Tools List: GET /tools
  • Generate: POST /tools/generate

šŸ› ļø Development

Tech Stack

Frontend Backend MCP

Project Structure

ClaudeCodex/
ā”œā”€ā”€ frontend/          # React TypeScript UI
ā”œā”€ā”€ backend/           # Express.js API
ā”œā”€ā”€ mcp/              # MCP Server
ā”œā”€ā”€ docker-compose.yml # Multi-service deployment
└── README.md         # You are here

Available Scripts

npm run dev           # Start all services
npm run build         # Build all services
npm run test          # Run all tests
npm run lint          # Lint all projects
npm run clean         # Clean build artifacts

npm run dev:frontend  # Frontend development
npm run dev:backend   # Backend development
npm run dev:mcp       # MCP server development

šŸ¤ Contributing

Contributors PRs

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

šŸ“„ License

License

This project is licensed under the MIT License - see the LICENSE file for details.

šŸ™ Acknowledgments

Claude OpenAI GitHub

  • Thanks to Anthropic for Claude Code
  • Thanks to OpenAI for Codex
  • Thanks to the open-source community

Built with Love Powered by Coffee

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