kafka_admin_topics_readLABSCO SUMMARY
Every destructive operation lives in a separate tool from the read that precedes it.
The read and write split is what makes this safe to expose to an agent: the read tool only accepts read operations and their parameters, and in read-only mode the write tool is never registered at all, so there is nothing to call by accident. Binding the session to a cluster is an explicit step — until you do, cluster-specific tools refuse with a context error rather than guessing.
What it is
A messaging-platform server for StreamNative Cloud, Apache Kafka and Apache Pulsar. It covers admin and client operations for both stacks, and can connect either through a StreamNative Cloud service account or directly to an external cluster.
What you get
- kafka_admin_topics_read and kafka_admin_topics_write — list topics, read one topic's configuration and metadata; create and delete topics
- kafka_admin_groups_read and kafka_admin_groups_write — consumer group inspection and management
- kafka_admin_connect_read and kafka_admin_connect_write — Kafka Connect connectors
- pulsar_admin_topic_read and pulsar_admin_topic_write — list, stats, lookup, internal stats, compaction and offload status; create, delete, unload, terminate, compact and offload
- pulsar_admin_tenant_read, pulsar_admin_cluster_read, pulsar_admin_brokers_read, pulsar_admin_schema_read and their write counterparts — tenants, clusters, brokers and schemas
- pulsar_admin_sources_read, pulsar_admin_sinks_read, pulsar_admin_package_read and their write counterparts — connectors and packages
- sncloud_context_available_clusters, sncloud_context_use_cluster, sncloud_context_reset, sncloud_context_whoami — see which clusters the session can bind to, bind one, reset, and check the logged-in service account
- sncloud_logs — logs for Pulsar functions, sources, sinks and Kafka Connect connectors in the bound cluster
- sncloud_resources_apply and sncloud_resources_delete — apply and remove cloud resources
- Read-only mode: the write half of every pair is simply not registered
Requirements
For StreamNative Cloud: an organization, an instance and cluster, and a service account key file with the admin role — passed as --organization and --key-file. For an external cluster, skip the account and use --use-external-kafka with bootstrap servers and SASL settings, or --use-external-pulsar with the web service URL and a token. Install with Homebrew from the streamnative tap, the streamnative/snmcp Docker image, a Helm chart, or a release binary. Runs as stdio or SSE.
Setup effort
One command plus credentials — brew install streamnative/streamnative/snmcp, then supply credentials
USE CASES
Getting oriented in a new cluster
Check which account you are, list the clusters you can bind to, and bind the one you mean.
Diagnosing a lagging consumer
Read the topic's metadata and statistics, then inspect the consumer groups against it.
Finding out why a connector is failing
Pull the logs for the sink, source, function or Kafka Connect connector in the bound cluster.
Provisioning a topic for a new service
Create it with the partition count and replication factor you need, then read the configuration back.
Reclaiming storage on Pulsar
Check compaction and offload status on the topic, then trigger the one that helps.
Checking a schema before a producer change
Read the registered schema for the topic and compare it with what you are about to publish.
33 tools
Listed in project docs. Your client may show a different list.
kafka_admin_topics_writekafka_admin_groups_readkafka_admin_groups_writekafka_admin_connect_readkafka_admin_connect_writekafka_client_consumekafka_client_producepulsar_admin_brokers_readpulsar_admin_brokers_writepulsar_admin_cluster_readpulsar_admin_cluster_writepulsar_admin_package_readpulsar_admin_package_writepulsar_admin_schema_readpulsar_admin_schema_writepulsar_admin_sinks_readpulsar_admin_sinks_writepulsar_admin_sources_readpulsar_admin_sources_writepulsar_admin_tenant_readpulsar_admin_tenant_writepulsar_admin_topic_readpulsar_admin_topic_writepulsar_admin_statuspulsar_client_consumesncloud_context_available_clusterssncloud_context_use_clustersncloud_context_resetsncloud_context_whoamisncloud_logssncloud_resources_applysncloud_resources_deleteBEFORE YOU INSTALL
What to know first
Tools you get
33 tools named in the project's documentation.
Requires
- SNMCP_KEY_FILE in your environment
- SNMCP_ORGANIZATION in your environment
Where it runs
All 3 documented setups run the server on your machine.
INSTALLATION
Connect your client
Server setup
brew install streamnative/streamnative/snmcpMCP Clients
Claude Desktop — binary
{
"mcpServers": {
"mcp-streamnative": {
"command": "<YOUR_PATH_TO_SNMCP>/bin/snmcp",
"args": [
"stdio",
"--organization",
"<YOUR_SNMCP_ORGANIZATION>",
"--key-file",
"<YOUR_STREAMNATIVE_CLOUD_KEY_FILE>"
]
}
}
}Claude Desktop — Docker
{
"mcpServers": {
"mcp-streamnative": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"SNMCP_ORGANIZATION",
"-e",
"SNMCP_KEY_FILE",
"-v",
"<YOUR_STREAMNATIVE_CLOUD_KEY_FILE>:/key.json",
"streamnative/snmcp",
"stdio"
],
"env": {
"SNMCP_ORGANIZATION": "<YOUR_SNMCP_ORGANIZATION>",
"SNMCP_KEY_FILE": "/key.json"
}
}
}
}Claude Desktop — SSE
{
"mcpServers": {
"mcp-streamnative-proxy": {
"command": "mcp-proxy",
"args": [
"http://localhost:9090/mcp/sse"
]
}
}
}