Skip to main content
Glama
brunofreitas-br

Athena Investigation MCP Server

Athena Investigation MCP Server

Un servidor Model Context Protocol (MCP) acotado y de solo lectura para investigaciones gobernadas contra una tabla fija de Amazon Athena.

El servidor expone intencionadamente dos herramientas orientadas a la investigación en lugar de SQL arbitrario:

  • search_lake_access_events busca indicadores exactos de usuario, IP o correlación.

  • summarize_lake_access_correlation agrega acciones y conjuntos de datos para un ID de correlación exacto.

Esta es una implementación de referencia, no un producto oficial de AWS o de Microsoft.

Por qué este diseño

Otorgar a un agente de IA una herramienta genérica execute_sql crea una capacidad innecesariamente amplia. Este servidor mantiene reducido el contrato expuesto al modelo, mientras AWS sigue siendo responsable de la autorización y los controles de costes.

flowchart LR
    Client[MCP client] -->|Streamable HTTP + bearer| Server[Athena Investigation MCP]
    Server -->|Parameterized queries| Athena[Amazon Athena]
    Athena --> Glue[AWS Glue Data Catalog]
    Athena --> S3[(Amazon S3)]
    Server --> Provenance[Rows + query ID + bytes scanned]

MCP es el contrato de herramienta. No reemplaza a AWS IAM, un grupo de trabajo de Athena, el gobierno de datos ni un SIEM.

Related MCP server: MCP Athena Analytics Server

Propiedades de seguridad

  • Se publican exactamente dos herramientas de solo lectura.

  • Las herramientas nunca aceptan texto SQL.

  • Se requiere al menos un indicador exacto para la búsqueda de eventos.

  • La sintaxis de los indicadores y las direcciones IP se validan antes de llamar a Athena.

  • Los valores se pasan a través de los parámetros de ejecución de Athena.

  • Los resultados solicitados se limitan a un máximo del lado del servidor.

  • El servidor aplica el tiempo de espera de las consultas.

  • Las respuestas incluyen el origen, la clasificación, el grupo de trabajo, el ID de ejecución de consulta, los bytes escaneados y el número de resultados.

  • El arranque HTTP falla de forma segura cuando MCP_API_KEY falta o tiene menos de 32 caracteres.

  • El contenedor se ejecuta como un usuario no root.

Estos controles son solo una capa. Despliegue con un principal de AWS dedicado, un grupo de trabajo de Athena con límite de costes, buckets S3 privados y una lista de permitidos de herramientas MCP revisada.

Esquema esperado de Athena

La tabla configurada debe exponer estas columnas:

Columna

Tipo Athena

Propósito

event_time

string

Marca de tiempo del evento en formato ISO 8601

user_id

string

Identidad del usuario o de la carga de trabajo

source_ip

string

Indicador de origen IPv4 o IPv6

action

string

Acción observada en el data lake

dataset

string

Conjunto de datos de destino

records_returned

bigint

Número de registros devueltos

result

string

Resultado, como SUCCEEDED o DENIED

correlation_id

string

Identificador de correlación de la investigación

Hay un ejemplo sintético disponible en examples/athena.

Inicio rápido

1. Preparar AWS

Cree la tabla, el bucket de datos privado, el bucket privado de resultados de consultas y un grupo de trabajo de Athena dedicado. Configure un límite de bytes escaneados en el grupo de trabajo.

Consulte la configuración de AWS y el ejemplo de política IAM de privilegios mínimos.

2. Instalar

python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e '.[test]'

3. Configurar

export AWS_REGION=us-east-1
export ATHENA_DATABASE=security_lake
export ATHENA_TABLE=access_events
export ATHENA_WORKGROUP=mcp-investigation
export MAX_RESULTS=20
export QUERY_TIMEOUT_SECONDS=15
export SOURCE_NAME=aws-athena
export DATA_CLASSIFICATION=synthetic
export MCP_API_KEY="$(openssl rand -hex 32)"

Las credenciales de AWS se resuelven mediante la cadena de credenciales estándar de boto3. Prefiera credenciales temporales obtenidas mediante la identidad de carga de trabajo o la federación de roles.

4. Ejecutar

uvicorn athena_investigation_mcp.app:app \
  --host 127.0.0.1 \
  --port 8000

Endpoints:

  • MCP: http://127.0.0.1:8000/mcp

  • Salud: http://127.0.0.1:8000/health

5. Probar

python -m pytest -q

