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.5.0.tar.gz (121.0 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.5.0-cp311-abi3-manylinux_2_39_x86_64.whl (5.2 MB view details)

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

ascend_tools-1.5.0-cp311-abi3-manylinux_2_39_aarch64.whl (5.0 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.39+ ARM64

ascend_tools-1.5.0-cp311-abi3-macosx_11_0_arm64.whl (4.7 MB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

ascend_tools-1.5.0-cp311-abi3-macosx_10_12_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.11+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: ascend_tools-1.5.0.tar.gz
  • Upload date:
  • Size: 121.0 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.5.0.tar.gz
Algorithm Hash digest
SHA256 a3cd7ba7a06f807a15adde4f9d8682e587444480efeb23920706b02e897fdca1
MD5 6f0ce6a1f083120d364741805cab1535
BLAKE2b-256 d406af00939650e3bec13956c8168b22488cc9e59534da13fb50e836d68a48f1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ascend_tools-1.5.0-cp311-abi3-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 f77545f0e88cb6a576c5ffe1f2e5a88223f8fdf71e5745938905f37a8a9f1efa
MD5 b6ae75038b181f4ab3540aec69a0a558
BLAKE2b-256 8fd9f739fafa9443125a70370ca9e04e0091607e61f0106b28df82c9c3aa79cb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ascend_tools-1.5.0-cp311-abi3-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 7a208701fe4130e8b739c3a764771f1db51f9e6521a685c2d9a56f1d7e00f0f7
MD5 000536e524869af686b3c46e19b9a969
BLAKE2b-256 a2c882f0686ebdf0e0bfa96b0c22a62b512834ee6a7f177eccbcb32acf3bcef8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ascend_tools-1.5.0-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 41a124a5a87d9a4ae302aff99ce04839f0d904a70730169bc75c852db796867b
MD5 eda66fe556d282a4b443103ae1d17061
BLAKE2b-256 8c7436262e9253e004a18a64b9256b000055b780f2998d7dbe1ea12c174b3d39

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ascend_tools-1.5.0-cp311-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6f3e96e20c98c5608d8a3a444eeb9c85de0f1c08ae13f2d7cd3554642812900c
MD5 cdac62da720ca69c9566034d6b1f438f
BLAKE2b-256 b40233a77cc2807c04510883a04562d313d12f3ccc50e9de65ae1388a64d04df

See more details on using hashes here.

Provenance

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