Skip to main content

Ascend CLI, SDK, MCP.

Project description

ascend-tools

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

PyPI npm crates.io CI License: MIT

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

Install via PyPI, npm, crates.io, GitHub releases, or source.

Python:

uv tool install ascend-tools

Node.js:

npm install -g ascend-tools

Rust:

cargo install ascend-tools-cli

Or run directly without installing via uvx:

uvx ascend-tools workspace list

Or npx:

npx ascend-tools workspace list

Interactive TUI

Run Otto in an interactive terminal user interface (TUI):

ascend-tools otto tui

Vi keybindings by default. Type /help for commands, /emacs to switch modes.

Python SDK

Add ascend-tools to your Python project:

uv add ascend-tools

Then use the Client class:

from ascend_tools import Client

client = Client()
client.list_workspaces()
client.run_flow(flow="My Flow", workspace="My Workspace")

JavaScript SDK

Add ascend-tools to your Node.js project:

npm add ascend-tools

Then use the Client class:

import { Client } from "ascend-tools";

const client = new Client();
const workspaces = await client.listWorkspaces();
await client.runFlow("My Flow", "My Workspace");

Rust SDK

Add ascend-tools-core to your Rust project:

cargo add ascend-tools-core

Then use the AscendClient struct:

use ascend_tools::client::AscendClient;
use ascend_tools::config::Config;

let client = AscendClient::new(Config::from_env()?)?;
let workspaces = client.list_workspaces(Default::default())?;

MCP server

Connect AI assistants (Claude Code, Codex CLI, Cursor, etc.) to Ascend via uvx:

claude mcp add --transport stdio ascend-tools-dev -- uvx ascend-tools mcp

Or npx:

claude mcp add --transport stdio ascend-tools-dev -- npx ascend-tools mcp

See MCP server guide for Codex CLI setup and the full tools reference.

Skills

Install reference skills for AI coding assistants:

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

Available flags: --cli (default), --python, --javascript, --rust, --mcp, --all.

Development

bin/setup
bin/check
bin/build
bin/format

See the development guide for the full contributor setup.

Documentation

  • Quickstart: create a service account, install, and run your first flow
  • Installation: all install methods
  • CLI: all commands with examples
  • Python SDK: Client methods, return types, error handling
  • JavaScript SDK: async Client methods, streaming, TypeScript types
  • Rust SDK: typed client with structs and error handling
  • MCP server: set up AI assistants with Ascend tools
  • Development: contributor setup, architecture, release process

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.1.0.tar.gz (94.2 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.1.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.1.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.1.0-cp311-abi3-macosx_11_0_arm64.whl (3.7 MB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

ascend_tools-1.1.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.1.0.tar.gz.

File metadata

  • Download URL: ascend_tools-1.1.0.tar.gz
  • Upload date:
  • Size: 94.2 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.1.0.tar.gz
Algorithm Hash digest
SHA256 b0ec1022b17869c8d4353c3502c28bb05edf4469966c2e35647ad72d9a9adbf5
MD5 e7d5e4f59b2d77c7874fda466103038b
BLAKE2b-256 56921e7bd373e7fb07ac88796f44fcaeb8a13ccda534e9a01edad6f78512b65d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ascend_tools-1.1.0-cp311-abi3-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 eea1b717abec327bcb5e9877c436f9396e566582910b86fd214a944ff738a0eb
MD5 3c646639e9b8b15aab0876431a4fa893
BLAKE2b-256 1ce4a2adb8da2f095b945861bf96994c9fead1e9788f024bff8aa6b56ac59bc7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ascend_tools-1.1.0-cp311-abi3-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 df502d7ab4bc5dfde8bd5566b68e9963a40c99feae06596353d29098642c382b
MD5 7b11ee8f8ef92f33a7a36cd31eb60d19
BLAKE2b-256 44f1166e9a96e66841b6e035fa98c3f565f2409f1a09fae278a15beb40c03aff

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ascend_tools-1.1.0-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a517f4fc3cac561840c8ad4556639993004a8171057dc22185d0702f726e3296
MD5 f43507bb30b487c6bb6884e105ff3378
BLAKE2b-256 dfa246f681078276cfb4f11336ce05d973d914f926050fdc598a591699b165c8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ascend_tools-1.1.0-cp311-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c0483790e281c0f58ad7cb6dfa9684919381da2c46862bf0c96e681092575eb5
MD5 9e572ab495875a36d96e71cc7be038bc
BLAKE2b-256 b38b1d5a212a756af0be3334884fb8a9cde374b28ed75ddc80723cce76b2b8ea

See more details on using hashes here.

Provenance

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