Skip to main content
A ToolSet is a collection of related tools bundled with a shared execution environment. Think of it as an npm package or Docker image — it groups tools together, defines their runtime dependencies, and supports semver-based versioning.

Creating a ToolSet

1

Navigate to Tool Sets

Inside your organization, click Tool Sets in the sidebar. This is the default page when entering an organization.
2

Click New Tool Set

Click the New Tool Set button. A creation form will appear with the following fields.
3

Fill in the Details

4

Create

Click Create Tool Set. You return to the Tool Sets list; open the new ToolSet to start adding tools.

ToolSet Detail Page

The detail page is the central hub for managing a ToolSet. It is organized into four tabs:

Tools

Lists all draft tools in the ToolSet. Add new tools, click a tool to open the code editor, and see at a glance whether there are unpublished changes. When MCP is enabled and a version is published, an MCP Connection card with the endpoint and a Claude Desktop config appears here.

Versions

View published version history, publish new versions, switch the active version per environment, and export a version as ZIP.

Packages

Manage sandbox dependencies. Add or remove npm packages (TypeScript) or pip packages (Python) that your tools need at runtime.

Environment

Manage environment profiles (e.g. default, staging) and the environment variables available to tools in each of them. Secret values are stored encrypted and can be revealed on demand.

Sandbox Configuration

Every ToolSet defines a sandbox environment that its tools execute in. The sandbox configuration is set at creation time:
  • Language — Python or TypeScript. This controls which runtime is used and what code templates are generated for new tools.
  • Provider — E2B (the API also accepts daytona, but the console only offers E2B). The sandbox provider handles container creation, code execution, and lifecycle management.
  • Timeout — how long a single execution may run. Defaults to 900 seconds; at most 3600 seconds.

Managing Packages

Navigate to the Packages tab to manage runtime dependencies.
1

Add a Package

Click Add (or Add Package when the list is empty) and enter the Package Name (e.g. axios for TypeScript, requests for Python). You can optionally specify a Version; leave it empty for the latest.
2

Remove a Package

Click the delete icon next to any listed package and confirm Remove to remove it from the sandbox configuration.
Package changes are reflected in the draft state. You must publish a new version for the updated packages to take effect in production API calls. For TypeScript ToolSets, zod and tsx are always installed in addition to your packages.

Managing Environment Variables

Navigate to the Environment tab to manage secrets and configuration values. Every ToolSet has a default environment profile. You can add more profiles (for example staging) with + Environment (Name and Slug); each profile has its own set of variables and its own active published version. Which profile an execution uses is decided by the API key’s environment (chosen when the key is created) or by the environmentSlug field of the run request. The default profile cannot be renamed or deleted.
1

Select an Environment

Pick the environment profile in the selector at the top of the tab.
2

Add a Variable

Click + Variable (or Add Variable when the list is empty). Enter a Key (uppercase letters, digits and underscores, e.g. SLACK_TOKEN), a Value, and optionally turn on Secret. Secret values are encrypted and masked in the UI.
3

Edit or Delete

Hover over a variable and click Edit to update its key, value or secret flag (leave the value empty to keep the existing one), or the delete icon to remove it.
4

Reveal Secrets

Click the eye icon next to a secret value to temporarily show it.
Environment variables are injected into the sandbox at execution time and are available via process.env (TypeScript) or os.environ (Python).

Versioning and Publishing

ToolSets use semantic versioning (e.g. 1.0.0, 1.1.0, 2.0.0). Each version is an immutable snapshot of all tools and their code at the time of publishing.
1

Make Changes

Edit tools, add new tools, or update packages in the draft state.
2

Publish a Version

Click New Version on the Versions tab (or Publish in the ToolSet header). Enter a version number (the console suggests the next patch version), choose the Active Environment, and add optional release notes. Click Publish.
3

Set the Active Version

The newly published version automatically becomes the active version for the environment you selected; API and MCP calls that target that environment use it. The Versions tab has an environment selector; switch the active version of the selected environment by hovering over any version in the list and clicking Set Active. Each version row also shows its run count for the last 30 days and an Export action that downloads that version as a ZIP.
Published versions are immutable. To make changes, edit the draft tools and publish a new version.

Visibility Settings

ToolSet visibility controls who can discover and execute your tools: To change visibility, use the Public switch in the ToolSet header (or the Visibility field on the settings page). Changing to Public opens a Make Tool Set Public confirmation because it makes tool schemas visible on the Explore page (source code is never shared).

MCP Server

When the MCP switch in the ToolSet header is on and at least one version has been published, the Tools tab shows an MCP Connection card with the endpoint URL, a copyable Claude Desktop configuration (which bridges the HTTP endpoint through supergateway), and a Connect with JinbaApp button. AI agents and LLM clients that support the Model Context Protocol can connect to this endpoint to discover and call the tools in the ToolSet. Toggle MCP on or off from the ToolSet header at any time.

Import and Export

The ToolSet detail page supports zip-based import and export. The archive layout, the toolset.yml / tool.yml fields and the error messages are documented in Import and Export.
  • Export — Downloads {slug}.zip containing toolset.yml (name, description, language, packages, environment variables — secret values are included in their encrypted form, not as plaintext, and are re-imported as-is) and one folder per tool with tool.yml and main.py / main.ts. Useful for backup or migration. Individual published versions can be exported from the Versions tab.
  • Import — Select a folder or a .zip archive with the same layout to bulk-import tools into the ToolSet. Input/output schemas are extracted from the code on import. Turn on Overwrite existing tools with same slug to update tools that already exist.

Editing ToolSet Settings

Click the settings icon in the ToolSet header to navigate to the settings page where you can:
  • Change the Name and Description.
  • Upload or remove the ToolSet Icon.
  • Change the Visibility setting.
The Language, Provider, and Slug are read-only after creation. The MCP switch lives in the ToolSet header, not on the settings page.

Deleting a ToolSet

Click the delete icon in the ToolSet header. A Delete Tool Set confirmation dialog will appear warning that all tools and versions will be permanently deleted. This action cannot be undone.