arctl mcp publish
Publish an MCP server to the registry.
This command supports two modes:
- Package-based (installable artifact): Requires
--typeand--package-id. Use for servers distributed via npm, PyPI, or OCI. - Remote-only (already-deployed endpoint): Use
--remote-urlfor servers already running in the cloud. No--typeor--package-idneeded.
If no argument is provided and mcp.yaml exists in the current directory, metadata is read from it.
Usage
arctl mcp publish [server-name|local-path] [flags]Examples:
# Publish a remote MCP server hosted on Databricks (no package to install)
arctl mcp publish com.databricks/unity-catalog \
--remote-url https://my-workspace.cloud.databricks.com/mcp \
--version 1.0.0 \
--description "Databricks Unity Catalog MCP server"
# Publish from current folder (reads metadata from mcp.yaml)
arctl mcp publish \
--type oci \
--package-id docker.io/myorg/my-server:1.0.0
# Publish an OCI image with explicit server name
arctl mcp publish myorg/my-server \
--type oci \
--package-id docker.io/myorg/my-server:1.0.0 \
--version 1.0.0 \
--description "My MCP server"
# Publish an NPM package
arctl mcp publish myorg/filesystem-server \
--type npm \
--package-id @modelcontextprotocol/server-filesystem \
--version 1.0.0 \
--description "Filesystem MCP server" \
--arg /path/to/directory
# Publish a PyPI package
arctl mcp publish myorg/server \
--type pypi \
--package-id mcp-server-package \
--version 1.0.0 \
--description "Python MCP server"Command-specific flags
--arg stringArray Package argument (repeatable)
--description string Server description
--dry-run Show what would be done without actually doing it
--git string Git repository URL (GitHub, GitLab, Bitbucket)
--overwrite Overwrite if the version is already published
--package-id string Package identifier (e.g., docker.io/org/image:tag, @mcp/server)
--package-version string Package version (defaults to --version)
--remote-url string URL of an already-deployed remote MCP server (e.g. https://my-workspace.databricks.com/mcp)
--transport string Transport type: stdio or streamable-http (package mode); streamable-http or sse (--remote-url mode)
--transport-url string Transport URL for streamable-http transport
--type string Package registry type: npm, pypi, or oci
--version string Server versionGlobal flags
-v, --verbose: Enable verbose output.
-h, --help: Display help information for the command.