Skip to main content

Ascend CLI, SDK, MCP.

Project description

ascend-tools

GitHub Release PyPI npm crates.io CI License: MIT

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

Getting started

Don't have an Ascend Instance yet? Sign up:

ascend-tools signup

Authentication

To authenticate, you need to create a Service Account and set three environment variables including the secret key (Settings > Users > Service Accounts > 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 GitHub releases, PyPI, npm, crates.io, or source.

Python/uv:

uv tool install ascend-tools

Node.js/npm:

npm install -g ascend-tools

Rust/cargo:

cargo install ascend-tools-cli

Without "installing", you can try ascend-tools via uvx:

uvx ascend-tools workspace list

Or npx:

npx ascend-tools workspace list

See docs for more details.

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.

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 docs for more details.

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.

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")

See docs for more details.

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");

See docs for more details.

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())?;

See docs for more details.

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

License

MIT License

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.6.0.tar.gz (128.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.6.0-cp311-abi3-manylinux_2_39_x86_64.whl (5.4 MB view details)

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

ascend_tools-1.6.0-cp311-abi3-manylinux_2_39_aarch64.whl (5.1 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.39+ ARM64

ascend_tools-1.6.0-cp311-abi3-macosx_11_0_arm64.whl (4.8 MB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

ascend_tools-1.6.0-cp311-abi3-macosx_10_12_x86_64.whl (5.1 MB view details)

Uploaded CPython 3.11+macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for ascend_tools-1.6.0.tar.gz
Algorithm Hash digest
SHA256 59ba9848decc15d2627dbd35d2374925075dea04ebe5a5a8d386de81b09ef585
MD5 486aa85cb56718da18bc330895a3ebad
BLAKE2b-256 e6cf153f7c6aa87fbcbe21cd0b8de8461a9abf7c48f2f788073df43c0bd4a783

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ascend_tools-1.6.0-cp311-abi3-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 0e13af7cd3a2398ce7c3ff71aadcf16f78899d163a72b499d990858d56f0d9bd
MD5 2ee79566a6257353bbe2a600856c7057
BLAKE2b-256 24eaea432beb4494bcd3e0d4a837a1a24bfefad8c3402792147d73574cdbba7c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ascend_tools-1.6.0-cp311-abi3-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 af5ba3d765608282f96ea5d16cb8182fbadb6b0f060761adf721f49b50622060
MD5 aaaa5f2f9a037e14d819912287715cbf
BLAKE2b-256 b12250425349c8b1106948d974f61c3c65f8ac9a2de120768a312bc47933a591

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ascend_tools-1.6.0-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 44870c03d2bab649afbe2a40d9a1d2ef4a4efae61f2039517b23ed6fd396e361
MD5 d80cc5f037ff63eef889ad1a5e254463
BLAKE2b-256 5545fafcb08a756d9393931c40095c879c6a3929c0cff4da73c0fa47d1c4deaa

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ascend_tools-1.6.0-cp311-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b88f3e029bcd613f379908443330161659a941011db6c6b555899cb11dab77e7
MD5 3c5409208d6789f895a8da7388d11e1e
BLAKE2b-256 21cdff6d7590d18f77ba71c39a95acf0390f085c0ba52478342366a1c0310cf2

See more details on using hashes here.

Provenance

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