Skip to main content
Glama
elhaweet

AI Software Engineering Team - MCP Multi-Agent System

by elhaweet
README.md
# AI Software Engineering Team - MCP Multi-Agent System

> **Advanced AI-powered software development automation system built on the Model Context Protocol (MCP)**

A sophisticated multi-agent AI system that simulates an entire software engineering team, capable of taking a simple project idea and transforming it into a complete, production-ready software project with full documentation, testing, and deployment configuration.

## Architecture Overview

This system consists of **8 specialized AI agents** working together through an intelligent orchestrator:

- **Product Analyst** - Requirements analysis & user stories
- **Research Engineer** - Web research & best practices
- **Software Architect** - System design & technology stack
- **Technical Lead** - Implementation planning & task breakdown
- **Senior Developer** - Production code implementation
- **QA Engineer** - Testing & quality assurance
- **DevOps Engineer** - CI/CD & deployment infrastructure
- **Documentation Specialist** - Documentation & guides

## Quick Start

### Prerequisites

- Python 3.11+
- Node.js (for MCP Inspector)
- API Keys: Tavily Search, Google Gemini

### Installation

1. **Clone the repository**

   ```bash
   git clone https://github.com/yourusername/ai-software-engineering-team-mcp.git
   cd ai-software-engineering-team-mcp
   ```
2. **Install dependencies**

   ```bash
   pip install -r requirements.txt
   # or using uv
   uv sync
   ```
3. **Set up environment variables**

   ```bash
   cp .env.example .env
   # Edit .env with your API keys
   ```
4. **Start the servers**

   ```bash
   # Terminal 1: Start MCP Server
   python server.py

   # Terminal 2: Start FastAPI Server
   python fastapi_server.py
   ```

## API Endpoints

### FastAPI Server (Port 8002)

- `GET /` - Service status and team information
- `GET /health` - Health check with service status
- `GET /tools` - List all available MCP tools
- `GET /project` - Current project status
- `GET /docs` - Interactive API documentation

### MCP Server (Port 8000)

- Direct MCP protocol access for AI tools and clients

## Usage Examples

### Simple Project Request

```bash
curl -X POST http://localhost:8002/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "method": "tools/call",
    "params": {
      "name": "orchestrator",
      "arguments": {
        "user_request": "Build a todo list app with React and Node.js"
      }
    }
  }'
```

### Complex Project Request

```bash
curl -X POST http://localhost:8002/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "method": "tools/call",
    "params": {
      "name": "orchestrator",
      "arguments": {
        "user_request": "Build an e-commerce platform with user authentication, product catalog, shopping cart, and payment integration using React, Node.js, and PostgreSQL",
        "execution_mode": "full"
      }
    }
  }'
```

## Available Tools

| Tool                         | Description                                            |
| ---------------------------- | ------------------------------------------------------ |
| `orchestrator`             | Main coordinator that manages the entire team workflow |
| `product_analyst`          | Analyzes requirements and creates user stories         |
| `research_engineer`        | Performs web research and finds best practices         |
| `software_architect`       | Designs system architecture and tech stack             |
| `technical_lead`           | Creates implementation plans and task breakdown        |
| `senior_developer`         | Writes production-ready code                           |
| `qa_engineer`              | Creates comprehensive test suites                      |
| `devops_engineer`          | Sets up CI/CD and deployment configuration             |
| `documentation_specialist` | Creates documentation and guides                       |
| `export_project_files`     | Exports complete project to file system                |
| `team_status`              | Shows current team and project status                  |
| `reset_project`            | Resets project state for new project                   |

## Project Structure

## Configuration

### Environment Variables

```bash
# Required API Keys
TAVILY_API_KEY=your_tavily_api_key_here
GEMINI_API_KEY=your_gemini_api_key_here

# Server Configuration
PORT=8000  # MCP Server port
```

### Execution Modes

- `"full"` - All 8 team members (complete project)
- `"planning"` - Analysis, research, architecture only
- `"implementation"` - Adds code implementation
- `"deployment"` - Adds DevOps configuration
- `"custom"` - AI decides based on complexity

## Testing

### Test the MCP Server

```bash
# Check server status
curl http://localhost:8000/health

# List available tools
curl http://localhost:8002/tools
```

### Test with MCP Inspector

```bash
npx @modelcontextprotocol/inspector
```

## Features

- **End-to-End Automation** - From idea to deployable code
- **Multi-Agent Coordination** - 8 specialized AI agents
- **Intelligent Decision Making** - Adapts workflow based on complexity
- **Production-Ready Output** - Generates actual, usable code
- **Dual Protocol Support** - Both MCP and REST API access
- **Live Research Integration** - Real-time web search capabilities
- **Complete Project Export** - Full file system generation
- **Interactive Documentation** - Built-in API docs

## Contributing

1. Fork the repository
2. Create a 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

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## Acknowledgments

- Built on the [Model Context Protocol (MCP)](https://modelcontextprotocol.io/)
- Powered by [Google Gemini](https://ai.google.dev/) and [Tavily Search](https://tavily.com/)
- FastAPI integration for REST API access

## Support

- Email: ellhaweet@gmail.com

---

**Made with care by the AI Software Engineering Team**