MCP集群演示
使用mcp-amqp传输框架进行学术研究的AI代理系统
建筑
截流管:
- 分析 → 将消息记录到Opensearch进行分析
- 安全 → 速率限制+内容过滤
MCP服务器:
- Firecrawl(网络抓取)
- Arxiv(学术论文)
快速开始
# Set up Amazon MQ for RabbitMQ broker
# 1. Go to AWS Console → Amazon MQ → Create broker
# 2. Select RabbitMQ engine
# 3. Choose deployment mode (Single-instance for dev, Cluster for production)
# 4. Configure broker (name, instance type, username/password)
# 5. Set network access (Public)
# 6. Note the broker endpoint and credentials
# Or you can install RabbitMQ locally https://www.rabbitmq.com/docs/download
# Install the library for running the adaptor locally
npm install -g @aws/mcp-amqp-transport
# Configure AWS CLI for Bedrock access
aws configure
# Ensure your IAM user/role has the right permission
# Start Kubernetes
minikube start
eval $(minikube docker-env)
# Create required secrets
kubectl create secret generic amqp-secret --from-literal=AMQP_PASSWORD=your_password
kubectl create secret generic firecrawl-secret --from-literal=FIRECRAWL_API_KEY=your_api_key
# 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 locally
cd ../agent
export AMQP_HOSTNAME=
export AMQP_PORT=
export AMQP_USERNAME=
export AMQP_PASSWORD=
uv sync
uv run agent.py配置
使用RabbitMQ凭据更新ConfigMaps:
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特性
- 容错:消息持久性可防止数据丢失
- 水平扩展:通过将队列绑定到交换机来添加服务器
- 安全:20个电话/客户限制,600字响应限制
- 可观测性:CloudWatch+OpenSearch日志记录
- 分析:令牌计数和消息索引
清理
kubectl delete -f interceptors_cluster/k8s/
kubectl delete -f mcp_cluster/k8s/
minikube stop