Skip to main content

SDK and CLI for the Ascend REST API

Project description

ascend-tools

SDK, CLI, and MCP server for the Ascend REST API.

Private preview: ascend-tools is currently in private preview. Contact your Ascend representative to request access.

Install

Pre-built binaries are available for Linux and macOS. Windows users should use Linux/macOS.

uv tool install ascend-tools

Authentication

Set three environment variables (from Ascend UI > Settings > Users > Create Service Account):

export ASCEND_SERVICE_ACCOUNT_ID="asc-sa-..."
export ASCEND_SERVICE_ACCOUNT_KEY="..."
export ASCEND_INSTANCE_API_URL="https://api.instance.ascend.io"

CLI

List runtimes:

ascend-tools runtime list

Get a runtime:

ascend-tools runtime get <UUID>

Resume a runtime:

ascend-tools runtime resume <UUID>

Pause a runtime:

ascend-tools runtime pause <UUID>

List flows:

ascend-tools flow list --runtime <UUID>

Run a flow:

ascend-tools flow run <FLOW_NAME> --runtime <UUID>

Run a flow and resume the runtime first if paused:

ascend-tools flow run <FLOW_NAME> --runtime <UUID> --resume

Run a flow with full refresh:

ascend-tools flow run <FLOW_NAME> --runtime <UUID> --spec '{"full_refresh": true}'

List flow runs:

ascend-tools flow list-runs --runtime <UUID>

Get a flow run:

ascend-tools flow get-run <RUN_NAME> --runtime <UUID>

JSON output:

ascend-tools -o json runtime list

Python SDK

from ascend_tools import Client

client = Client()  # reads from env vars
client.list_runtimes()
client.run_flow(runtime_uuid="...", flow_name="sales")

MCP server

Start an MCP server for AI assistants (Claude Code, Claude Desktop, Cursor, etc.).

Stdio transport (default):

ascend-tools mcp

HTTP transport:

ascend-tools mcp --http --bind 127.0.0.1:8000

Claude Code setup

claude mcp add --transport stdio ascend-tools -- uvx --from ./ascend-tools ascend-tools mcp

The Ascend auth env vars are inherited from your shell. Verify with /mcp inside Claude Code. If Claude is launched without your shell env, add vars explicitly:

claude mcp add --transport stdio \
  -e ASCEND_SERVICE_ACCOUNT_ID="$ASCEND_SERVICE_ACCOUNT_ID" \
  -e ASCEND_SERVICE_ACCOUNT_KEY="$ASCEND_SERVICE_ACCOUNT_KEY" \
  -e ASCEND_INSTANCE_API_URL="$ASCEND_INSTANCE_API_URL" \
  ascend-tools -- uvx --from ./ascend-tools ascend-tools mcp

Codex CLI setup

codex mcp add ascend-tools -- uvx --from "$(pwd)" ascend-tools mcp

If Codex is launched without your shell env, add vars explicitly:

codex mcp add \
  --env "ASCEND_SERVICE_ACCOUNT_ID=$ASCEND_SERVICE_ACCOUNT_ID" \
  --env "ASCEND_SERVICE_ACCOUNT_KEY=$ASCEND_SERVICE_ACCOUNT_KEY" \
  --env "ASCEND_INSTANCE_API_URL=$ASCEND_INSTANCE_API_URL" \
  ascend-tools -- uvx --from "$(pwd)" ascend-tools mcp

Inspect the MCP server config:

codex mcp get ascend-tools --json

List all configured MCP servers:

codex mcp list

Remove the config:

codex mcp remove ascend-tools

The Ascend auth env vars are inherited from your shell when Codex launches the server. If you have stale MCP behavior after updating code, run this once to refresh the uvx cache:

uvx --refresh --from "$(pwd)" ascend-tools --version

Tools

Tool Description
list_runtimes List runtimes with optional filters
get_runtime Get a runtime by UUID
resume_runtime Resume a paused runtime
pause_runtime Pause a running runtime
list_flows List flows in a runtime
run_flow Trigger a flow run (supports resume, full_refresh, components, parameters, etc.)
list_flow_runs List flow runs with filters
get_flow_run Get a flow run by name

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

ascend_tools-0.1.0-cp313-abi3-manylinux_2_34_x86_64.whl (4.6 MB view details)

Uploaded CPython 3.13+manylinux: glibc 2.34+ x86-64

ascend_tools-0.1.0-cp313-abi3-manylinux_2_34_aarch64.whl (4.6 MB view details)

Uploaded CPython 3.13+manylinux: glibc 2.34+ ARM64

ascend_tools-0.1.0-cp313-abi3-macosx_11_0_arm64.whl (4.1 MB view details)

Uploaded CPython 3.13+macOS 11.0+ ARM64

ascend_tools-0.1.0-cp313-abi3-macosx_10_12_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.13+macOS 10.12+ x86-64

File details

Details for the file ascend_tools-0.1.0-cp313-abi3-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for ascend_tools-0.1.0-cp313-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 8edf0ee5712aaa393ae6ee9857b44f219c2292fc062ed04901725c0d149d1aed
MD5 bc21dadfddf36e7f704c9a692f7b3103
BLAKE2b-256 5bf634b3b2f7a122e0c4f020c3d45410ded06404b1da6b9e77968eee97031a83

See more details on using hashes here.

Provenance

The following attestation bundles were made for ascend_tools-0.1.0-cp313-abi3-manylinux_2_34_x86_64.whl:

Publisher: release-python.yml on ascend-io/ascend-tools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ascend_tools-0.1.0-cp313-abi3-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for ascend_tools-0.1.0-cp313-abi3-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 6ae229e969f283a21925a963f2a39d763f1668614489df94519c5bd2722cdd97
MD5 9fff76447268fff1c53c4ff9357758ce
BLAKE2b-256 09fb6de6ee21f33e8013b9f863c49be43b43e2891ffce8d87ae63bb9fd891edd

See more details on using hashes here.

Provenance

The following attestation bundles were made for ascend_tools-0.1.0-cp313-abi3-manylinux_2_34_aarch64.whl:

Publisher: release-python.yml on ascend-io/ascend-tools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ascend_tools-0.1.0-cp313-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ascend_tools-0.1.0-cp313-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 081eedf72d3fa37e567b64f1942252d26174ea34ca0edd7604c48b6ebbb85756
MD5 b8280a5711878701449fea8dd382008d
BLAKE2b-256 254d8a653244e5a93786dee1dea67f3a9486b79fc37b179c49b1a9066bba4031

See more details on using hashes here.

Provenance

The following attestation bundles were made for ascend_tools-0.1.0-cp313-abi3-macosx_11_0_arm64.whl:

Publisher: release-python.yml on ascend-io/ascend-tools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ascend_tools-0.1.0-cp313-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for ascend_tools-0.1.0-cp313-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3529b097aad5bbb3013402e20ec69b446b8d592272a2748f573e4d0746701c0a
MD5 f62f9cdbba5249042e25fb87dc363c38
BLAKE2b-256 1194c919d73a154c271c21c3bb3c4e007ff87dad0376f7c3b965ed38ad12ef53

See more details on using hashes here.

Provenance

The following attestation bundles were made for ascend_tools-0.1.0-cp313-abi3-macosx_10_12_x86_64.whl:

Publisher: release-python.yml on ascend-io/ascend-tools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page