Skip to content

Backing Platform — Apache Egeria

egeria-mcp is a client of an Apache Egeria OMAG platform / View Server (OMVS). This page provides a Docker recipe for deploying one locally to serve as the target of EGERIA_PLATFORM_URL. For production topologies, follow the upstream Apache Egeria documentation.

Backing-system recipe

Each connector in the ecosystem follows the same convention — a docs/platform.md recipe for the system it integrates with, accompanied by a sample Compose stack that mirrors services/. Systems offered only as a managed service (for example, ServiceNow) have no local recipe.

Single-node deployment (Compose)

Egeria publishes the egeria/egeria-platform image. The following stack runs one OMAG Server Platform on :9443 with the persistent quick-start runtime:

# docker/egeria-platform.compose.yml
services:
  egeria-platform:
    image: docker.io/egeria/egeria-platform:5.3
    container_name: egeria-platform
    hostname: egeria-platform
    restart: unless-stopped
    ports:
      - "9443:9443"            # OMAG platform / View Server (HTTPS, self-signed)
    environment:
      - JAVA_DEBUG=false
      # Pre-load the quick-start config documents on boot
      - STARTUP_SERVERS=qs-metadata-store,qs-view-server
    volumes:
      - egeria_data:/deployments/data
    healthcheck:
      test: ["CMD", "curl", "-kfsS", "https://localhost:9443/open-metadata/platform-services/users/garygeeke/server-platform/origin"]
      interval: 30s
      timeout: 10s
      retries: 5
      start_period: 40s

volumes:
  egeria_data:
docker compose -f docker/egeria-platform.compose.yml up -d

# Wait for the platform origin to answer (self-signed TLS → -k)
curl -k https://localhost:9443/open-metadata/platform-services/users/garygeeke/server-platform/origin

Connect egeria-mcp

export EGERIA_PLATFORM_URL=https://localhost:9443
export EGERIA_VIEW_SERVER=qs-view-server
export EGERIA_USER=erinoverview
export EGERIA_USER_PASSWORD=secret
export EGERIA_VERIFY_SSL=False          # self-signed quick-start cert

egeria-mcp --transport streamable-http --host 0.0.0.0 --port 8000

Combined deployment

A combined stack places the platform and the MCP server on one Docker network, so the server reaches Egeria by container name:

# docker/stack.compose.yml
services:
  egeria-platform:
    image: docker.io/egeria/egeria-platform:5.3
    hostname: egeria-platform
    ports: ["9443:9443"]
    environment:
      - STARTUP_SERVERS=qs-metadata-store,qs-view-server
    volumes: ["egeria_data:/deployments/data"]

  egeria-mcp:
    image: knucklessg1/egeria-mcp:latest
    depends_on: [egeria-platform]
    environment:
      - EGERIA_PLATFORM_URL=https://egeria-platform:9443
      - EGERIA_VIEW_SERVER=qs-view-server
      - EGERIA_VERIFY_SSL=False
      - TRANSPORT=streamable-http
      - HOST=0.0.0.0
      - PORT=8000
    ports: ["8000:8000"]

volumes:
  egeria_data:
docker compose -f docker/stack.compose.yml up -d

Populate Egeria from your estate

With the platform running and EGERIA_ENABLE_WRITE=true, the harvest CLI populates Egeria bottom-up from your data stores, ERPNext, GitLab, and 30+ other sources, then reconcile cross-links them into one lineage/governance graph.