Added
- Bulk artifact download: new MCP tool
download_all_artifactsand CLI commandnlm download alldownload every completed Studio artifact of a notebook — or every notebook in the account with--all-notebooks/all_notebooks=True— into per-notebook directories named after each notebook's title. --types/artifact_typesfilter to restrict which artifact types are downloaded.--skip-existing/skip_existingfor incremental re-runs — previously downloaded files are never re-fetched.- Safe cross-platform filenames: invalid characters replaced, Windows reserved names escaped, and collisions deduped case-insensitively for both notebook directories and artifact filenames.
- A failure on one artifact or notebook is recorded and does not stop the rest; the CLI exits non-zero only when nothing was downloaded and failures occurred.
Thanks
Thanks to @hansschenker for the original contribution (#258), and to @runthangs for following up with fixes for directory collisions, case-insensitive overwrites, and the --all-notebooks exit code (#264)!
Documentation
- Reconciled the MCP tool count (39 → 40) and documented
download_all_artifacts/nlm download allacross the README, MCP Guide, CLI Guide, packaged skill, and command reference.
Validation
- 1,203 automated tests passed, 39 skipped.
- Ruff lint and formatting checks passed.
- Live smoke test against a real notebook: full download of 18 artifacts, then a
--skip-existingre-run correctly skipped all 18.
Full Changelog: v0.8.9...v0.9.0