Skip to main content
Glama
patelketul1230

Enterprise Secure AWS MCP Server

Servidor de protocolo de contexto de modelo (MCP) de AWS seguro de nivel empresarial

Servidor de protocolo de contexto de modelo (MCP) de grado de producción implementado en AWS Lambda y API Gateway con 100 % de IaC de Terraform, RBAC de IAM de confianza cero y protecciones de defensa del Top 10 de OWASP LLM.


Descripción general de la arquitectura de AWS

AWS Enterprise MCP Server Figma Architecture Diagram


Related MCP server: MCP Airlock

Características

  • Especificaciones MCP estándar: Soporte completo para el descubrimiento de herramientas (/mcp/tools) y la ejecución de herramientas (/mcp/tools/call) del protocolo de contexto de modelo (MCP) de Anthropic.

  • Control de acceso basado en roles (RBAC) de IAM: Restringe la ejecución de herramientas según el rol (sre_read_only, security_auditor, sre_admin).

  • Defensa OWASP LLM02: Saneamiento perimetral que bloquea inyecciones de metacaracteres de subshell ([;&|'$]).

  • Defensa OWASP LLM06: Redactor automático de búfer de salida que elimina claves de acceso de AWS (AKIA...) y PII.

  • Campo de pruebas interactivo de interfaz web: Interfaz de prueba en modo oscuro que se ejecuta en http://localhost:8080 (make ui).

  • Costo de nube en inactividad cero: Aprovisionado mediante Terraform con implementación de un solo comando (make deploy) y desmontaje instantáneo (make destroy).


Demostración del campo de pruebas de la interfaz web

A continuación se muestra la demostración interactiva automatizada en alta definición que muestra la denegación de acceso RBAC, la defensa contra inyección de comandos y la ejecución exitosa del reinicio del servidor bajo el rol sre_admin:

AWS MCP Server Web UI Security Testing Demo


Requisitos previos y configuración del sistema

Antes de configurar el proyecto, asegúrate de que tu entorno tenga instalados Python 3.11+, Terraform y AWS CLI.

1. Dependencias del sistema (Linux / Ubuntu / Debian)

sudo apt update && sudo apt install python3-venv python3-pip terraform awscli -y

2. Configuración del entorno

Clona el repositorio e instala las dependencias del proyecto en un entorno virtual aislado (.venv):

git clone https://github.com/patelketul1230/aws-mcp-enterprise-server.git
cd aws-mcp-enterprise-server

# Create .venv and install dependencies
make install

Estructura del repositorio

aws-mcp-enterprise-server/
├── docs/
│   ├── assets/                    # Centralized PNG images & HD animations
│   │   ├── mcp_aws_figma_architecture_diagram.png
│   │   ├── mcp_ui_testing_demo.webp
│   │   ├── mcp_ui_testing_demo.gif
│   │   ├── mcp_ui_playground_success_screenshot.png
│   │   ├── mcp_ui_playground_admin_success_screenshot.png
│   │   └── mcp_ui_playground_blocked_screenshot.png
│   ├── blogs/                     # 3 Medium Sub-Blogs ready for publication
│   │   ├── blog_1_1_mcp_decoded.md
│   │   ├── blog_1_2_mcp_rbac_python.md
│   │   └── blog_1_3_mcp_tool_poisoning.md
│   ├── architecture.md            # Figma diagrams & sequence flows
│   ├── 5w_and_how.md              # 5 Ws + 1 H problem statement & threat model
│   └── demo_execution.log         # Verified test execution log
├── src/
│   ├── clients/                   # AWS Bedrock Converse API integration client
│   ├── middleware/                # MCPSecurityValidator (RBAC & DLP)
│   ├── tools/                     # CloudWatch & Terraform tool modules
│   ├── ui/                        # Interactive Web UI Playground (index.html)
│   └── server.py                  # AWS Lambda & FastAPI server handler
├── terraform/                     # 100% Terraform IaC (API Gateway, IAM, Lambda)
├── tests/                         # Pytest suite & live verification scripts
├── Makefile                       # Lifecycle hooks (make deploy / make destroy / make ui)
└── README.md                      # Project documentation

Guía de inicio rápido

1. Instalar dependencias

make install

2. Ejecutar pruebas

make test

3. Implementar la infraestructura en AWS

make deploy

Salidas:

  • Punto de conexión de API: Salida dinámica generada por Terraform

  • CloudWatch Log Group: /aws/mcp/aws-mcp-enterprise-server-dev

4. Iniciar el campo de pruebas interactivo de la interfaz web

make ui

Abre http://localhost:8080 en tu navegador web para probar visualmente las llamadas a herramientas, los roles RBAC y las defensas contra inyección.

5. Probar mediante terminal (curl)

# Health Check
curl -s <YOUR_API_ENDPOINT>/health

# Tool Discovery Catalog
curl -s <YOUR_API_ENDPOINT>/mcp/tools

# Valid Tool Call (CloudWatch Query)
curl -s -X POST <YOUR_API_ENDPOINT>/mcp/tools/call \
  -H "Content-Type: application/json" \
  -H "X-User-Role: sre_read_only" \
  -d '{"tool_name": "query_cloudwatch_logs", "arguments": {"log_group": "/aws/lambda/payment-dev", "filter_pattern": "ERROR"}}'

# Command Injection Attack (Returns 403 Forbidden)
curl -s -X POST <YOUR_API_ENDPOINT>/mcp/tools/call \
  -H "Content-Type: application/json" \
  -H "X-User-Role: sre_read_only" \
  -d '{"tool_name": "query_cloudwatch_logs", "arguments": {"log_group": "/aws/lambda/payment-dev; rm -rf /", "filter_pattern": "ERROR"}}'

6. Eliminar los recursos de AWS

make destroy

Enlaces de documentación técnica

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Enables AI models to interact with AWS Lambda functions via the MCP protocol, allowing access to private resources, real-time data, and custom computation in a secure environment.
    2
    109
    MIT
  • A
    license
    C
    quality
    D
    maintenance
    Enables secure, zero-trust access to MCP tools through short-lived, signed capability leases that bind tool execution to specific sessions, intents, and constraints. Prevents prompt injection attacks and privilege escalation with dynamic risk scoring, policy enforcement, and tamper-evident audit logging.
    4
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Bridges MCP clients and AWS Lambda functions, enabling generative AI models to invoke Lambda functions as tools without code changes.
    Apache 2.0