Installation

Cursus is published on PyPI and requires Python 3.9 or newer (tested on 3.9 through 3.12).

Install

pip install cursus

This installs the core pipeline-authoring engine: the DAG model, the compiler, the step catalog, the registry, the pipeline catalog, the CLI, and the MCP tool surface. The 1.x/2.x line targets the SageMaker Python SDK 2.x.

Optional extras

Cursus keeps heavy ML/data libraries out of the core install and groups them behind extras, so you only pull in what your pipeline actually runs:

pip install "cursus[processing]"   # pandas / numpy data-processing utilities
pip install "cursus[nlp]"          # tokenizers / transformers for text steps
pip install "cursus[all]"          # everything

Install the docs toolchain (to build this site locally) with:

pip install "cursus[docs]"

Verify

cursus --version
python -c "import cursus; print(cursus.__version__)"

Both should print the same version (Cursus derives __version__ from the installed package metadata, so they can never drift).

Optional: the MCP server

Cursus ships a framework-neutral agent tool surface (70 tools). To expose it over the Model Context Protocol for an LLM agent, install the optional MCP SDK and launch the stdio server:

pip install "cursus[mcp]"          # pulls the MCP SDK (mcp, anyio)

cursus-mcp                         # stable launch command, or:
python -m cursus.mcp.server        # equivalent module entry point, or:
cursus mcp serve                   # equivalent via the CLI
cursus mcp help                    # inspect the tools without starting the server

Point your MCP host at cursus-mcp. Use the absolute path (which cursus-mcp) — GUI hosts like Claude Desktop and Cursor don’t inherit your shell PATH, so a bare "cursus-mcp" usually fails with ENOENT — and pass any needed AWS env explicitly, since hosts don’t inherit your shell env either:

{
  "mcpServers": {
    "cursus": {
      "command": "/absolute/path/to/cursus-mcp",
      "args": [],
      "env": { "AWS_PROFILE": "default", "AWS_REGION": "us-east-1" }
    }
  }
}

The server is read-only by default; opt into state-changing tools with CURSUS_MCP_ENABLE_DESTRUCTIVE=1 (filesystem writes + AWS upserts) or CURSUS_MCP_ALLOW_SCRIPT_EXEC=1 (running step scripts) in that env block. Per-host config locations, the safety matrix, and troubleshooting are in the MCP server README; the MCP Tool Reference lists the full toolset.

AWS setup

To upsert or run a compiled pipeline (not just compile it locally), you need AWS credentials and a SageMaker execution role, exactly as for any SageMaker SDK usage — configure them via the standard aws configure / environment variables / instance role. Compilation itself (cursus compile without --upsert) is fully offline.