Skip to main content
Glama
gesguerra-wzln

AWS MCP Infrastructure

README.md
# AWS MCP Infrastructure

This project provides a complete solution for deploying AWS infrastructure using:
- Chat interface with natural language processing (NLP)
- Integration with Model Context Protocol (MCP)
- RESTful API with Express
- Modern and responsive GUI

## šŸš€ Quick Installation

1. **Install dependencies**:
    ```bash
    npm install
    ```

2. **Configure AWS**:

    - Edit the `.env` file
    - Add your `AWS_ACCESS_KEY_ID`
    - Add your `AWS_SECRET_ACCESS_KEY`

3. **Start the server**:
    ```bash
    npm run dev
    ```

4. **Access the application**:

    - Chat GUI: [http://localhost:3000](http://localhost:3000)
    - API Docs: [http://localhost:3000/api-docs](http://localhost:3000/api-docs)

## šŸ“ Example Commands

In the chat interface you can use commands like:

- "Create an S3 bucket named photos-2024"
- "Deploy a small EC2 instance"
- "Create a DynamoDB table for users"
- "Deploy a Lambda function in Python"
- "Show all resources"
- "Delete the bucket s3-1234567890"

## šŸ›”ļø Security Considerations

- Never upload the `.env` file to a repository
- Created resources may incur AWS costs
- Use IAM roles with the minimum necessary permissions
- For production, add authentication to the endpoints

## šŸ“ Project Structure
```bash
aws-mcp-infrastructure/
ā”œā”€ā”€ src/
│   ā”œā”€ā”€ config/         # Configurations (AWS, Swagger)
│   ā”œā”€ā”€ middleware/     # Express middlewares
│   ā”œā”€ā”€ routes/         # API routes
│   ā”œā”€ā”€ services/       # Business logic
│   │   ā”œā”€ā”€ aws/        # AWS services
│   │   └── mcp/        # MCP server
│   ā”œā”€ā”€ types/          # TypeScript types
│   └── utils/          # Utilities (logger, validators)
ā”œā”€ā”€ public/             # Static files (Chat GUI)
ā”œā”€ā”€ package.json        # Dependencies
ā”œā”€ā”€ tsconfig.json       # TypeScript configuration
└── .env                # Environment variables
```
## Contributing
We welcome contributions! Please follow these steps:
- Fork the repository  
- Create a branch for your feature  
- Commit your changes  
- Push to the branch  
- Create a Pull Request

## šŸ“„ License  
MIT License