File size: 1,808 Bytes
3e30d53
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79


services:
  gateway:
    build: .
    command: uvicorn mcp_gateway:app --host 0.0.0.0 --port 8000
    ports:
      - "8000:8000"
    environment:
      - TAVILY_MCP_URL=http://tavily:8001/research
      - ALPHAVANTAGE_MCP_URL=http://alphavantage:8002/market_data
      - PRIVATE_MCP_URL=http://portfolio:8003/portfolio_data
      - TAVILY_API_KEY=${TAVILY_API_KEY}
      - ALPHA_VANTAGE_API_KEY=${ALPHA_VANTAGE_API_KEY}
      - GOOGLE_API_KEY=${GOOGLE_API_KEY}

    networks:
      - aegis-net

  tavily:
    build: .
    command: uvicorn tavily_mcp:app --host 0.0.0.0 --port 8001
    ports:
      - "8001:8001"
    environment:
      - TAVILY_API_KEY=${TAVILY_API_KEY}
    networks:
      - aegis-net

  alphavantage:
    build: .
    command: uvicorn alphavantage_mcp:app --host 0.0.0.0 --port 8002
    ports:
      - "8002:8002"
    environment:
      - ALPHA_VANTAGE_API_KEY=${ALPHA_VANTAGE_API_KEY}
    networks:
      - aegis-net

  portfolio:
    build: .
    command: uvicorn private_mcp:app --host 0.0.0.0 --port 8003
    ports:
      - "8003:8003"
    volumes:
      - ./portfolio.db:/app/portfolio.db
    networks:
      - aegis-net

  monitor:
    build: .
    command: python monitor.py
    environment:
      - MCP_GATEWAY_URL=http://gateway:8000/route_agent_request
      - TAVILY_API_KEY=${TAVILY_API_KEY}
      - ALPHA_VANTAGE_API_KEY=${ALPHA_VANTAGE_API_KEY}
    depends_on:
      - gateway
    networks:
      - aegis-net

  frontend:
    build: .
    command: streamlit run app.py --server.port 8501 --server.address 0.0.0.0
    ports:
      - "8501:8501"
    environment:
      - MCP_GATEWAY_URL=http://gateway:8000/route_agent_request
      - GOOGLE_API_KEY=${GOOGLE_API_KEY}

    depends_on:
      - gateway
    networks:
      - aegis-net

networks:
  aegis-net:
    driver: bridge