May 13, 2025
8 min

Introducing snctl 1.0: Your One-Stop CLI for All StreamNative Interactions

Neng Lu
Director of Platform, StreamNative
Rui Fu
Staff Software Engineer, StreamNative

We are thrilled to announce the v1.0 version of snctl, a unified command-line interface (CLI) designed to simplify and streamline your interactions with Apache Pulsar, Apache Kafka, and the entire StreamNative ecosystem. Whether you’re working with Pulsar protocol, Kafka protocol (including Ursa clusters), or the comprehensive range of StreamNative Cloud resources, snctl consolidates it all into one convenient place.

The Journey: From Fragmented Tools to a Unified Experience

Historically, users of StreamNative have relied on multiple tools to manage different parts of their data infrastructure:

  • pulsarctl or pulsar-admin to interact with Pulsar clusters
  • Kafka CLI to manage Kafka-enabled clusters (including Ursa-engine clusters)
  • kcctl to work with Universal Connect (Kafka Connect connectors)
  • snctl for managing StreamNative Cloud resources (instances/clusters, infrastructure pools, service accounts, users, etc.)

While each individual tool served its purpose, juggling multiple CLIs meant juggling multiple configuration files, authentication flows, and usage patterns. Recognizing this fragmentation, we launched an initiative to consolidate these disparate tools into a unified experience – one that also aligns with our broader initiative for consistent workflows across CLI, Infrastructure-as-Code, and Kubernetes operators.

One CLI to Rule Them All: Introducing the new snctl

Snctl v1.0 is the product of that consolidation effort, bringing all the functionalities of the separate CLIs under one command:

  • Pulsar Admin/Client Operations: Full support for Apache Pulsar management and data operations, including:
    - Complete pulsarctl command set for comprehensive cluster administration by snctl pulsar admin sub-commands
    - Native Pulsar client capabilities for producing and consuming messages
    - Seamless management of topics, subscriptions, schemas, and all Pulsar resources
  • Kafka Admin/Client Operations: Comprehensive Kafka protocol support on StreamNative Cloud:
    - Complete administration for topics, partitions, and consumer groups
    - Integrated management of Schema Registry and Kafka Connect
    - Built-in client capabilities for producing and consuming messages
    - Unified experience across all Kafka-compatible endpoints
  • StreamNative Cloud Resource Management: Create and manage instances/clusters, configure infrastructure pools, handle service accounts and users, and more.

By consolidating these capabilities into a single CLI, snctl eliminates the headache of constantly switching contexts and tools. One configuration, one workflow, and one command-line tool to rule them all.

See It in Action

Curious to learn more about how this consolidated CLI simplifies operations? Watch our demo video to see snctl in action. You’ll get a walkthrough of its core commands, see how easy it is to manage different resources, and discover advanced features that help you automate complex tasks.

Getting Started with snctl

Below is a quick start guide to downloading and installing snctl, followed by examples for both StreamNative Cloud and self-managed environments. For full details, check out our documentation.

1. Download and Install

You can use the curl command or Homebrew to install snctl on a Mac. For installing it on Linux or Windows, please refer to our documentation.

Using curl command:

Using Homebrew:

Upgrading to v1.x:

When upgrading from snctl v0.x to v1.x, please run snctl config init again to ensure all newly introduced configuration settings are applied to your local configuration file.

2. Use snctl with StreamNative Cloud

Getting started with StreamNative Cloud is now easier than ever with snctl. Follow these steps to connect and start managing your resources:

  1. Authentication - Two flexible options to secure your connection:
    - User Authentication
    : snctl auth login
    This interactive flow opens your browser for a secure login experience.
    - Service Account Authentication: snctl auth activate-service-account --key-file /path/to/credentials.json
    Perfect for CI/CD pipelines and automated workflows. Please visit https://docs.streamnative.io/docs/service-accounts for details about the Service Account.
  2. Organization Selection - Define your working context:
    <br />
    - Set a default organization: snctl config set --organization &lt;organization_id>
    <br />
    -
    Or specify per command: snctl -O &lt;organization_id> &lt;command>
  3. Cluster Context - Seamlessly switch between your Pulsar clusters:
    <br />
    - Interactive selection: snctl context use
    Brings up a user-friendly menu to browse and select your available clusters.
    <br />
    - Direct specification:
    snctl context use --pulsar-instance &lt;instance> --pulsar-cluster &lt;cluster>
    Ideal when you know exactly which cluster you need.
  4. Pulsar & Kafka Operations - Unified syntax for all your messaging tasks:
    - Pulsar data operations: snctl pulsar client produce --topic my-tenant/my-namespace/my-topic --message "Hello, StreamNative!"
    - Pulsar admin tasks: snctl pulsar admin tenants list
    - Kafka data operations
    : snctl kafka client consume --topic my-topic --from-beginning
    - Kafka administration
    : snctl kafka admin topics list
  5. Service Account Impersonation - Run commands with different permissions:
    - Specify a service account directly: snctl pulsar admin namespaces list --as-service-account my-function-sa
    - Interactive selection:snctl kafka admin consumer-groups list --use-service-account
    This feature is especially valuable when managing connectors and functions that require specific access controls.

With these straightforward steps, snctl empowers you to manage your entire StreamNative Cloud ecosystem from a single, consistent interface.

3. Use snctl with Self-Managed Pulsar or Kafka

