SSB
- python
4
GitHub Stars
python
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"brooksian-ssb-mcp-server": {
"command": "/path/to/run_mcp_server.sh",
"args": [],
"env": {
"KNOX_TOKEN": "<your_knox_bearer_token>",
"KNOX_COOKIE": "<KNOX_COOKIE>",
"SSB_API_BASE": "https://ssb-gateway.yourshere.cloudera.site/ssb/api/v1",
"SSB_BASE_URL": "https://your-ssb-host:443",
"SSB_READONLY": "true",
"MCP_TRANSPORT": "stdio"
}
}
}
}You deploy and use the SSB MCP Server to manage SQL Stream Builder environments through Claude Desktop or other MCP clients. It provides controlled access to SSB functionality, supports multiple authentication methods, and exposes a comprehensive set of tools for managing streams, data sources, environments, UDFs, and more while enabling safe read-only exploration by default.
How to use
Use Claude Desktop or your MCP client to interact with the SSB MCP Server. You can explore streams, jobs, tables, connectors, formats, and configuration options. By default, deployments in CDP (Cloudera Data Platform) run in read-only mode to prevent unintended changes, while standalone deployments can enable write access. When you are ready to perform actions, adjust the read-only setting and restart the MCP server if needed.
How to install
Follow these concrete steps to install and start the MCP server in two common ways: standalone SSB deployments using Claude Desktop locally, or integration with Cloudera AI Agent Studio.
# Option A: Standalone SSB deployments ( Claude Desktop Local )
# Prerequisites
# - Git
# - Python 3.8+ with venv support
# - Internet access to clone and install
# Step 1: Clone the MCP server repository and install in editable mode
git clone https://github.com/your-org/ssb-mcp-server.git
cd ssb-mcp-server
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
# Step 2: Configure Claude Desktop to load the MCP server (example shown in this section)
# Start all services via Docker Compose (standalone path)
git clone https://github.com/your-org/ssb-mcp-server.git
cd ssb-mcp-server
docker-compose up -d
# Confirm services are running
docker-compose ps
docker-compose logs -f ssb-sse
# Option A: Claude Desktop local config (stdin stdio transport)
{
"mcpServers": {
"ssb-mcp-server": {
"command": "/FULL/PATH/TO/SSB-MCP-Server/run_mcp_server.sh",
"args": [],
"cwd": "/FULL/PATH/TO/SSB-MCP-Server"
}
}
}
```]} ,{
Note: The exact path and file used to start the MCP server in your environment may differ. Ensure Claude Desktop is pointed at the correct command and working directory for your installation.
### Option 2: Cloudera AI Agent Studio
If you are using Cloudera AI Agent Studio, configure the MCP server with environment variables and the given command flow to load the MCP server through the UVX runner.
{
"mcpServers": {
"ssb-mcp-server": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/your-org/ssb-mcp-server@main",
"run-server"
],
"env": {
"MCP_TRANSPORT": "stdio",
"SSB_BASE_URL": "https://your-ssb-host:443",
"SSB_TENANT": "your-tenant-name",
"KNOX_TOKEN": "your_jwt_token_here",
"MVE_USERNAME": "your_mve_username",
"MVE_PASSWORD": "your_mve_password",
"SSB_READONLY": "false"
}
}
}
}
Environment variables shown above should be set according to your deployment. Restart the Cloudera AI Agent Studio after updating the configuration.
## Additional setup and access points
Access points and UI details for the local Docker-based setup are shown here for quick reference.
SSB SSE: http://localhost:18121 SSB MVE: http://localhost:18131 Flink Job Manager: http://localhost:8081 NiFi: http://localhost:8080 Knox Gateway: https://localhost:8444 (if enabled)
Configuration and environment notes
Configure the MCP server using either environment variables or a JSON configuration file. Environment variables take precedence over JSON. Important credentials to consider include Knox tokens for CDP deployments and SSB API base URLs for direct access. For Cloudera AI Agent Studio, always use environment variables as shown in the examples.
# Example JSON configuration for cloud/SSB access
{
"cloud_ssb": {
"base_url": "https://your-ssb-host:443",
"tenant": "your-tenant-name",
"jwt_token": "your_jwt_token_here",
"ssb_readonly": false,
"knox_verify_ssl": true,
"http_timeout_seconds": 60,
"http_max_retries": 3,
"http_rate_limit_rps": 5,
"mve_username": "your_mve_username",
"mve_password": "your_mve_password"
}
}
Environment variables example:
export SSB_BASE_URL="https://your-ssb-host:443"
export SSB_TENANT="your-tenant-name"
export KNOX_TOKEN="your_jwt_token_here"
export MVE_USERNAME="your_mve_username"
export MVE_PASSWORD="your_mve_password"
export SSB_READONLY="false"
If you plan to use the standalone mode with Claude Desktop, place the Python-based server run command in a setup similar to the example shown in the installation section and ensure Claude Desktop is restarted after applying changes.
Troubleshooting and tips
When you encounter issues, check authentication credentials, ensure services are running, and validate connector configurations. For issues with token expiration, refresh tokens manually as tokens do not auto-refresh.
If you need to verify which tables or data sources are available for querying, use the relevant discovery methods and remember that materialized views are accessed via the MVE API, not SQL.
Security and maintenance
Sensitive data such as passwords and tokens are redacted in responses. Read-only mode is enabled by default for CDP deployments to prevent unintended changes. Use API keys and proper authentication for secure access, and rotate credentials as part of your security best practices.
License
Apache License 2.0.
Available tools
get_job_events
Get detailed job event history and timeline
get_job_state
Get comprehensive job state information
copy_job
Duplicate an existing job
copy_data_source
Clone a data source
get_diagnostic_counters
Get system performance counters and diagnostics
get_heartbeat
Check system health and connectivity
analyze_sql
Analyze SQL query for syntax and performance without execution
list_tables_detailed
Get comprehensive table information
get_table_tree
Get hierarchical table structure organized by catalog
validate_data_source
Validate data source configuration
create_table_detailed
Create table with full configuration
get_table_details
Get detailed information about a specific table
list_data_formats
List all available data formats
get_data_format_details
Get details about a specific data format
create_data_format
Create a new data format
get_connector_jar
Get connector JAR information
get_connector_type_details
Get detailed connector type information
get_connector_details
Get detailed connector information
get_user_settings
Get user preferences and settings
update_user_settings
Update user configuration
list_projects
List available projects
get_project_details
Get project information
create_project
Create a new project
get_user_info
Get current user information
list_api_keys
List user API keys
create_api_key
Create new API key
delete_api_key
Delete API key
get_api_key_details
Get API key information
list_environments
List available environments
activate_environment
Activate/switch to an environment
get_environment_details
Get environment configuration
create_environment
Create new environment
deactivate_environment
Deactivate current environment
get_sync_config
Get sync configuration
update_sync_config
Update sync configuration
export_project
Export project configuration
import_project
Import project configuration
list_udfs_detailed
Get comprehensive UDF information
run_udf
Execute UDF function
get_udf_artifacts
Get UDF artifacts and dependencies
list_streams
List all SQL streams (jobs)
get_stream
Get details of a specific stream
create_stream
Create new stream (write mode)
update_stream
Update an existing stream
delete_stream
Delete a stream
start_stream
Start a stream
stop_stream
Stop a stream
execute_query
Execute SQL query and create SSB job
execute_query_with_sampling
Execute query with custom sampling
get_job_status
Get status of a specific SSB job
get_job_sample
Get sample data from a job execution
get_job_sample_by_id
Get sample data from a job by ID
list_jobs_with_samples
List all jobs with their sample information
stop_job
Stop a specific SSB job
execute_job
Execute/restart a job with new SQL
restart_job_with_sampling
Restart job with sampling options
configure_sampling
Configure sampling parameters
list_tables
List all available tables (data sources)
get_table_schema
Get table schema information
create_kafka_table
Create new Kafka data source (local-kafka enforced)
register_kafka_table
Register Kafka table in Flink catalog to make queryable
validate_kafka_connector
Validate that a connector type is valid for local-kafka
list_udfs
List user-defined functions
get_udf
Get UDF details
list_connectors
List available connectors
get_connector
Get connector details
list_topics
List Kafka topics
get_topic
Get topic details
get_cluster_info
Get cluster information
get_cluster_health
Get cluster health status
get_ssb_info
Get SSB version and system info