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_eventsbusca indicadores exactos de usuario, IP o correlación.summarize_lake_access_correlationagrega 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_KEYfalta 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 |
|
| Marca de tiempo del evento en formato ISO 8601 |
|
| Identidad del usuario o de la carga de trabajo |
|
| Indicador de origen IPv4 o IPv6 |
|
| Acción observada en el data lake |
|
| Conjunto de datos de destino |
|
| Número de registros devueltos |
|
| Resultado, como |
|
| 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 8000Endpoints:
MCP:
http://127.0.0.1:8000/mcpSalud:
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.pyEstablezca 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-serverUtilice 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 |
|
| Región de AWS utilizada por el cliente de Athena |
|
| Identificador de base de datos de Glue |
|
| Tabla fija expuesta a través de las herramientas |
|
| Grupo de trabajo de Athena con controles aplicados |
|
| Tiempo de espera de consulta del lado del servidor |
|
| Intervalo de sondeo del estado de Athena |
|
| Máximo de filas devueltas; rango 1–100 |
|
| Valor de procedencia devuelto a los clientes |
|
| Clasificación devuelta a los clientes |
| ninguno | Token de portador estático obligatorio, mínimo 32 caracteres |
|
| Metadatos de asunto para el verificador estático |
|
| 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
This server cannot be installed
Maintenance
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
- FlicenseNot gradedqualityNot gradedmaintenanceProvides 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
- FlicenseNot gradedqualityDmaintenanceEnables 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.
- FlicenseAqualityDmaintenanceEnables searching and analyzing AWS CloudWatch logs with support for configurable log groups, time-based searches, and service-specific log stream filtering.5
- AlicenseNot gradedqualityBmaintenanceEnables 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
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).
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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