Skip to main content

Ascend CLI, SDK, MCP.

Project description

ascend-tools

CLI, SDK, and MCP server for the Ascend Instance web API.

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://<instance-name>.api.instance.ascend.io"

CLI

List workspaces:

ascend-tools workspace list

Get a workspace:

ascend-tools workspace get "My Workspace"

Pause / resume a workspace:

ascend-tools workspace pause "My Workspace"
ascend-tools workspace resume "My Workspace"

List and run flows:

ascend-tools flow list --workspace "My Workspace"
ascend-tools flow run <FLOW_NAME> --workspace "My Workspace"
ascend-tools flow run <FLOW_NAME> --workspace "My Workspace" --resume
ascend-tools flow run <FLOW_NAME> --workspace "My Workspace" --spec '{"full_refresh": true}'

Deployments work the same way:

ascend-tools deployment list
ascend-tools deployment get "My Deployment"
ascend-tools flow list --deployment "My Deployment"

JSON output:

ascend-tools -o json workspace list

Interactive TUI

Chat with Otto in a full-screen terminal interface:

ascend-tools otto tui
ascend-tools otto tui --workspace "My Workspace"

Vi keybindings by default. Type /help for commands, /emacs to switch modes. Alt+Enter for multi-line input. Up/Down for input history.

Python SDK

from ascend_tools import Client

client = Client()  # reads from env vars
client.list_workspaces()
client.run_flow(flow="sales", workspace="My Workspace")

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-dev -- uvx 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 ascend-tools-dev \
  -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" \
  -- uvx ascend-tools mcp

Codex CLI setup

codex mcp add ascend-tools-dev -- uvx 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-dev -- uvx ascend-tools mcp

Inspect the MCP server config:

codex mcp get ascend-tools-dev --json

List all configured MCP servers:

codex mcp list

Remove the config:

codex mcp remove ascend-tools-dev

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 ascend-tools --version

If Codex MCP startup fails with connection closed: initialize response, refresh once and re-add:

uvx --refresh ascend-tools --version

Tools

Tool Description
list_workspaces List workspaces with optional filters
get_workspace Get a workspace by title
create_workspace Create a new workspace
update_workspace Update a workspace
pause_workspace Pause a workspace
resume_workspace Resume a paused workspace
delete_workspace Delete a workspace
list_deployments List deployments with optional filters
get_deployment Get a deployment by title
create_deployment Create a new deployment
update_deployment Update a deployment
pause_deployment_automations Pause automations on a deployment
resume_deployment_automations Resume automations on a deployment
delete_deployment Delete a deployment
list_environments List environments
list_projects List projects
list_profiles List profiles for a workspace, deployment, or project+branch
list_flows List flows in a workspace or deployment
run_flow Trigger a flow run
list_flow_runs List flow runs with filters
get_flow_run Get a flow run by name
list_otto_providers List Otto providers and models
otto Chat with Otto AI assistant

Skills

Install reference skills for AI coding assistants (Claude Code, Codex, etc.):

ascend-tools skill install --target .claude/skills --all

Available skills: --cli (default), --python, --mcp, --all.

Project details


Download files

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

Source Distribution

ascend_tools-1.0.0.tar.gz (92.6 kB view details)

Uploaded Source

Built Distributions

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

ascend_tools-1.0.0-cp311-abi3-manylinux_2_39_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.39+ x86-64

ascend_tools-1.0.0-cp311-abi3-manylinux_2_39_aarch64.whl (3.9 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.39+ ARM64

ascend_tools-1.0.0-cp311-abi3-macosx_11_0_arm64.whl (3.7 MB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

ascend_tools-1.0.0-cp311-abi3-macosx_10_12_x86_64.whl (3.9 MB view details)

Uploaded CPython 3.11+macOS 10.12+ x86-64

File details

Details for the file ascend_tools-1.0.0.tar.gz.

File metadata

  • Download URL: ascend_tools-1.0.0.tar.gz
  • Upload date:
  • Size: 92.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ascend_tools-1.0.0.tar.gz
Algorithm Hash digest
SHA256 87e2e5768c4a0150149334b1581f4252ccc7b868b45ff7aaa8c9b064e9ae358b
MD5 548d66cfa6520c97966a8de675ff0a2b
BLAKE2b-256 15f3cbcdfb176be6da37c53118cd4f0fbd8977aa7c5c614dbd5823200d2a223a

See more details on using hashes here.

Provenance

The following attestation bundles were made for ascend_tools-1.0.0.tar.gz:

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-1.0.0-cp311-abi3-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for ascend_tools-1.0.0-cp311-abi3-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 2ecec77007ff8ebd2f44b0bce0d803e2eb21cf492e7b70e33774d54c8a452d36
MD5 43adff2547d0644de0071697e72ff22c
BLAKE2b-256 48bf3e3e91d5de2e326d8007b408e260bddf21a1da90cacc83e14416a4c4bf78

See more details on using hashes here.

Provenance

The following attestation bundles were made for ascend_tools-1.0.0-cp311-abi3-manylinux_2_39_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-1.0.0-cp311-abi3-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for ascend_tools-1.0.0-cp311-abi3-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 f6f6c779810e43f835c83661c2c71c9f290126509b73de55ad2de3ad9fd4abda
MD5 d54a60b18192ea405b860880d18c558f
BLAKE2b-256 b27a23f264dc51557ef6f71998fbd078c7ed10cddfc9776867b165e6c32b8e77

See more details on using hashes here.

Provenance

The following attestation bundles were made for ascend_tools-1.0.0-cp311-abi3-manylinux_2_39_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-1.0.0-cp311-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ascend_tools-1.0.0-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ca166fc51667adda6fe7fbf1b5d69b0c71b2b741981d543717df383c04e6dea9
MD5 d1aeda41613f7acab9837aa18b159fba
BLAKE2b-256 5d9c37bbb8e3fb16e4d4e57ad03f2eb0724fa92c94c5be940d791ad35eeb5d8e

See more details on using hashes here.

Provenance

The following attestation bundles were made for ascend_tools-1.0.0-cp311-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-1.0.0-cp311-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for ascend_tools-1.0.0-cp311-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 81635eb3e5abff7060049268f05bf0bf5636984dd5e249ca5cec4f0b5b9ffaa0
MD5 e6c1e72de16ab8369f577ccb217bc0f8
BLAKE2b-256 a9fdcce7f26a134e353c7dd58f58b5cadfc622e0992b382e34ada855ee81ec93

See more details on using hashes here.

Provenance

The following attestation bundles were made for ascend_tools-1.0.0-cp311-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