# Auto-generated Docker Compose file for MCP Connectors # Generated by scripts/mcp_generate_compose.py # Project: rsync-ai-mcp (shows as separate group in Docker Desktop) # DO NOT EDIT MANUALLY - changes will be overwritten name: rsync-ai-mcp services: aws-s3-v1-0-0-mcp: build: context: ./shared/mcp-connectors/public/storage/aws-s3/versions/v1.0.0 dockerfile: Dockerfile additional_contexts: shared: ./shared/mcp-connectors/public image: mcp-aws-s3:v1.0.0 container_name: rsync-ai-aws-s3-v1-0-0-mcp labels: - rsync-ai.mcp=true - rsync-ai.connector=aws-s3 - rsync-ai.connector_version=v1.0.0 environment: - PORT=8000 - MCP_PORT=8000 - MCP_HTTP_MODE=true - DOCKER_CONTAINER=true - LOG_FORMAT=json - LOG_LEVEL=info - ENVIRONMENT=docker - KAFKA_TOPIC_PREFIX=${KAFKA_TOPIC_PREFIX-rsync.} healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/health"] interval: 30s timeout: 10s start_period: 10s retries: 3 restart: unless-stopped cap_drop: - ALL security_opt: - no-new-privileges:true mem_limit: ${MCP_MEMORY_LIMIT:-512m} pids_limit: ${MCP_PIDS_LIMIT:-512} logging: driver: json-file options: max-size: ${MCP_LOG_MAX_SIZE:-10m} max-file: "${MCP_LOG_MAX_FILE:-3}" networks: rsync-network: aliases: - rsync-ai-aws-s3-mcp - rsync-ai-aws_s3-mcp azure-blob-v1-0-0-mcp: build: context: ./shared/mcp-connectors/public/storage/azure-blob/versions/v1.0.0 dockerfile: Dockerfile additional_contexts: shared: ./shared/mcp-connectors/public image: mcp-azure-blob:v1.0.0 container_name: rsync-ai-azure-blob-v1-0-0-mcp labels: - rsync-ai.mcp=true - rsync-ai.connector=azure-blob - rsync-ai.connector_version=v1.0.0 environment: - PORT=8000 - MCP_PORT=8000 - MCP_HTTP_MODE=true - DOCKER_CONTAINER=true - LOG_FORMAT=json - LOG_LEVEL=info - ENVIRONMENT=docker - KAFKA_TOPIC_PREFIX=${KAFKA_TOPIC_PREFIX-rsync.} healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/health"] interval: 30s timeout: 10s start_period: 10s retries: 3 restart: unless-stopped cap_drop: - ALL security_opt: - no-new-privileges:true mem_limit: ${MCP_MEMORY_LIMIT:-512m} pids_limit: ${MCP_PIDS_LIMIT:-512} logging: driver: json-file options: max-size: ${MCP_LOG_MAX_SIZE:-10m} max-file: "${MCP_LOG_MAX_FILE:-3}" networks: rsync-network: aliases: - rsync-ai-azure-blob-mcp bigquery-v1-0-0-mcp: build: context: ./shared/mcp-connectors/public/database/bigquery/versions/v1.0.0 dockerfile: Dockerfile additional_contexts: shared: ./shared/mcp-connectors/public image: mcp-bigquery:v1.0.0 container_name: rsync-ai-bigquery-v1-0-0-mcp labels: - rsync-ai.mcp=true - rsync-ai.connector=bigquery - rsync-ai.connector_version=v1.0.0 environment: - PORT=8000 - MCP_PORT=8000 - MCP_HTTP_MODE=true - DOCKER_CONTAINER=true - LOG_FORMAT=json - LOG_LEVEL=info - ENVIRONMENT=docker - KAFKA_TOPIC_PREFIX=${KAFKA_TOPIC_PREFIX-rsync.} healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/health"] interval: 30s timeout: 10s start_period: 10s retries: 3 restart: unless-stopped cap_drop: - ALL security_opt: - no-new-privileges:true mem_limit: ${MCP_MEMORY_LIMIT:-512m} pids_limit: ${MCP_PIDS_LIMIT:-512} logging: driver: json-file options: max-size: ${MCP_LOG_MAX_SIZE:-10m} max-file: "${MCP_LOG_MAX_FILE:-3}" networks: rsync-network: aliases: - rsync-ai-bigquery-mcp clickhouse-v1-0-0-mcp: build: context: ./shared/mcp-connectors/public/database/clickhouse/versions/v1.0.0 dockerfile: Dockerfile additional_contexts: shared: ./shared/mcp-connectors/public image: mcp-clickhouse:v1.0.0 container_name: rsync-ai-clickhouse-v1-0-0-mcp labels: - rsync-ai.mcp=true - rsync-ai.connector=clickhouse - rsync-ai.connector_version=v1.0.0 environment: - PORT=8000 - MCP_PORT=8000 - MCP_HTTP_MODE=true - DOCKER_CONTAINER=true - LOG_FORMAT=json - LOG_LEVEL=info - ENVIRONMENT=docker - KAFKA_TOPIC_PREFIX=${KAFKA_TOPIC_PREFIX-rsync.} healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/health"] interval: 30s timeout: 10s start_period: 10s retries: 3 restart: unless-stopped cap_drop: - ALL security_opt: - no-new-privileges:true mem_limit: ${MCP_MEMORY_LIMIT:-512m} pids_limit: ${MCP_PIDS_LIMIT:-512} logging: driver: json-file options: max-size: ${MCP_LOG_MAX_SIZE:-10m} max-file: "${MCP_LOG_MAX_FILE:-3}" networks: rsync-network: aliases: - rsync-ai-clickhouse-mcp databricks-v1-0-0-mcp: build: context: ./shared/mcp-connectors/public/database/databricks/versions/v1.0.0 dockerfile: Dockerfile additional_contexts: shared: ./shared/mcp-connectors/public image: mcp-databricks:v1.0.0 container_name: rsync-ai-databricks-v1-0-0-mcp labels: - rsync-ai.mcp=true - rsync-ai.connector=databricks - rsync-ai.connector_version=v1.0.0 environment: - PORT=8000 - MCP_PORT=8000 - MCP_HTTP_MODE=true - DOCKER_CONTAINER=true - LOG_FORMAT=json - LOG_LEVEL=info - ENVIRONMENT=docker - KAFKA_TOPIC_PREFIX=${KAFKA_TOPIC_PREFIX-rsync.} healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/health"] interval: 30s timeout: 10s start_period: 10s retries: 3 restart: unless-stopped cap_drop: - ALL security_opt: - no-new-privileges:true mem_limit: ${MCP_MEMORY_LIMIT:-512m} pids_limit: ${MCP_PIDS_LIMIT:-512} logging: driver: json-file options: max-size: ${MCP_LOG_MAX_SIZE:-10m} max-file: "${MCP_LOG_MAX_FILE:-3}" networks: rsync-network: aliases: - rsync-ai-databricks-mcp gcs-v1-0-0-mcp: build: context: ./shared/mcp-connectors/public/storage/gcs/versions/v1.0.0 dockerfile: Dockerfile additional_contexts: shared: ./shared/mcp-connectors/public image: mcp-gcs:v1.0.0 container_name: rsync-ai-gcs-v1-0-0-mcp labels: - rsync-ai.mcp=true - rsync-ai.connector=gcs - rsync-ai.connector_version=v1.0.0 environment: - PORT=8000 - MCP_PORT=8000 - MCP_HTTP_MODE=true - DOCKER_CONTAINER=true - LOG_FORMAT=json - LOG_LEVEL=info - ENVIRONMENT=docker - KAFKA_TOPIC_PREFIX=${KAFKA_TOPIC_PREFIX-rsync.} healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/health"] interval: 30s timeout: 10s start_period: 10s retries: 3 restart: unless-stopped cap_drop: - ALL security_opt: - no-new-privileges:true mem_limit: ${MCP_MEMORY_LIMIT:-512m} pids_limit: ${MCP_PIDS_LIMIT:-512} logging: driver: json-file options: max-size: ${MCP_LOG_MAX_SIZE:-10m} max-file: "${MCP_LOG_MAX_FILE:-3}" networks: rsync-network: aliases: - rsync-ai-gcs-mcp github-rest-v1-0-0-mcp: build: context: ./shared/mcp-connectors/public/github-rest/versions/v1.0.0 dockerfile: Dockerfile additional_contexts: shared: ./shared/mcp-connectors/public image: mcp-github-rest:v1.0.0 container_name: rsync-ai-github-rest-v1-0-0-mcp labels: - rsync-ai.mcp=true - rsync-ai.connector=github-rest - rsync-ai.connector_version=v1.0.0 environment: - PORT=8000 - MCP_PORT=8000 - MCP_HTTP_MODE=true - DOCKER_CONTAINER=true - LOG_FORMAT=json - LOG_LEVEL=info - ENVIRONMENT=docker - KAFKA_TOPIC_PREFIX=${KAFKA_TOPIC_PREFIX-rsync.} healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/health"] interval: 30s timeout: 10s start_period: 10s retries: 3 restart: unless-stopped cap_drop: - ALL security_opt: - no-new-privileges:true mem_limit: ${MCP_MEMORY_LIMIT:-512m} pids_limit: ${MCP_PIDS_LIMIT:-512} logging: driver: json-file options: max-size: ${MCP_LOG_MAX_SIZE:-10m} max-file: "${MCP_LOG_MAX_FILE:-3}" networks: rsync-network: aliases: - rsync-ai-github-rest-mcp google-sheets-v1-0-0-mcp: build: context: ./shared/mcp-connectors/public/google-sheets/versions/v1.0.0 dockerfile: Dockerfile additional_contexts: shared: ./shared/mcp-connectors/public image: mcp-google-sheets:v1.0.0 container_name: rsync-ai-google-sheets-v1-0-0-mcp labels: - rsync-ai.mcp=true - rsync-ai.connector=google-sheets - rsync-ai.connector_version=v1.0.0 environment: - PORT=8000 - MCP_PORT=8000 - MCP_HTTP_MODE=true - DOCKER_CONTAINER=true - LOG_FORMAT=json - LOG_LEVEL=info - ENVIRONMENT=docker - KAFKA_TOPIC_PREFIX=${KAFKA_TOPIC_PREFIX-rsync.} healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/health"] interval: 30s timeout: 10s start_period: 10s retries: 3 restart: unless-stopped cap_drop: - ALL security_opt: - no-new-privileges:true mem_limit: ${MCP_MEMORY_LIMIT:-512m} pids_limit: ${MCP_PIDS_LIMIT:-512} logging: driver: json-file options: max-size: ${MCP_LOG_MAX_SIZE:-10m} max-file: "${MCP_LOG_MAX_FILE:-3}" networks: rsync-network: aliases: - rsync-ai-google-sheets-mcp mongodb-v1-0-0-mcp: build: context: ./shared/mcp-connectors/public/database/mongodb/versions/v1.0.0 dockerfile: Dockerfile additional_contexts: shared: ./shared/mcp-connectors/public image: mcp-mongodb:v1.0.0 container_name: rsync-ai-mongodb-v1-0-0-mcp labels: - rsync-ai.mcp=true - rsync-ai.connector=mongodb - rsync-ai.connector_version=v1.0.0 environment: - PORT=8000 - MCP_PORT=8000 - MCP_HTTP_MODE=true - DOCKER_CONTAINER=true - LOG_FORMAT=json - LOG_LEVEL=info - ENVIRONMENT=docker - KAFKA_TOPIC_PREFIX=${KAFKA_TOPIC_PREFIX-rsync.} healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/health"] interval: 30s timeout: 10s start_period: 10s retries: 3 restart: unless-stopped cap_drop: - ALL security_opt: - no-new-privileges:true mem_limit: ${MCP_MEMORY_LIMIT:-512m} pids_limit: ${MCP_PIDS_LIMIT:-512} logging: driver: json-file options: max-size: ${MCP_LOG_MAX_SIZE:-10m} max-file: "${MCP_LOG_MAX_FILE:-3}" networks: rsync-network: aliases: - rsync-ai-mongodb-mcp mysql-v1-0-0-mcp: build: context: ./shared/mcp-connectors/public/database/mysql/versions/v1.0.0 dockerfile: Dockerfile additional_contexts: shared: ./shared/mcp-connectors/public image: mcp-mysql:v1.0.0 container_name: rsync-ai-mysql-v1-0-0-mcp labels: - rsync-ai.mcp=true - rsync-ai.connector=mysql - rsync-ai.connector_version=v1.0.0 environment: - PORT=8000 - MCP_PORT=8000 - MCP_HTTP_MODE=true - DOCKER_CONTAINER=true - LOG_FORMAT=json - LOG_LEVEL=info - ENVIRONMENT=docker - KAFKA_TOPIC_PREFIX=${KAFKA_TOPIC_PREFIX-rsync.} healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/health"] interval: 30s timeout: 10s start_period: 10s retries: 3 restart: unless-stopped cap_drop: - ALL security_opt: - no-new-privileges:true mem_limit: ${MCP_MEMORY_LIMIT:-512m} pids_limit: ${MCP_PIDS_LIMIT:-512} logging: driver: json-file options: max-size: ${MCP_LOG_MAX_SIZE:-10m} max-file: "${MCP_LOG_MAX_FILE:-3}" networks: rsync-network: aliases: - rsync-ai-mysql-mcp notion-rest-v1-0-0-mcp: build: context: ./shared/mcp-connectors/public/notion-rest/versions/v1.0.0 dockerfile: Dockerfile additional_contexts: shared: ./shared/mcp-connectors/public image: mcp-notion-rest:v1.0.0 container_name: rsync-ai-notion-rest-v1-0-0-mcp labels: - rsync-ai.mcp=true - rsync-ai.connector=notion-rest - rsync-ai.connector_version=v1.0.0 environment: - PORT=8000 - MCP_PORT=8000 - MCP_HTTP_MODE=true - DOCKER_CONTAINER=true - LOG_FORMAT=json - LOG_LEVEL=info - ENVIRONMENT=docker - KAFKA_TOPIC_PREFIX=${KAFKA_TOPIC_PREFIX-rsync.} healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/health"] interval: 30s timeout: 10s start_period: 10s retries: 3 restart: unless-stopped cap_drop: - ALL security_opt: - no-new-privileges:true mem_limit: ${MCP_MEMORY_LIMIT:-512m} pids_limit: ${MCP_PIDS_LIMIT:-512} logging: driver: json-file options: max-size: ${MCP_LOG_MAX_SIZE:-10m} max-file: "${MCP_LOG_MAX_FILE:-3}" networks: rsync-network: aliases: - rsync-ai-notion-rest-mcp oracle-v1-0-0-mcp: build: context: ./shared/mcp-connectors/public/database/oracle/versions/v1.0.0 dockerfile: Dockerfile additional_contexts: shared: ./shared/mcp-connectors/public image: mcp-oracle:v1.0.0 container_name: rsync-ai-oracle-v1-0-0-mcp labels: - rsync-ai.mcp=true - rsync-ai.connector=oracle - rsync-ai.connector_version=v1.0.0 environment: - PORT=8000 - MCP_PORT=8000 - MCP_HTTP_MODE=true - DOCKER_CONTAINER=true - LOG_FORMAT=json - LOG_LEVEL=info - ENVIRONMENT=docker - KAFKA_TOPIC_PREFIX=${KAFKA_TOPIC_PREFIX-rsync.} healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/health"] interval: 30s timeout: 10s start_period: 10s retries: 3 restart: unless-stopped cap_drop: - ALL security_opt: - no-new-privileges:true mem_limit: ${MCP_MEMORY_LIMIT:-512m} pids_limit: ${MCP_PIDS_LIMIT:-512} logging: driver: json-file options: max-size: ${MCP_LOG_MAX_SIZE:-10m} max-file: "${MCP_LOG_MAX_FILE:-3}" networks: rsync-network: aliases: - rsync-ai-oracle-mcp postgresql-v1-0-0-mcp: build: context: ./shared/mcp-connectors/public/postgresql/versions/v1.0.0 dockerfile: Dockerfile additional_contexts: shared: ./shared/mcp-connectors/public image: mcp-postgresql:v1.0.0 container_name: rsync-ai-postgresql-v1-0-0-mcp labels: - rsync-ai.mcp=true - rsync-ai.connector=postgresql - rsync-ai.connector_version=v1.0.0 environment: - PORT=8000 - MCP_PORT=8000 - MCP_HTTP_MODE=true - DOCKER_CONTAINER=true - LOG_FORMAT=json - LOG_LEVEL=info - ENVIRONMENT=docker - KAFKA_TOPIC_PREFIX=${KAFKA_TOPIC_PREFIX-rsync.} healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/health"] interval: 30s timeout: 10s start_period: 10s retries: 3 restart: unless-stopped cap_drop: - ALL security_opt: - no-new-privileges:true mem_limit: ${MCP_MEMORY_LIMIT:-512m} pids_limit: ${MCP_PIDS_LIMIT:-512} logging: driver: json-file options: max-size: ${MCP_LOG_MAX_SIZE:-10m} max-file: "${MCP_LOG_MAX_FILE:-3}" networks: rsync-network: aliases: - rsync-ai-postgresql-mcp redshift-v1-0-0-mcp: build: context: ./shared/mcp-connectors/public/redshift/versions/v1.0.0 dockerfile: Dockerfile additional_contexts: shared: ./shared/mcp-connectors/public image: mcp-redshift:v1.0.0 container_name: rsync-ai-redshift-v1-0-0-mcp labels: - rsync-ai.mcp=true - rsync-ai.connector=redshift - rsync-ai.connector_version=v1.0.0 environment: - PORT=8000 - MCP_PORT=8000 - MCP_HTTP_MODE=true - DOCKER_CONTAINER=true - LOG_FORMAT=json - LOG_LEVEL=info - ENVIRONMENT=docker - KAFKA_TOPIC_PREFIX=${KAFKA_TOPIC_PREFIX-rsync.} healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/health"] interval: 30s timeout: 10s start_period: 10s retries: 3 restart: unless-stopped cap_drop: - ALL security_opt: - no-new-privileges:true mem_limit: ${MCP_MEMORY_LIMIT:-512m} pids_limit: ${MCP_PIDS_LIMIT:-512} logging: driver: json-file options: max-size: ${MCP_LOG_MAX_SIZE:-10m} max-file: "${MCP_LOG_MAX_FILE:-3}" networks: rsync-network: aliases: - rsync-ai-redshift-mcp sample-data-v1-0-0-mcp: build: context: ./shared/mcp-connectors/public/sample-data/versions/v1.0.0 dockerfile: Dockerfile additional_contexts: shared: ./shared/mcp-connectors/public image: mcp-sample-data:v1.0.0 container_name: rsync-ai-sample-data-v1-0-0-mcp labels: - rsync-ai.mcp=true - rsync-ai.connector=sample-data - rsync-ai.connector_version=v1.0.0 environment: - PORT=8000 - MCP_PORT=8000 - MCP_HTTP_MODE=true - DOCKER_CONTAINER=true - LOG_FORMAT=json - LOG_LEVEL=info - ENVIRONMENT=docker - KAFKA_TOPIC_PREFIX=${KAFKA_TOPIC_PREFIX-rsync.} healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/health"] interval: 30s timeout: 10s start_period: 10s retries: 3 restart: unless-stopped cap_drop: - ALL security_opt: - no-new-privileges:true mem_limit: ${MCP_MEMORY_LIMIT:-512m} pids_limit: ${MCP_PIDS_LIMIT:-512} logging: driver: json-file options: max-size: ${MCP_LOG_MAX_SIZE:-10m} max-file: "${MCP_LOG_MAX_FILE:-3}" networks: rsync-network: aliases: - rsync-ai-sample-data-mcp shopify-admin-graphql-v1-0-0-mcp: build: context: ./shared/mcp-connectors/public/shopify-admin-graphql/versions/v1.0.0 dockerfile: Dockerfile additional_contexts: shared: ./shared/mcp-connectors/public image: mcp-shopify-admin-graphql:v1.0.0 container_name: rsync-ai-shopify-admin-graphql-v1-0-0-mcp labels: - rsync-ai.mcp=true - rsync-ai.connector=shopify-admin-graphql - rsync-ai.connector_version=v1.0.0 environment: - PORT=8000 - MCP_PORT=8000 - MCP_HTTP_MODE=true - DOCKER_CONTAINER=true - LOG_FORMAT=json - LOG_LEVEL=info - ENVIRONMENT=docker - KAFKA_TOPIC_PREFIX=${KAFKA_TOPIC_PREFIX-rsync.} healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/health"] interval: 30s timeout: 10s start_period: 10s retries: 3 restart: unless-stopped cap_drop: - ALL security_opt: - no-new-privileges:true mem_limit: ${MCP_MEMORY_LIMIT:-512m} pids_limit: ${MCP_PIDS_LIMIT:-512} logging: driver: json-file options: max-size: ${MCP_LOG_MAX_SIZE:-10m} max-file: "${MCP_LOG_MAX_FILE:-3}" networks: rsync-network: aliases: - rsync-ai-shopify-admin-graphql-mcp snowflake-v1-0-0-mcp: build: context: ./shared/mcp-connectors/public/database/snowflake/versions/v1.0.0 dockerfile: Dockerfile additional_contexts: shared: ./shared/mcp-connectors/public image: mcp-snowflake:v1.0.0 container_name: rsync-ai-snowflake-v1-0-0-mcp labels: - rsync-ai.mcp=true - rsync-ai.connector=snowflake - rsync-ai.connector_version=v1.0.0 environment: - PORT=8000 - MCP_PORT=8000 - MCP_HTTP_MODE=true - DOCKER_CONTAINER=true - LOG_FORMAT=json - LOG_LEVEL=info - ENVIRONMENT=docker - KAFKA_TOPIC_PREFIX=${KAFKA_TOPIC_PREFIX-rsync.} healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/health"] interval: 30s timeout: 10s start_period: 10s retries: 3 restart: unless-stopped cap_drop: - ALL security_opt: - no-new-privileges:true mem_limit: ${MCP_MEMORY_LIMIT:-512m} pids_limit: ${MCP_PIDS_LIMIT:-512} logging: driver: json-file options: max-size: ${MCP_LOG_MAX_SIZE:-10m} max-file: "${MCP_LOG_MAX_FILE:-3}" networks: rsync-network: aliases: - rsync-ai-snowflake-mcp sqlserver-v1-0-0-mcp: build: context: ./shared/mcp-connectors/public/database/sqlserver/versions/v1.0.0 dockerfile: Dockerfile additional_contexts: shared: ./shared/mcp-connectors/public image: mcp-sqlserver:v1.0.0 container_name: rsync-ai-sqlserver-v1-0-0-mcp labels: - rsync-ai.mcp=true - rsync-ai.connector=sqlserver - rsync-ai.connector_version=v1.0.0 environment: - PORT=8000 - MCP_PORT=8000 - MCP_HTTP_MODE=true - DOCKER_CONTAINER=true - LOG_FORMAT=json - LOG_LEVEL=info - ENVIRONMENT=docker - KAFKA_TOPIC_PREFIX=${KAFKA_TOPIC_PREFIX-rsync.} healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/health"] interval: 30s timeout: 10s start_period: 10s retries: 3 restart: unless-stopped cap_drop: - ALL security_opt: - no-new-privileges:true mem_limit: ${MCP_MEMORY_LIMIT:-512m} pids_limit: ${MCP_PIDS_LIMIT:-512} logging: driver: json-file options: max-size: ${MCP_LOG_MAX_SIZE:-10m} max-file: "${MCP_LOG_MAX_FILE:-3}" networks: rsync-network: aliases: - rsync-ai-sqlserver-mcp stripe-v1-0-0-mcp: build: context: ./shared/mcp-connectors/public/stripe/versions/v1.0.0 dockerfile: Dockerfile additional_contexts: shared: ./shared/mcp-connectors/public image: mcp-stripe:v1.0.0 container_name: rsync-ai-stripe-v1-0-0-mcp labels: - rsync-ai.mcp=true - rsync-ai.connector=stripe - rsync-ai.connector_version=v1.0.0 environment: - PORT=8000 - MCP_PORT=8000 - MCP_HTTP_MODE=true - DOCKER_CONTAINER=true - LOG_FORMAT=json - LOG_LEVEL=info - ENVIRONMENT=docker - KAFKA_TOPIC_PREFIX=${KAFKA_TOPIC_PREFIX-rsync.} healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/health"] interval: 30s timeout: 10s start_period: 10s retries: 3 restart: unless-stopped cap_drop: - ALL security_opt: - no-new-privileges:true mem_limit: ${MCP_MEMORY_LIMIT:-512m} pids_limit: ${MCP_PIDS_LIMIT:-512} logging: driver: json-file options: max-size: ${MCP_LOG_MAX_SIZE:-10m} max-file: "${MCP_LOG_MAX_FILE:-3}" networks: rsync-network: aliases: - rsync-ai-stripe-mcp widgets-graphql-v1-0-0-mcp: build: context: ./shared/mcp-connectors/public/widgets-graphql/versions/v1.0.0 dockerfile: Dockerfile additional_contexts: shared: ./shared/mcp-connectors/public image: mcp-widgets-graphql:v1.0.0 container_name: rsync-ai-widgets-graphql-v1-0-0-mcp labels: - rsync-ai.mcp=true - rsync-ai.connector=widgets-graphql - rsync-ai.connector_version=v1.0.0 environment: - PORT=8000 - MCP_PORT=8000 - MCP_HTTP_MODE=true - DOCKER_CONTAINER=true - LOG_FORMAT=json - LOG_LEVEL=info - ENVIRONMENT=docker - KAFKA_TOPIC_PREFIX=${KAFKA_TOPIC_PREFIX-rsync.} healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/health"] interval: 30s timeout: 10s start_period: 10s retries: 3 restart: unless-stopped cap_drop: - ALL security_opt: - no-new-privileges:true mem_limit: ${MCP_MEMORY_LIMIT:-512m} pids_limit: ${MCP_PIDS_LIMIT:-512} logging: driver: json-file options: max-size: ${MCP_LOG_MAX_SIZE:-10m} max-file: "${MCP_LOG_MAX_FILE:-3}" networks: rsync-network: aliases: - rsync-ai-widgets-graphql-mcp networks: rsync-network: external: true name: rsync-ai-mcp