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.3.0.tar.gz (107.4 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.3.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.3.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.3.0-cp311-abi3-macosx_11_0_arm64.whl (3.7 MB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

ascend_tools-1.3.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.3.0.tar.gz.

File metadata

  • Download URL: ascend_tools-1.3.0.tar.gz
  • Upload date:
  • Size: 107.4 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.3.0.tar.gz
Algorithm Hash digest
SHA256 a3e64cc5c1977de0d50d6d178f092f6299cd80ae73e2bde947778e3a1abfeed4
MD5 ff9c6db6fe50ea36050e3aa148d60e4b
BLAKE2b-256 b50b33a38b10e3df6ec9f369bcbf1b068127fea76c567e820a815bfd2bdc6d5c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ascend_tools-1.3.0-cp311-abi3-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 ca8238bf6d31451a3f8be31f4a34c1d257d42d34ea887131abce80fb056fab34
MD5 56379e159cd142e7ebc309c510a47c67
BLAKE2b-256 e605d701aa20e5a425bdcf3a3577a975fa686fa84f74158cb99b8aa3da98f6fe

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ascend_tools-1.3.0-cp311-abi3-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 228405e81ceaa0ce9613b065b9d880bce0ae9b868b519dfa379e83d5789df3c4
MD5 66ba460370ab1b05481802a02d87ea2e
BLAKE2b-256 4c9d1406dc948428a79c346672b588c5b5fe993c4bda8b80585b1dc6402cd01b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ascend_tools-1.3.0-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1524b3b35850bcfbaadb6e8363a64176ce459c31f3a5fe63bda25e2458b0c741
MD5 97e1490ecc07fb8e8fba1e01049dddd3
BLAKE2b-256 c956e13c50f16f0a3b25247c19aa668938a9d96de47b3e48ad4182214fff85c5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ascend_tools-1.3.0-cp311-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d037eb68cb3f12da9f4844f35e8af35024b3653166a941047263f8ec994d73ae
MD5 9c941269b00edec4bca3a6383571400c
BLAKE2b-256 e7d9305725993eefaa88ab08706b3d68bb72014f437c7e254efe664aaf2c2ff9

See more details on using hashes here.

Provenance

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