Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/superradcompany/tool-cli/llms.txt

Use this file to discover all available pages before exploring further.

Pack and upload a tool to the tool.store registry. Validation runs automatically before publishing. You must be logged in with tool login before publishing, or pass an API token via --token.

Synopsis

tool publish [PATH] [OPTIONS]

Options

path
string
Path to the tool directory to publish. Defaults to the current directory.
--dry-run
boolean
Validate and pack the tool without uploading anything. Use this to confirm everything looks correct before a real publish.
--strict
boolean
Treat validation warnings as errors. The publish aborts if any warnings are found.
--multi-platform
boolean
Publish a separate bundle for each platform defined in platform_overrides, plus a universal bundle. Can be combined with the platform flags below to supply pre-built bundles instead of building them locally.

Pre-built platform bundles

When you already have platform-specific bundles (e.g., from a CI matrix build), pass them directly instead of having tool-cli build them:
--darwin-arm64
string
Path to a pre-built bundle for Apple Silicon Macs (darwin-arm64).
--darwin-x64
string
Path to a pre-built bundle for Intel Macs (darwin-x64).
--linux-x64
string
Path to a pre-built bundle for Linux x86-64 (linux-x64).
--linux-arm64
string
Path to a pre-built bundle for Linux ARM64 (linux-arm64).
--win32-x64
string
Path to a pre-built bundle for Windows x64 (win32-x64).
--win32-arm64
string
Path to a pre-built bundle for Windows ARM64 (win32-arm64).
--universal
string
Path to a pre-built universal bundle (covers all platforms).

Authentication

--token
string
API token to use for this publish. If not provided, tool-cli uses the credentials stored by tool login.

Examples

# Publish the current directory
tool publish

# Publish a specific directory
tool publish ./my-tool

# Preview without uploading
tool publish --dry-run

# Publish with an explicit token
tool publish --token "your-token"

# Publish platform-specific bundles (built locally)
tool publish --multi-platform

# Publish with a pre-built Apple Silicon bundle
tool publish --multi-platform --darwin-arm64 ./dist/mac.mcpb

# Publish with a pre-built universal bundle
tool publish --multi-platform --universal ./dist/all.mcpb

Authentication

Log in once before publishing:
tool login
For CI/CD pipelines, pass the token directly to avoid storing credentials on the runner:
tool publish --token "$TOOL_STORE_TOKEN"
Never hard-code your API token in scripts or commit it to version control. Use a secret manager or environment variable (e.g., a GitHub Actions secret) and reference it at runtime.

Multi-platform publishing

If your tool has platform-specific dependencies — native binaries, Node.js native addons, or compiled Python extensions — publish a separate bundle for each target platform. Users automatically receive the bundle that matches their system. The typical workflow in CI is to build on each platform runner and then publish all bundles in a final step:
tool publish --multi-platform \
  --darwin-arm64  ./dist/my-tool-darwin-arm64.mcpb \
  --darwin-x64    ./dist/my-tool-darwin-x64.mcpb \
  --linux-arm64   ./dist/my-tool-linux-arm64.mcpb \
  --linux-x64     ./dist/my-tool-linux-x64.mcpb \
  --win32-arm64   ./dist/my-tool-win32-arm64.mcpb \
  --win32-x64     ./dist/my-tool-win32-x64.mcpb
Reference-mode .mcpbx bundles that point to remote servers or external commands like npx and uvx do not need multi-platform publishing — they contain no bundled binaries.
Use zerocore-ai/tool-action to automate multi-platform builds in GitHub Actions.

Build docs developers (and LLMs) love