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.4.0.tar.gz (112.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.4.0-cp311-abi3-manylinux_2_39_x86_64.whl (4.2 MB view details)

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

ascend_tools-1.4.0-cp311-abi3-manylinux_2_39_aarch64.whl (4.0 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.39+ ARM64

ascend_tools-1.4.0-cp311-abi3-macosx_11_0_arm64.whl (3.8 MB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

ascend_tools-1.4.0-cp311-abi3-macosx_10_12_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.11+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: ascend_tools-1.4.0.tar.gz
  • Upload date:
  • Size: 112.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.4.0.tar.gz
Algorithm Hash digest
SHA256 a659f1892f5afec325a473170a4e1f94933df51db6ad910ab4f500e1be877648
MD5 1f5c69d552ac50f0695e87d152253350
BLAKE2b-256 8759700673e4e3a0cf3c1129fe48894f8108cee82097efc3128f008d4f04b2b7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ascend_tools-1.4.0-cp311-abi3-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 3ddda1233d18d3ab6ed3764ba52822c68e07ce718326c0171793685efe75f668
MD5 27a95bc01b71a775af73d1da2c1785e6
BLAKE2b-256 cb8f48d3fa7c2fa65b7ae683d84a7e64cad5ee0a4a3a7026bd13660305984e2f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ascend_tools-1.4.0-cp311-abi3-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 f15ec34e0cf7a4cfb317ef71f19bc494ad15fb3c944790cbb02afa2e24c76d90
MD5 2580204c28f06ed9d19a9eb06215c620
BLAKE2b-256 180b8205a4e02f07fadfc2b94e9602a7fa5d6cb5d249e4bbcde37cc1ee80326b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ascend_tools-1.4.0-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cdbfae903a0ad48bb37a769fc71df44bc5289e046449da7837687bd0f37102d0
MD5 d36593edfe7c5783c6ec1594eb8ecfa0
BLAKE2b-256 e5c8ed1139cb3ec31230b6e332fd35fd9e10eac00e599557497d5bd0c76eb388

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ascend_tools-1.4.0-cp311-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d01ff9a8c6aa71d877dd7ecad1078ac048f4d553b7dfcd06949d8c4690fc5f47
MD5 bb4ef106ee51e21c92496d681ea0e724
BLAKE2b-256 184e07b98a983fb7fd03748009d33077f2a98a18b504ee904adf1a5efdc7ad5a

See more details on using hashes here.

Provenance

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