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

Getting started

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

ascend-tools signup

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.2.0.tar.gz (94.7 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.2.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.2.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.2.0-cp311-abi3-macosx_11_0_arm64.whl (3.7 MB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

ascend_tools-1.2.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.2.0.tar.gz.

File metadata

  • Download URL: ascend_tools-1.2.0.tar.gz
  • Upload date:
  • Size: 94.7 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.2.0.tar.gz
Algorithm Hash digest
SHA256 5419e4b1534ccd341d2f42522473f974b0501888c6f2d5ad70c133909a1e224c
MD5 3d88d3b5b66b5a6f75836cef79c35599
BLAKE2b-256 24c8682191d04e2ed4235f4156260b262263c441c90689a3debbe61273160168

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ascend_tools-1.2.0-cp311-abi3-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 703eb66c23a7b3f4799bd20109670a2545d1ad3e0b320e674bfd9b7070304a3f
MD5 af7eb4679158a9db7d6002d76dff4d37
BLAKE2b-256 ebc6821f7e5bd160754cc612ff0c54f54445c6294f94bab1189af85db7e32999

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ascend_tools-1.2.0-cp311-abi3-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 91ad796217e3a5031f200f35504dec2b90abd1633d0d4f699f4c402c97496d49
MD5 2aa9633bea64acbb941e163d8a7be279
BLAKE2b-256 134ec98fd1af322b645568e8d190e319526a199497826dff2a3bcbcb8ac0a447

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ascend_tools-1.2.0-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 078a0ee9320abe026b0ad957c806a4060b2b97dbee7c3ba580ae9e82227c3294
MD5 0b113572d0e6390439a064e55bf440c9
BLAKE2b-256 98f5b4d05990cd462d1f172c4656bb65324d3e678efbf232747394b185018aa5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ascend_tools-1.2.0-cp311-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f7abf50a2abbc88ab5f2e36f7982845073be8eb305b318922010b64da0f557e7
MD5 c1fcdf12741e776d889d6be566b59caf
BLAKE2b-256 b48784a40f55f0bad9ab9ebfafb566bf783501c6552d4feccedda31bfbf2799f

See more details on using hashes here.

Provenance

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