Ascend CLI, SDK, MCP.
Project description
ascend-tools
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a3e64cc5c1977de0d50d6d178f092f6299cd80ae73e2bde947778e3a1abfeed4
|
|
| MD5 |
ff9c6db6fe50ea36050e3aa148d60e4b
|
|
| BLAKE2b-256 |
b50b33a38b10e3df6ec9f369bcbf1b068127fea76c567e820a815bfd2bdc6d5c
|
Provenance
The following attestation bundles were made for ascend_tools-1.3.0.tar.gz:
Publisher:
release-python.yml on ascend-io/ascend-tools
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ascend_tools-1.3.0.tar.gz -
Subject digest:
a3e64cc5c1977de0d50d6d178f092f6299cd80ae73e2bde947778e3a1abfeed4 - Sigstore transparency entry: 1164576575
- Sigstore integration time:
-
Permalink:
ascend-io/ascend-tools@c572834760e36403e1e9700f42daef3684e0be5f -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/ascend-io
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-python.yml@c572834760e36403e1e9700f42daef3684e0be5f -
Trigger Event:
push
-
Statement type:
File details
Details for the file ascend_tools-1.3.0-cp311-abi3-manylinux_2_39_x86_64.whl.
File metadata
- Download URL: ascend_tools-1.3.0-cp311-abi3-manylinux_2_39_x86_64.whl
- Upload date:
- Size: 4.1 MB
- Tags: CPython 3.11+, manylinux: glibc 2.39+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ca8238bf6d31451a3f8be31f4a34c1d257d42d34ea887131abce80fb056fab34
|
|
| MD5 |
56379e159cd142e7ebc309c510a47c67
|
|
| BLAKE2b-256 |
e605d701aa20e5a425bdcf3a3577a975fa686fa84f74158cb99b8aa3da98f6fe
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ascend_tools-1.3.0-cp311-abi3-manylinux_2_39_x86_64.whl -
Subject digest:
ca8238bf6d31451a3f8be31f4a34c1d257d42d34ea887131abce80fb056fab34 - Sigstore transparency entry: 1164576695
- Sigstore integration time:
-
Permalink:
ascend-io/ascend-tools@c572834760e36403e1e9700f42daef3684e0be5f -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/ascend-io
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-python.yml@c572834760e36403e1e9700f42daef3684e0be5f -
Trigger Event:
push
-
Statement type:
File details
Details for the file ascend_tools-1.3.0-cp311-abi3-manylinux_2_39_aarch64.whl.
File metadata
- Download URL: ascend_tools-1.3.0-cp311-abi3-manylinux_2_39_aarch64.whl
- Upload date:
- Size: 3.9 MB
- Tags: CPython 3.11+, manylinux: glibc 2.39+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
228405e81ceaa0ce9613b065b9d880bce0ae9b868b519dfa379e83d5789df3c4
|
|
| MD5 |
66ba460370ab1b05481802a02d87ea2e
|
|
| BLAKE2b-256 |
4c9d1406dc948428a79c346672b588c5b5fe993c4bda8b80585b1dc6402cd01b
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ascend_tools-1.3.0-cp311-abi3-manylinux_2_39_aarch64.whl -
Subject digest:
228405e81ceaa0ce9613b065b9d880bce0ae9b868b519dfa379e83d5789df3c4 - Sigstore transparency entry: 1164576783
- Sigstore integration time:
-
Permalink:
ascend-io/ascend-tools@c572834760e36403e1e9700f42daef3684e0be5f -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/ascend-io
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-python.yml@c572834760e36403e1e9700f42daef3684e0be5f -
Trigger Event:
push
-
Statement type:
File details
Details for the file ascend_tools-1.3.0-cp311-abi3-macosx_11_0_arm64.whl.
File metadata
- Download URL: ascend_tools-1.3.0-cp311-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 3.7 MB
- Tags: CPython 3.11+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1524b3b35850bcfbaadb6e8363a64176ce459c31f3a5fe63bda25e2458b0c741
|
|
| MD5 |
97e1490ecc07fb8e8fba1e01049dddd3
|
|
| BLAKE2b-256 |
c956e13c50f16f0a3b25247c19aa668938a9d96de47b3e48ad4182214fff85c5
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ascend_tools-1.3.0-cp311-abi3-macosx_11_0_arm64.whl -
Subject digest:
1524b3b35850bcfbaadb6e8363a64176ce459c31f3a5fe63bda25e2458b0c741 - Sigstore transparency entry: 1164576747
- Sigstore integration time:
-
Permalink:
ascend-io/ascend-tools@c572834760e36403e1e9700f42daef3684e0be5f -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/ascend-io
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-python.yml@c572834760e36403e1e9700f42daef3684e0be5f -
Trigger Event:
push
-
Statement type:
File details
Details for the file ascend_tools-1.3.0-cp311-abi3-macosx_10_12_x86_64.whl.
File metadata
- Download URL: ascend_tools-1.3.0-cp311-abi3-macosx_10_12_x86_64.whl
- Upload date:
- Size: 3.9 MB
- Tags: CPython 3.11+, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d037eb68cb3f12da9f4844f35e8af35024b3653166a941047263f8ec994d73ae
|
|
| MD5 |
9c941269b00edec4bca3a6383571400c
|
|
| BLAKE2b-256 |
e7d9305725993eefaa88ab08706b3d68bb72014f437c7e254efe664aaf2c2ff9
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ascend_tools-1.3.0-cp311-abi3-macosx_10_12_x86_64.whl -
Subject digest:
d037eb68cb3f12da9f4844f35e8af35024b3653166a941047263f8ec994d73ae - Sigstore transparency entry: 1164576647
- Sigstore integration time:
-
Permalink:
ascend-io/ascend-tools@c572834760e36403e1e9700f42daef3684e0be5f -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/ascend-io
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-python.yml@c572834760e36403e1e9700f42daef3684e0be5f -
Trigger Event:
push
-
Statement type: