ascend-tools
TypeScript icon, indicating that this package has built-in type declarations

1.6.0 • Public • Published

ascend-tools

CLI, SDK, and MCP server for the Ascend Instance web API.

Rust core with napi-rs bindings for Node.js. Exposes the Client class and the full ascend-tools CLI.

Install

npm install ascend-tools

CLI

npx ascend-tools workspace list
npx ascend-tools flow run "My Flow" --workspace "My Workspace"
npx ascend-tools otto tui

Or install globally:

npm install -g ascend-tools
ascend-tools workspace list

SDK

import { Client } from "ascend-tools";

const client = new Client(); // reads from env vars
const workspaces = await client.listWorkspaces();
const run = await client.runFlow("sales", "My Workspace");

All methods are async and return plain objects/arrays. See the demo app for a full example.

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"

Or pass them directly:

const client = new Client(
  "asc-sa-...",                      // serviceAccountId
  "...",                              // serviceAccountKey
  "https://api.instance.ascend.io",   // instanceApiUrl
);

MCP server

Start an MCP server for AI assistants:

npx ascend-tools mcp

Build from source

npm install
npm run build       # release
npm run build:debug # debug
npm test

Requires Rust toolchain and @napi-rs/cli.

Targets

Platform Architecture
macOS x86_64, aarch64
Linux x86_64, aarch64

See the full documentation for more details.