export MCP_URL=http://127.0.0.1:8000/mcp
export MCP_TOKEN="$MCP_API_KEY"
python smoke_test.py

Establezca SMOKE_CORRELATION_ID para ejecutar ambas herramientas contra los datos configurados.

Contenedor

docker build -t athena-investigation-mcp-server .
docker run --rm -p 8000:8000 \
  -e AWS_REGION \
  -e ATHENA_DATABASE \
  -e ATHENA_TABLE \
  -e ATHENA_WORKGROUP \
  -e DATA_CLASSIFICATION \
  -e MCP_API_KEY \
  athena-investigation-mcp-server

Utilice la compatibilidad con la identidad de carga de trabajo de su plataforma en lugar de copiar claves AWS de larga duración en la imagen.

Integración con clientes MCP

Cualquier cliente MCP compatible con Streamable HTTP puede conectarse a /mcp con:

Authorization: Bearer <MCP_API_KEY>

Para las instrucciones de Microsoft Copilot Studio, consulte Configuración de Copilot Studio.

Configuración

Variable

Por defecto

Descripción

AWS_REGION

us-east-1

Región de AWS utilizada por el cliente de Athena

ATHENA_DATABASE

security_lake

Identificador de base de datos de Glue

ATHENA_TABLE

access_events

Tabla fija expuesta a través de las herramientas

ATHENA_WORKGROUP

mcp-investigation

Grupo de trabajo de Athena con controles aplicados

QUERY_TIMEOUT_SECONDS

15

Tiempo de espera de consulta del lado del servidor

POLL_INTERVAL_SECONDS

0.2

Intervalo de sondeo del estado de Athena

MAX_RESULTS

20

Máximo de filas devueltas; rango 1–100

SOURCE_NAME

aws-athena

Valor de procedencia devuelto a los clientes

DATA_CLASSIFICATION

configured

Clasificación devuelta a los clientes

MCP_API_KEY

ninguno

Token de portador estático obligatorio, mínimo 32 caracteres

MCP_TOKEN_SUBJECT

mcp-client

Metadatos de asunto para el verificador estático

MCP_TOKEN_CLIENT_ID

athena-investigator

Metadatos de cliente para el verificador estático

Consideraciones de producción

El verificador estático de portador incluido es adecuado para un despliegue de referencia controlado. Para producción:

  • sustituir la autenticación de portador estática por el patrón OAuth/OIDC admitido por su organización;

  • utilizar la identidad de carga de trabajo y las credenciales temporales de AWS STS;

  • restringir los recursos de IAM al grupo de trabajo, los objetos del catálogo y los prefijos de S3 exactos;

  • aplicar un límite de bytes escaneados y cifrado de los resultados de las consultas en el grupo de trabajo;

  • añadir restricciones de entrada de red, controles de WAF/API Gateway y registros de auditoría centralizados;

  • revisar la lista de permitidos de herramientas MCP de forma independiente del IAM del backend;

  • tratar los datos de origen devueltos como contenido no fiable;

  • mantener las acciones de mutación en un servidor, una identidad y un flujo de aprobación separados.

Consulte el modelo de seguridad completo.

Alcance y limitaciones

  • El esquema de la tabla es fijo por diseño.

  • Los múltiples indicadores de búsqueda proporcionados se combinan con OR.

  • La recuperación de resultados está limitada intencionadamente a una página y al máximo configurado.

  • Este servidor no es una interfaz general de consultas de Athena.

  • Este servidor no realiza ingesta de datos, detección o correlación continuas, ni sustituye a un SIEM.

Licencia

MIT

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Provides structured access to OCSF-normalized security data stored in Amazon Security Lake, enabling AI assistants to search for IP addresses, GuardDuty findings, and explore available data sources.
    2
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables secure querying of analytics data stored in AWS Athena/S3 through natural language, with multiple security layers including query validation, resource limits, and automatic PII redaction to prevent data breaches and destructive operations.
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables security analysts to investigate Microsoft Entra ID security logs through natural language, exposing read-only tools for user context, sign-ins, risky users, risk detections, directory audits, and conditional access policies.
    MIT

View all related MCP servers

Related MCP Connectors

  • Read-only access to Auralogs production logs: search logs, inspect errors, review AI analyses.

  • A paid remote MCP for AI SDK data query MCP, built to return verdicts, receipts, usage logs, and aud

  • Query Churn Solution cancellation-flow metrics, revenue, and feedback analytics (read-only).

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/brunofreitas-br/athena-investigation-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server