Skip to main content
Glama
README.md
[![Build Status](https://github.com/transloadit/node-sdk/actions/workflows/ci.yml/badge.svg)](https://github.com/transloadit/node-sdk/actions/workflows/ci.yml)
[![Coverage](https://codecov.io/gh/transloadit/node-sdk/branch/main/graph/badge.svg)](https://codecov.io/gh/transloadit/node-sdk)

<a href="https://transloadit.com/?utm_source=github&utm_medium=referral&utm_campaign=sdks&utm_content=node_sdk">
  <picture>
    <source media="(prefers-color-scheme: dark)" srcset="https://assets.transloadit.com/assets/images/sponsorships/logo-dark.svg">
    <source media="(prefers-color-scheme: light)" srcset="https://assets.transloadit.com/assets/images/sponsorships/logo-default.svg">
    <img src="https://assets.transloadit.com/assets/images/sponsorships/logo-default.svg" alt="Transloadit Logo">
  </picture>
</a>

# Transloadit JavaScript/TypeScript SDKs

Monorepo for Transloadit SDKs, shared packages, and the MCP server.

[![Transloadit Server MCP server](https://glama.ai/mcp/servers/transloadit/node-sdk/badges/card.svg)](https://glama.ai/mcp/servers/transloadit/node-sdk)

## Packages

- `@transloadit/img` — Private extraction candidate for responsive Smart CDN images. See
  `packages/img/README.md`.
- `@transloadit/node` — Node.js SDK + CLI. See `packages/node/README.md`.
- `transloadit` — Stable unscoped package (built from `@transloadit/node`).
- `@transloadit/mcp-server` — MCP server (Streamable HTTP + stdio). See `packages/mcp-server/README.md`.
- `@transloadit/types` — Shared TypeScript types.
- `@transloadit/utils` — Shared utilities.
- `@transloadit/zod` — Zod schemas for Transloadit APIs.

## Quick start

### Node SDK

```ts
import { Transloadit } from '@transloadit/node'

const client = new Transloadit({
  authKey: process.env.TRANSLOADIT_KEY as string,
  authSecret: process.env.TRANSLOADIT_SECRET as string,
})

const result = await client.createAssembly({
  params: {
    steps: {
      ':original': { robot: '/upload/handle' },
    },
  },
  files: { file: '/path/to/file.jpg' },
  waitForCompletion: true,
})
```

### MCP server

See `packages/mcp-server/README.md` for MCP setup, auth, and tool docs.

## Development

- Install: `corepack yarn`
- Checks + unit tests: `corepack yarn check`
- Node SDK unit tests: `corepack yarn workspace @transloadit/node test:unit`

## Repo notes

- Docs live under `docs/` (non-MCP).
- The `transloadit` package is prepared via `scripts/prepare-transloadit.ts`.
- PR checks enforce that tracked files in `packages/transloadit/` stay in sync with `@transloadit/node`.
- Tarball fingerprint parity remains available as a manual release/debug tool via `corepack yarn parity:transloadit`.

TDQS

B3.4/5.0

Scored across 7 tools

Disambiguation5/5

Each tool serves a distinct purpose: help/lint/creation/status/wait/list operations are clearly separated. Even similar operations like get_status and wait_for_assembly are distinct (one is immediate, one is a polling loop).

Naming Consistency5/5

All tools follow the same transloadit_verb_noun pattern. The verbs (get, lint, create, list, wait) are consistent and clear, and the nouns (robot_help, assembly_instructions, assembly, template) are precise.

Tool Count5/5

With 7 tools, the server is well-scoped for a domain focused on assembly creation and monitoring. There are no redundant or filler tools, and the count is appropriate for the functionality offered.

Completeness3/5

The set covers assembly creation, status checking, waiting, linting, and listing templates/robots. However, it lacks tools for common operations like cancelling an assembly, listing assemblies, or updating/deleting templates, which are typical lifecycle operations in such a domain.

Maintenance

ActivityActive
ResponsivenessSlow