Skip to content

kenliao94/mcp-amqp-demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MCP Cluster Demo

AI agentic system for performing academic research using mcp-amqp-transport framework

Architecture

image

Interceptor Pipeline:

  1. Analytics → Logging the messages to Opensearch for analytics
  2. Safety → Rate limiting + content filtering

MCP Servers:

  • Firecrawl (web scraping)
  • Arxiv (academic papers)

Quick Start

# Start Kubernetes
minikube start
eval $(minikube docker-env)

# Build and deploy MCP servers
cd mcp_cluster
docker build -f Dockerfile.amqp-transport -t mcp-amqp-transport:latest .
kubectl apply -f k8s/

# Build and deploy interceptors
cd ../interceptors_cluster
docker build -f Dockerfile.monitor -t monitor-interceptor:latest .
docker build -f Dockerfile.safety -t safety-interceptor:latest .
docker build -f Dockerfile.opensearch-logger -t opensearch-logger:latest .
kubectl apply -f k8s_storage/
kubectl apply -f k8s/

# Run agent
cd ../agent
uv sync
uv run agent.py

Configuration

Update ConfigMaps with RabbitMQ credentials:

  • mcp_cluster/k8s/amqp-config.yaml
  • interceptors_cluster/k8s/*-config.yaml

Monitoring

kubectl get pods
kubectl logs -f deployment/safety-interceptor
kubectl port-forward service/opensearch-dashboards 5601:5601

Features

  • Fault Tolerance: Message persistence prevents data loss
  • Horizontal Scaling: Add servers by binding queues to exchanges
  • Security: 20 calls/client limit, 600 word response limit
  • Observability: CloudWatch + OpenSearch logging
  • Analytics: Token counting and message indexing

Cleanup

kubectl delete -f interceptors_cluster/k8s/
kubectl delete -f mcp_cluster/k8s/
minikube stop

About

A demo for deploying an AI agent in production with mcp-amqp-transport

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published