CloudWatch MCP Agent
Enables natural language queries for AWS CloudWatch logs, metrics, and alarms via an LLM agent with MCP tools.
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)
kubectlve 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 / aramaanalyze_log_group— log group analiziexecute_log_insights_query— Logs Insights sorgusu başlatget_logs_insight_query_results— sorgu sonuçlarıcancel_logs_insight_query— sorguyu iptalget_active_alarms— aktif alarmlarget_alarm_history— alarm geçmişiget_metric_data— metric verisiget_metric_metadata— metric metadataget_recommended_metric_alarms— önerilen alarmlaranalyze_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
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.