If you're running your own Pulsar or Kafka clusters, snctl can still serve as your unified CLI:

  1. Configure external contexts for Self-Managed Pulsar Cluster:
  1. Configure external contexts for Self-Managed Kafka Cluster:

One more thing – Run StreamNative MCP server with snctl

Building on the unified CLI experience of `snctl`, we're excited to introduce native integration with the StreamNative MCP Serve (Note: The MCP server is only available with snctl v1.1.0 or later. Please ensure you are using snctl v1.1.0 or above if you plan to use the MCP server). This powerful addition connects your messaging infrastructure directly with the world of AI agents, providing a bridge between your streaming data and the latest generation of AI tools.

What is the StreamNative MCP Server?

The StreamNative MCP Server (streamnative-mcp-server) implements the Model Context Protocol specifically for data streaming platforms. This lightweight bridge enables people to instruct AI agents interacting with any Pulsar cluster, any Kafka cluster, or any StreamNative Cloud environment through natural language.

The Power of snctl MCP Integration

With the new snctl mcp command, you can now:

1. Start a StreamNative MCP Server directly from your CLI: Launch a fully configured MCP server that connects to your current snctl service context with a single command.

2. Enable AI agent interactions: Give AI assistants like Claude or other MCP-compatible agents the ability to read from, write to, and administer your streaming resources through natural language.

3. Maintain consistent authentication: The MCP server inherits authentication from your current `snctl` context, ensuring secure access to your resources.

4. Leverage your existing configuration: The MCP server automatically configures itself based on your current `snctl` context, whether it's a StreamNative Cloud instance or an external Pulsar/Kafka cluster.

Using snctl MCP

Starting an MCP server with snctl is straightforward:

The MCP server requires a service account for authentication, which can be specified using either the `--as-service-account` flag with a specific service account name.

You can also control which features are enabled through the `--features` flag and restrict operations to read-only mode with the `--read-only` flag for enhanced security.

Security Considerations

The MCP Server integration is designed with security in mind:

1. Service Account Authorization: The MCP server operates with the permissions of the specified service account, ensuring proper access control.

2. Read-Only Mode: For sensitive environments, you can enable read-only mode to prevent any modifications to your streaming resources.

3. Feature Restrictions: You can selectively enable only the features you need, limiting the scope of operations available to AI agents.

Getting Started

To get started with the MCP Server integration:

1. Ensure you're using snctl v1.1.0 or later

2. Set up your context using snctl context use or external context with snctl context use-external

3. Start the MCP server with snctl mcp stdio --as-service-account $SERVICE_ACCOUNT_NAME

4. Connect your MCP-compatible AI client (such as Claude Desktop, Cursor, or any MCP client) to the running server

With this powerful integration, you're now ready to bring the intelligence of AI agents to your streaming platform, enabling natural language interactions with your Pulsar and Kafka resources. Learn more in our MCP Server announcement blog or catch the details in our MCP video series

The MCP Server integration represents another step in our mission to provide a unified, consistent experience across all StreamNative interactions, making your data streaming infrastructure more accessible and easier to manage than ever before.

What’s Next?

With the first milestone achieved – unifying all CLI functionality – our team is already working to bring the same consistent user experience to Terraform and Kubernetes operators. Ultimately, our goal is for you to have a single set of mental models and workflows across your entire infrastructure stack, from command-line tools to Infrastructure-as-Code and beyond.

Join the Unified Revolution

No more toggling between separate CLIs or maintaining multiple sets of credentials. Whether you’re managing Pulsar clusters, Kafka-compatible deployments, or StreamNative Cloud resources, snctl is your single command line for them all. We invite you to:

  1. Download the latest version of snctl from our GitHub release page.
  2. Watch the demo video to view examples of commands.
  3. Share your feedback on our community channels or our help center. Let us know what works well and what you’d like to see next!

Embrace the unified CLI era, and say goodbye to fragmented tooling. With snctl, managing your data streaming workflows has never been simpler, faster, and more consistent.

Happy streaming with snctl!

This is some text inside of a div block.
Button Text
Neng Lu
Neng Lu is currently the Director of Platform at StreamNative, where he leads the engineering team in developing the StreamNative ONE Platform and the next-generation Ursa engine. As an Apache Pulsar Committer, he specializes in advancing Pulsar Functions and Pulsar IO Connectors, contributing to the evolution of real-time data streaming technologies. Prior to joining StreamNative, Neng was a Senior Software Engineer at Twitter, where he focused on the Heron project, a cutting-edge real-time computing framework. He holds a Master's degree in Computer Science from the University of California, Los Angeles (UCLA) and a Bachelor's degree from Zhejiang University.
Rui Fu
Rui Fu is a software engineer at StreamNative. Before joining StreamNative, he was a platform engineer at the Energy Internet Research Institute of Tsinghua University. He was leading and focused on stream data processing and IoT platform development at Energy Internet Research Institute. Rui received his postgraduate degree from HKUST and an undergraduate degree from The University of Sheffield.

Related articles

May 28, 2025
10 min read

Introducing the StreamNative Agent Engine (Early Access): Your Intelligent Event Backbone for Enterprise-Scale AI Agents

May 21, 2025
10 mins read

From Data Streaming to Agentic AI: The Evolution of Processing

Newsletter

Our strategies and tactics delivered right to your inbox

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Kafka
Pulsar
Ursa
MCP