Skip to content

Configure the artifacts remote

Set up the DVC/S3 remote that stores experiment artifacts and file backups, then back up a file to it. This guide assumes you know what experiment artifacts are — if not, read Experiments and AWS first.

Install the extra

The artifact tools live in the separate memory-artifacts MCP server and need the [artifacts] extra:

pip install -e ".[artifacts]"

Then enable the memory-artifacts server in Cursor's MCP settings if it isn't already. If the artifact and experiment tools aren't visible, that server is disabled.

Configure the S3 remote

  1. Plan the change first with dry_run=true (the default). This returns the DVC commands it would run and never touches your config or contacts AWS:
artifact(
  action="configure_remote",
  bucket="my-experiments-bucket",
  prefix="angelo",
  region="us-east-1",
  dry_run=true,
)
  1. Review the returned commands. When they look right, re-run with dry_run=false to write the DVC config:
artifact(
  action="configure_remote",
  bucket="my-experiments-bucket",
  prefix="angelo",
  region="us-east-1",
  dry_run=false,
)

S3-compatible endpoints

For non-AWS stores (MinIO, R2, etc.), pass endpoint_url. To replace a remote that already exists under the same remote_name, pass force=true.

Dry-run everything that touches the remote

Make dry_run=true your first call for any artifact tool that writes config or contacts S3. Inspect the plan, then commit with dry_run=false.

Back up a file

artifact(action="backup") is the one-step path: it DVC-adds the file, pushes the bytes to the remote, and verifies the result. The file stays exactly where it is — only a lightweight .dvc pointer is created for git.

  1. Preview the add + push:
artifact(action="backup", path="data/large_model.pkl", dry_run=true)
  1. Run it for real (note: backup defaults to dry_run=false, so this is the live call):
artifact(action="backup", path="data/large_model.pkl")
  1. Commit the generated .dvc pointer to git so the file is restorable on any machine via a DVC pull.

Verify

Confirm pointers and remote state without remote I/O:

artifact(action="verify", paths="data/large_model.pkl", dry_run=true)

Reference

For the full parameter list of artifact and experiment, see MCP tools → memory-artifacts. To capture and rerun experiments against this remote, see Run experiments.

Semantically related entries from the memory graph.