CloudWatch MCP Agent

CloudWatch MCP Agent

Enables natural language queries for AWS CloudWatch logs, metrics, and alarms via an LLM agent with MCP tools.

Category
Visit Server

README

CloudWatch MCP Agent

Doğal dilde CloudWatch log, metric ve alarm sorularını yanıtlayan LLM agent. Tek bir FastAPI servisi olarak çalışır; CloudWatch tool'ları in-process MCP ile sunar ve cevapları cluster içindeki vLLM modelinden üretir.

Kullanıcı → Chat UI / API → Agent loop → vLLM → MCP tools (boto3) → AWS CloudWatch (IRSA)

Gereksinimler

  • Kubernetes cluster (EKS)
  • kubectl ve cluster erişimi
  • Cluster içinde çalışan vLLM OpenAI-compatible endpoint
  • CloudWatch okuma yetkisi olan IAM role (IRSA ile ServiceAccount'a bağlı)

Kubernetes'e deploy

Manifest'leri kendi ortamına göre düzenle (k8s/deployment.yaml içindeki ECR image, IAM role ARN, vLLM URL):

kubectl apply -f k8s/deployment.yaml

Deploy sonrası kontrol:

kubectl get pods -n mcp-llm-agent
kubectl get svc -n mcp-llm-agent

UI'ye erişim (port-forward)

Service tipi ClusterIP olduğu için dışarıdan doğrudan erişilemez. Chat arayüzünü açmak için her oturumda (veya ihtiyaç olduğunda) port-forward çalıştır:

kubectl port-forward -n mcp-llm-agent svc/cloudwatch-agent 8080:80

Terminal açık kalsın. Tarayıcıda:

http://localhost:8080

Port-forward'u arka planda çalıştırmak istersen:

kubectl port-forward -n mcp-llm-agent svc/cloudwatch-agent 8080:80 &

Durdurmak için:

fg   # arka plana aldıysan önce öne getir
# Ctrl+C

HealthCheck kontrolleri

Port-forward aktifken:

curl http://localhost:8080/health
curl http://localhost:8080/ready

/ready yanıtında kayıtlı CloudWatch tool listesi de döner.

Lokal geliştirme

python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env   # değerleri düzenle
uvicorn app.server:app --host 0.0.0.0 --port 8080 --reload

Lokal çalışırken port-forward gerekmez; doğrudan http://localhost:8080 açılır.

Docker image

docker build --platform linux/amd64 -t cloudwatch-agent:latest .
docker run --rm -p 8080:8080 --env-file .env cloudwatch-agent:latest

API

Endpoint Açıklama
GET / Chat UI
GET /health Liveness
GET /ready Readiness + tool kataloğu
POST /chat Agent sohbet API
GET /mcp MCP endpoint (FastMCP)

Örnek chat isteği:

curl -s http://localhost:8080/chat \
  -H 'Content-Type: application/json' \
  -d '{"message":"Aktif CloudWatch alarmları var mı?","history":[]}'

CloudWatch tool'ları

mouse ile üzerine geline tool listesi ui'da gözüküyor

  • describe_log_groups — log group listeleme / arama
  • analyze_log_group — log group analizi
  • execute_log_insights_query — Logs Insights sorgusu başlat
  • get_logs_insight_query_results — sorgu sonuçları
  • cancel_logs_insight_query — sorguyu iptal
  • get_active_alarms — aktif alarmlar
  • get_alarm_history — alarm geçmişi
  • get_metric_data — metric verisi
  • get_metric_metadata — metric metadata
  • get_recommended_metric_alarms — önerilen alarmlar
  • analyze_metric — metric analizi

env

Değişken Açıklama Örnek
VLLM_BASE_URL vLLM OpenAI API base URL http://vllm-gptoss.llm-model.svc.cluster.local:8080/v1
MODEL_NAME Model adı openai/gpt-oss-20b
AWS_REGION AWS bölgesi eu-central-1
MAX_TOOL_ITERATIONS Agent tool döngü limiti 10
MAX_HISTORY_MESSAGES Sohbet geçmişi mesaj limiti 6
MAX_HISTORY_MESSAGE_CHARS Mesaj başına karakter limiti 2500
MAX_TOOL_RESULT_CHARS Tool çıktısı truncate limiti 8000
MAX_LOG_GROUPS_LIST Listelenecek max log group 1000
LLM_MAX_TOKENS LLM max token 700
LLM_TEMPERATURE LLM temperature 0.1
LOG_LEVEL Log seviyesi INFO

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured