Provision a backend store (e.g., a PostgreSQL database) and an artifact store (e.g., an S3 bucket or GCS bucket) and ensure the server process has credentials to reach both
Install MLflow on the server host: pip install mlflow[extras] plus any cloud SDK (boto3, google-cloud-storage, etc.)
Start the server: mlflow server --backend-store-uri postgresql://user:password@host/dbname --artifacts-destination s3://your-bucket/mlflow-artifacts --host 0.0.0.0 --port 5000
Set MLFLOW_TRACKING_URI=http://<server-host>:5000 in the environment of every client machine or training job
In experiment code call mlflow.set_tracking_uri() or rely on the environment variable, then mlflow.set_experiment('my-experiment') before starting runs
Verify connectivity by running mlflow experiments list from a client; confirm artifact uploads by checking the bucket after a logged run
Known gotchas
The --default-artifact-root flag is deprecated in favor of --artifacts-destination when running the server in proxy artifact mode — using the old flag causes artifacts to be stored locally on the server instead of the remote store
IAM or service-account credentials must be available to the server process at startup, not just at client time; a missing credential causes artifact logging to fail silently on the client
When running behind a reverse proxy, set --gunicorn-opts '--timeout 120' to prevent worker timeouts during large artifact uploads
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp