AI agentic system for performing academic research using mcp-amqp-transport framework
Interceptor Pipeline:
- Analytics → Logging the messages to Opensearch for analytics
- Safety → Rate limiting + content filtering
MCP Servers:
- Firecrawl (web scraping)
- Arxiv (academic papers)
# 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.pyUpdate ConfigMaps with RabbitMQ credentials:
mcp_cluster/k8s/amqp-config.yamlinterceptors_cluster/k8s/*-config.yaml
kubectl get pods
kubectl logs -f deployment/safety-interceptor
kubectl port-forward service/opensearch-dashboards 5601:5601- 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
kubectl delete -f interceptors_cluster/k8s/
kubectl delete -f mcp_cluster/k8s/
minikube stop