MCP server for interacting with SingleStore Management API and services.
1.1K
16 Tools
Version 4.43 or later needs to be installed to add the server automatically
Use cases
About
MCP server for interacting with SingleStore Management API and services.
Attribute | Details |
---|---|
Docker Image | mcp/singlestore |
Author | singlestore-labs |
Repository | https://github.com/singlestore-labs/mcp-server-singlestore |
Dockerfile | https://github.com/singlestore-labs/mcp-server-singlestore/blob/main/Dockerfile |
Docker Image built by | Docker Inc. |
Docker Scout Health Score | |
Verify Signature | COSIGN_REPOSITORY=mcp/signatures cosign verify mcp/singlestore --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub |
Licence | MIT License |
Tools provided by this Server | Short Description |
---|---|
create_job_from_notebook | Create a scheduled job to run a notebook (uploaded to shared space). |
create_notebook_file | Create a Jupyter notebook file in the correct singlestore format and saves it to a temporary location. |
create_starter_workspace | Create a new starter workspace using the SingleStore SDK. |
delete_job | Delete a scheduled job by its ID. |
get_job | Retrieve details of a scheduled job by its ID. |
get_user_info | Retrieve all information about the current user. |
list_regions | List all available deployment regions where SingleStore workspaces can be deployed by the user. |
list_sharedtier_regions | List all regions where shared tier workspaces can be created. |
list_starter_workspaces | List all starter (virtual) workspaces available to the user in SingleStore. |
organization_info | Retrieve information about the current user's organization in SingleStore. |
resume_workspace | Resume a workspace within a specified workspace group in SingleStore. |
run_sql | Use this tool to execute a single SQL statement against a SingleStore database. |
terminate_starter_workspace | Permanently delete a starter workspace in SingleStore with safety confirmations. |
upload_notebook_file | Upload a notebook file from a local local_path to SingleStore shared or personal space. |
workspace_groups_info | List all workspace groups accessible to the user in SingleStore. |
workspaces_info | List all workspaces within a specified workspace group in SingleStore. |
create_job_from_notebook
Create a scheduled job to run a notebook (uploaded to shared space).
Parameters | Type | Description |
---|---|---|
name | string | Name of the job |
notebook_path | string | Remote path to the shared notebook file |
execution_interval_in_minutes | string optional | Optional interval in minutes for recurring jobs |
mode | string optional | Job mode (options: "Once", "Recurring") |
create_notebook_file
Create a Jupyter notebook file in the correct singlestore format and saves it to a temporary location.
This tool validates the provided content against the Jupyter notebook schema and creates a properly
formatted .ipynb file in a temporary location. The content is converted from the simplified format
to the full Jupyter notebook format.
Parameters | Type | Description |
---|---|---|
content | object | Notebook content in the format: { |
create_starter_workspace
Create a new starter workspace using the SingleStore SDK.
This tool provides a modern SDK-based approach to creating starter workspaces,
offering improved reliability and better error handling compared to direct API calls.
Parameters | Type | Description |
---|---|---|
database_name | string | Name of the database to create in the starter workspace |
name | string | Unique name for the new starter workspace |
provider | string optional | Cloud provider for the workspace (e.g., "AWS", "GCP", "Azure") |
region_name | string optional | Region where the workspace should be deployed (e.g., "us-west-2", "europe-west1") |
delete_job
Delete a scheduled job by its ID.
Parameters | Type | Description |
---|---|---|
job_id | string | ID of the job to delete |
get_job
Retrieve details of a scheduled job by its ID.
Parameters | Type | Description |
---|---|---|
job_id | string | ID of the job to retrieve |
get_user_info
Retrieve all information about the current user.
Returns:
dict: User information including userID, email, firstName, lastName.
Performance Tip:
Cache the returned info when making multiple API calls.
list_regions
List all available deployment regions where SingleStore workspaces can be deployed by the user.
Returns region information including:
- regionID: Unique identifier for the region
- provider: Cloud provider (AWS, GCP, or Azure)
- name: Human-readable region name (e.g., Europe West 2 (London), US West 2 (Oregon))
Use this tool to:
1. Select optimal deployment regions based on:
- Geographic proximity to users
- Compliance requirements
- Cost considerations
- Available cloud providers
2. Plan multi-region deployments
list_sharedtier_regions
List all regions where shared tier workspaces can be created.
This tool provides information about available regions for creating starter workspaces,
including region names and cloud providers.
list_starter_workspaces
List all starter (virtual) workspaces available to the user in SingleStore.
Returns detailed information about each starter workspace:
- virtualWorkspaceID: Unique identifier for the workspace
- name: Display name of the workspace
- endpoint: Connection endpoint URL
- databaseName: Name of the primary database
- mysqlDmlPort: Port for MySQL protocol connections
- webSocketPort: Port for WebSocket connections
- state: Current status of the workspace
Use this tool to:
1. Get starter workspace IDs for other operations
2. Check starter workspace availability and status
3. Obtain connection details for database access
organization_info
Retrieve information about the current user's organization in SingleStore.
Returns organization details including:
- orgID: Unique identifier for the organization
- name: Organization display name
resume_workspace
Resume a workspace within a specified workspace group in SingleStore.
Parameters | Type | Description |
---|---|---|
workspace_id | string | Unique identifier of the workspace to resume |
run_sql
Use this tool to execute a single SQL statement against a SingleStore database.
Returns:
- Query results with column names and typed values
- Row count and metadata
- Execution status
- Workspace type ("shared" for starter workspaces, "dedicated" for regular workspaces)
- Workspace name
Parameters | Type | Description |
---|---|---|
id | string | Workspace or starter workspace ID |
sql_query | string | The SQL query to execute |
database | string optional | (optional) Database name to use |
terminate_starter_workspace
Permanently delete a starter workspace in SingleStore with safety confirmations.
⚠️ WARNING: This action CANNOT be undone. All workspace data will be permanently lost.
Make sure to backup important data before proceeding.
Safety Features:
- Requires explicit user confirmation (if elicitation is supported)
- Validates workspace existence
- Provides warning messages
- Includes error handling
Parameters | Type | Description |
---|---|---|
workspace_id | string | Workspace identifier (format: "ws-" followed by alphanumeric chars) |
upload_notebook_file
Upload a notebook file from a local local_path to SingleStore shared or personal space.
This tool validates the notebook schema before uploading. If upload_name or upload_location
are not provided, the user will be prompted through elicitation.
Parameters | Type | Description |
---|---|---|
local_path | string | Local file system path to the notebook file (.ipynb) |
upload_location | string optional | Optional. Either "shared" or "personal". If not provided, user will be prompted. |
upload_name | string optional | Optional. Name of the file after upload (with or without .ipynb extension). |
workspace_groups_info
List all workspace groups accessible to the user in SingleStore.
Returns detailed information for each group:
- workspaceGroupID: Unique identifier for the group
- name: Display name of the workspace group
- region: Region information (name, provider)
- firewallRanges: List of allowed IP ranges for the group
- allowAllTraffic: Whether all traffic is allowed to the group
- createdAt: Timestamp of group creation
- terminatedAt: Timestamp when the group was terminated (if applicable)
Use this tool to:
1. Get workspace group IDs for other operations
2. Plan maintenance windows
Related operations:
- Use workspaces_info to list workspaces within a group
- Use execute_sql to run queries on workspaces in a group
workspaces_info
List all workspaces within a specified workspace group in SingleStore.
Returns detailed information for each workspace:
- createdAt: Timestamp of workspace creation
- deploymentType: Type of deployment (e.g., 'PRODUCTION')
- endpoint: Connection URL for database access
- name: Display name of the workspace
- size: Compute and storage configuration
- state: Current status (e.g., 'ACTIVE', 'PAUSED')
- terminatedAt: End timestamp if applicable
- workspaceGroupID: Workspacegroup identifier
- workspaceID: Unique workspace identifier
Parameters | Type | Description |
---|---|---|
workspace_group_id | string | Unique identifier of the workspace group |
{
"mcpServers": {
"singlestore": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"MCP_API_KEY",
"mcp/singlestore"
],
"env": {
"MCP_API_KEY": "<MCP_API_KEY>"
}
}
}
}
Manual installation
You can install the MCP server using:
Installation for