networks: public: external: true badge-net: external: true mcp_net: driver: overlay attachable: true services: pieces-mcp: image: git.baked.rocks/vasceannie/pieces-mcp:latest deploy: placement: constraints: - node.hostname == wslbox labels: - "traefik.enable=true" - "traefik.http.routers.pieces-mcp.rule=Host(`mcp.box`) && PathPrefix(`/pieces-mcp`)" - "traefik.http.routers.pieces-mcp.entrypoints=web" - "traefik.http.services.pieces-mcp.loadbalancer.server.port=8096" - "traefik.http.middlewares.pieces-mcp-stripprefix.stripprefix.prefixes=/pieces-mcp" - "traefik.http.routers.pieces-mcp.middlewares=pieces-mcp-stripprefix" replicas: 1 restart_policy: condition: any healthcheck: test: ["CMD", "sh", "-c", "netstat -tln | grep ':8096 ' || exit 1"] interval: 30s timeout: 10s retries: 3 start_period: 40s command: > --named-server pieces-os 'mcp-proxy --transport streamablehttp http://host.docker.internal:39301/model_context_protocol/2025-03-26/mcp' --port=8096 --host=0.0.0.0 --allow-origin='*' networks: - public - badge-net - mcp_net # firecrawl-mcp: # image: git.baked.rocks/vasceannie/firecrawl-mcp:latest # deploy: # placement: # constraints: # - node.hostname == wslbox # labels: # - "traefik.enable=true" # - "traefik.http.routers.firecrawl-mcp.rule=Host(`mcp.box`) && PathPrefix(`/firecrawl-mcp`)" # - "traefik.http.routers.firecrawl-mcp.entrypoints=web" # - "traefik.http.services.firecrawl-mcp.loadbalancer.server.port=8097" # - "traefik.http.middlewares.firecrawl-mcp-stripprefix.stripprefix.prefixes=/firecrawl-mcp" # - "traefik.http.routers.firecrawl-mcp.middlewares=firecrawl-mcp-stripprefix" # replicas: 1 # restart_policy: # condition: any # environment: # - FIRECRAWL_API_URL=http://crawl.toy # - FIRECRAWL_API_KEY=dummy-key # healthcheck: # test: ["CMD", "sh", "-c", "netstat -tln | grep ':809[6-9]\\|:8100' || exit 1"] # interval: 30s # timeout: 10s # retries: 3 # start_period: 40s # command: > # --pass-environment # --stateless # --transport streamablehttp # --port=8097 --host=0.0.0.0 # npx firecrawl-mcp # networks: # - traefik context7-mcp: image: git.baked.rocks/vasceannie/context7-mcp:latest deploy: placement: constraints: - node.hostname == wslbox labels: - "traefik.enable=true" - "traefik.http.routers.context7-mcp.rule=Host(`mcp.box`) && PathPrefix(`/context7-mcp`)" - "traefik.http.routers.context7-mcp.entrypoints=web" - "traefik.http.services.context7-mcp.loadbalancer.server.port=8098" - "traefik.http.middlewares.context7-mcp-stripprefix.stripprefix.prefixes=/context7-mcp" - "traefik.http.routers.context7-mcp.middlewares=context7-mcp-stripprefix" replicas: 1 restart_policy: condition: any healthcheck: test: ["CMD", "sh", "-c", "netstat -tln | grep ':809[6-9]\\|:8100' || exit 1"] interval: 30s timeout: 10s retries: 3 start_period: 40s command: > --named-server context7 'mcp-proxy --stateless --transport streamablehttp --headers CONTEXT7_API_KEY ctx7sk-f6f1b998-88a2-4e78-9d21-433545326e6c https://mcp.context7.com/mcp' --port=8098 --host=0.0.0.0 --allow-origin='*' networks: - public - badge-net - mcp_net # knowledge-graph-mcp: # image: git.baked.rocks/vasceannie/knowledge-graph-mcp:latest # deploy: # placement: # constraints: # - node.hostname == wslbox # labels: # - "traefik.enable=true" # - "traefik.http.routers.knowledge-graph-mcp.rule=Host(`mcp.box`) && PathPrefix(`/knowledge-graph-mcp`)" # - "traefik.http.routers.knowledge-graph-mcp.entrypoints=web" # - "traefik.http.services.knowledge-graph-mcp.loadbalancer.server.port=8099" # - "traefik.http.middlewares.knowledge-graph-mcp-stripprefix.stripprefix.prefixes=/knowledge-graph-mcp" # - "traefik.http.routers.knowledge-graph-mcp.middlewares=knowledge-graph-mcp-stripprefix" # replicas: 1 # restart_policy: # condition: any # healthcheck: # test: ["CMD", "sh", "-c", "netstat -tln | grep ':809[6-9]\\|:8100' || exit 1"] # interval: 30s # timeout: 10s # retries: 3 # start_period: 40s # command: > # --named-server knowledge-graph 'mcp-proxy --transport sse http://host.docker.internal:48000/sse' # --port=8099 --host=0.0.0.0 --allow-origin='*' # networks: # - traefik xpipe-mcp: image: git.baked.rocks/vasceannie/xpipe-mcp:latest deploy: placement: constraints: - node.hostname == wslbox labels: - "traefik.enable=true" - "traefik.http.routers.xpipe-mcp.rule=Host(`mcp.box`) && PathPrefix(`/xpipe-mcp`)" - "traefik.http.routers.xpipe-mcp.entrypoints=web" - "traefik.http.services.xpipe-mcp.loadbalancer.server.port=8100" - "traefik.http.middlewares.xpipe-mcp-stripprefix.stripprefix.prefixes=/xpipe-mcp" - "traefik.http.routers.xpipe-mcp.middlewares=xpipe-mcp-stripprefix" replicas: 1 restart_policy: condition: any healthcheck: test: ["CMD", "sh", "-c", "netstat -tln | grep ':809[6-9]\\|:8100' || exit 1"] interval: 30s timeout: 10s retries: 3 start_period: 40s command: > --named-server xpipe 'mcp-proxy --transport streamablehttp --headers Authorization "Bearer 27d1c4ca-dfec-4d38-adc1-1e0f4bcbaadc" http://host.docker.internal:21721/mcp' --port=8100 --host=0.0.0.0 --allow-origin='*' networks: - public - badge-net - mcp_net