Skip to main content
Glama
brunofreitas-br

Athena Investigation MCP Server

Athena Investigation MCP Server

Ein schmaler, schreibgeschützter Model Context Protocol (MCP)-Server für kontrollierte Untersuchungen an einer festen Amazon-Athena-Tabelle.

Der Server bietet absichtlich zwei untersuchungsorientierte Tools an, anstelle von beliebigem SQL:

  • search_lake_access_events durchsucht exakte Benutzer-, IP- oder Korrelationsindikatoren.

  • summarize_lake_access_correlation aggregiert Aktionen und Datensätze für eine exakte Korrelations-ID.

Dies ist eine Referenzimplementierung, kein offizielles AWS- oder Microsoft-Produkt.

Warum dieses Design

Einem KI-Agenten ein generisches execute_sql-Tool zu geben, schafft eine unnötig breite Fähigkeit. Dieser Server hält den modellseitigen Schnittstellenvertrag klein, während AWS weiterhin für Autorisierung und Kostenkontrollen verantwortlich bleibt.

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 ist der Tool-Vertrag. Er ersetzt nicht AWS IAM, eine Athena-Workgroup, Data Governance oder ein SIEM.

Related MCP server: MCP Athena Analytics Server

Sicherheitseigenschaften

  • Es werden genau zwei schreibgeschützte Tools veröffentlicht.

  • Die Tools akzeptieren niemals SQL-Text.

  • Für die Ereignissuche ist mindestens ein exakter Indikator erforderlich.

  • Indikatorsyntax und IP-Adressen werden validiert, bevor Athena aufgerufen wird.

  • Werte werden über Athena-Ausführungsparameter übergeben.

  • Angeforderte Ergebnisse werden auf ein serverseitiges Maximum begrenzt.

  • Das Query-Timeout wird vom Server durchgesetzt.

  • Antworten enthalten Quelle, Klassifizierung, Workgroup, Query-Ausführungs-ID, gescannte Bytes und Ergebnisanzahl.

  • Der HTTP-Start schlägt fehl (Fail-Closed), wenn MCP_API_KEY fehlt oder kürzer als 32 Zeichen ist.

  • Der Container läuft als Nicht-Root-Benutzer.

Diese Kontrollen sind nur eine Ebene. Setzen Sie einen dedizierten AWS-Prinzipal, eine kostenbegrenzte Athena-Workgroup, private S3-Buckets und eine überprüfte MCP-Tool-Allowlist ein.

Erwartetes Athena-Schema

Die konfigurierte Tabelle muss diese Spalten bereitstellen:

Spalte

Athena-Typ

Zweck

event_time

string

ISO-8601-Ereigniszeitstempel

user_id

string

Benutzer- oder Workload-Identität

source_ip

string

IPv4- oder IPv6-Quellindikator

action

string

Beobachtete Data-Lake-Aktion

dataset

string

Ziel-Dataset

records_returned

bigint

Anzahl der zurückgegebenen Datensätze

result

string

Ergebnis wie SUCCEEDED oder DENIED

correlation_id

string

Korrelationskennung der Untersuchung

Ein synthetisches Beispiel ist unter examples/athena verfügbar.

Schnellstart

1. AWS vorbereiten

Erstellen Sie die Tabelle, den privaten Daten-Bucket, den privaten Bucket für Abfrageergebnisse und eine dedizierte Athena-Workgroup. Legen Sie in der Workgroup ein Limit für gescannte Bytes fest.

Siehe AWS-Setup und die Least-Privilege-IAM-Beispielrichtlinie.

2. Installation

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

3. Konfiguration

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)"

AWS-Anmeldedaten werden über die standardmäßige boto3-Anmeldeinformationskette aufgelöst. Bevorzugen Sie temporäre Anmeldedaten, die über Workload-Identität oder Rollenföderation bezogen wurden.

4. Ausführen

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

Endpunkte:

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

  • Health: http://127.0.0.1:8000/health

5. Testen

python -m pytest -q

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

Setzen Sie SMOKE_CORRELATION_ID, um beide Tools gegen die konfigurierten Daten auszuführen.

Container

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

Nutzen Sie die Workload-Identitätsunterstützung Ihrer Plattform, anstatt langlebige AWS-Schlüssel in das Image zu kopieren.

MCP-Client-Integration

Jeder MCP-Client mit Streamable HTTP kann sich wie folgt mit /mcp verbinden:

Authorization: Bearer <MCP_API_KEY>

Anweisungen für Microsoft Copilot Studio finden Sie unter Einrichtung von Copilot Studio.

Konfiguration

Variable

Standard

Beschreibung

AWS_REGION

us-east-1

Vom Athena-Client verwendete AWS-Region

ATHENA_DATABASE

security_lake

Glue-Datenbankbezeichner

ATHENA_TABLE

access_events

Feste Tabelle, die über die Tools verfügbar gemacht wird

ATHENA_WORKGROUP

mcp-investigation

Athena-Workgroup mit erzwungenen Kontrollen

QUERY_TIMEOUT_SECONDS

15

Serverseitiges Query-Timeout

POLL_INTERVAL_SECONDS

0.2

Abrufintervall für den Athena-Status

MAX_RESULTS

20

Maximale Anzahl zurückgegebener Zeilen; Bereich 1–100

SOURCE_NAME

aws-athena

Provenienzwert, der an Clients zurückgegeben wird

DATA_CLASSIFICATION

configured

Klassifizierung, die an Clients zurückgegeben wird

MCP_API_KEY

none

Erforderliches statisches Bearer-Token, mindestens 32 Zeichen

MCP_TOKEN_SUBJECT

mcp-client

Subjekt-Metadaten für den statischen Verifizierer

MCP_TOKEN_CLIENT_ID

athena-investigator

Client-Metadaten für den statischen Verifizierer

Hinweise für den Produktionsbetrieb

Der enthaltene statische Bearer-Verifizierer ist für eine kontrollierte Referenzbereitstellung geeignet. Für die Produktion:

  • Ersetzen Sie die statische Bearer-Authentifizierung durch das von Ihrer Organisation unterstützte OAuth-/OIDC-Muster;

  • nutzen Sie Workload-Identität und temporäre AWS-STS-Anmeldedaten;

  • schränken Sie IAM-Ressourcen auf die exakte Workgroup, die Katalogobjekte und die S3-Präfixe ein;

  • erzwingen Sie in der Workgroup ein Limit für gescannte Bytes und die Verschlüsselung von Abfrageergebnissen;

  • fügen Sie Netzwerkeingangsbeschränkungen, WAF-/API-Gateway-Kontrollen und zentralisierte Audit-Logs hinzu;

  • überprüfen Sie die MCP-Tool-Allowlist unabhängig vom Backend-IAM;

  • behandeln Sie zurückgegebene Quelldaten als nicht vertrauenswürdigen Inhalt;

  • belassen Sie mutierende Aktionen in einem separaten Server, einer separaten Identität und einem separaten Genehmigungsablauf.

Siehe das vollständige Sicherheitsmodell.

Umfang und Einschränkungen

  • Das Tabellenschema ist per Design festgelegt.

  • Mehrere angegebene Suchindikatoren werden mit OR kombiniert.

  • Der Ergebnisabruf ist absichtlich auf eine Seite und das konfigurierte Maximum begrenzt.

  • Dieser Server ist keine allgemeine Athena-Abfrageschnittstelle.

  • Dieser Server erfasst, erkennt und korreliert nicht kontinuierlich und ersetzt kein SIEM.

Lizenz

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