Singlestore

Singlestore

MCP server for interacting with SingleStore Management API and services.

4.2K

22 Tools

Packaged by
Requires Secrets
Add to Docker Desktop

Version 4.43 or later needs to be installed to add the server automatically

Use cases

About

Singlestore MCP Server

MCP server for interacting with SingleStore Management API and services.

What is an MCP Server?

MCP Info

Image Building Info

AttributeDetails
Dockerfilehttps://github.com/singlestore-labs/mcp-server-singlestore/blob/abc33d9f5061f41e382accb8d74f91dbc23cafbd/Dockerfile
Commitabc33d9f5061f41e382accb8d74f91dbc23cafbd
Docker Image built byDocker Inc.
Docker Scout Health ScoreDocker Scout Health Score
Verify SignatureCOSIGN_REPOSITORY=mcp/signatures cosign verify mcp/singlestore --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub
LicenceMIT License

Available Tools (22)

Tools provided by this ServerShort Description
create_job_from_notebookCreate a scheduled job to run a notebook (uploaded to shared space).
create_notebook_fileCreate a Jupyter notebook file in the correct singlestore format and saves it to a temporary location.
create_starter_workspaceCreate a new starter workspace using the SingleStore SDK.
delete_jobDelete a scheduled job by its ID.
get_jobRetrieve details of a scheduled job by its ID.
get_user_infoRetrieve all information about the current user.
list_regionsList all available deployment regions where SingleStore workspaces can be deployed by the user.
list_sharedtier_regionsList all regions where shared tier workspaces can be created.
list_starter_workspacesList all starter (virtual) workspaces available to the user in SingleStore.
organization_infoRetrieve information about the current user's organization in SingleStore.
resume_workspaceResume a workspace within a specified workspace group in SingleStore.
run_sqlUse this tool to execute a single SQL statement against a SingleStore database.
stage_create_folderCreate a folder in Stage.
stage_deleteDelete a file or folder from Stage.
stage_get_fileGet a file from Stage by path.
stage_list_filesList files and folders in a Stage deployment's file system.
stage_moveMove or rename a file or folder in Stage.
stage_upload_fileUpload a file to Stage from text content or a local file path.
terminate_starter_workspacePermanently delete a starter workspace in SingleStore with safety confirmations.
upload_notebook_fileUpload a notebook file from a local local_path to SingleStore shared or personal space.
workspace_groups_infoList all workspace groups accessible to the user in SingleStore.
workspaces_infoList all workspaces within a specified workspace group in SingleStore.

Tools Details

Tool: create_job_from_notebook

Create a scheduled job to run a notebook (uploaded to shared space).

ParametersTypeDescription
namestringName of the job
notebook_pathstringRemote path to the shared notebook file
execution_interval_in_minutesstringoptionalOptional interval in minutes for recurring jobs
modestringoptionalJob mode (options: "Once", "Recurring")

Tool: 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.
ParametersTypeDescription
contentobjectNotebook content in the format: {

Tool: 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.
ParametersTypeDescription
database_namestringName of the database to create in the starter workspace
namestringUnique name for the new starter workspace
providerstringoptionalCloud provider for the workspace (e.g., "AWS", "GCP", "Azure")
region_namestringoptionalRegion where the workspace should be deployed (e.g., "us-west-2", "europe-west1")

Tool: delete_job

Delete a scheduled job by its ID.

ParametersTypeDescription
job_idstringID of the job to delete

Tool: get_job

Retrieve details of a scheduled job by its ID.

ParametersTypeDescription
job_idstringID of the job to retrieve

Tool: 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.
Tool: 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
Tool: 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.
Tool: 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
Tool: 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
Tool: resume_workspace

Resume a workspace within a specified workspace group in SingleStore.

ParametersTypeDescription
workspace_idstringUnique identifier of the workspace to resume

Tool: run_sql

Use this tool to execute a single SQL statement against a SingleStore database.

Generally you should *NOT* specify the username and password when calling this tool.
You must only use those parameters if a previous attempt to call this method failed and
indicated that the `username` and `password` must be specified.
Credentials for a specific workspace and database combination will be cached.

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
ParametersTypeDescription
idstringWorkspace or starter workspace ID
sql_querystringThe SQL query to execute
databasestringoptional(optional) Database name to use
passwordstringoptional
usernamestringoptional

Tool: stage_create_folder

Create a folder in Stage.

ParametersTypeDescription
deployment_idstringThe workspace group ID or starter workspace ID.
pathstringFolder path to create.

Tool: stage_delete

Delete a file or folder from Stage.

For folders, ensure the path ends with '/'.
For files, the path must not end with '/'.
ParametersTypeDescription
deployment_idstringThe workspace group ID or starter workspace ID.
pathstringPath of the file or folder to delete.

Tool: stage_get_file

Get a file from Stage by path. Returns metadata, a download URL, or text content.

Recommended workflow: first call with return_type='metadata' to check file size
and type, then decide whether to fetch the full content or just the URL.
ParametersTypeDescription
deployment_idstringThe workspace group ID or starter workspace ID.
pathstringPath to the file in Stage.
return_typestringoptionalWhat to return. One of:

Tool: stage_list_files

List files and folders in a Stage deployment's file system.

Lists the contents of the root folder or a specific subfolder in the Stage
file system attached to a SingleStore deployment (workspace group or starter
workspace).
ParametersTypeDescription
deployment_idstringThe workspace group ID or starter workspace ID.
pathstringoptionalOptional folder path to list. Defaults to root. Must refer to a

Tool: stage_move

Move or rename a file or folder in Stage. For folders, ensure the path ends with '/'. For files, the path must not end with '/'.

Works like the `mv` command - can rename and/or move into a different folder.
ParametersTypeDescription
deployment_idstringThe workspace group ID or starter workspace ID.
destination_pathstringNew path for the file or folder.
source_pathstringCurrent path of the file or folder.

Tool: stage_upload_file

Upload a file to Stage from text content or a local file path.

Provide exactly one of `content` or `local_path`:
- content: Text content to upload as the file body.
- local_path: Absolute path to a local file to upload.
ParametersTypeDescription
deployment_idstringThe workspace group ID or starter workspace ID.
pathstringDestination file path in Stage.
contentstringoptionalText content to upload as the file body.
local_pathstringoptionalAbsolute path to a local file to upload.

Tool: 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
ParametersTypeDescription
workspace_idstringWorkspace identifier (format: "ws-" followed by alphanumeric chars)

Tool: 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.
ParametersTypeDescription
local_pathstringLocal file system path to the notebook file (.ipynb)
upload_locationstringoptionalOptional. Either "shared" or "personal". If not provided, user will be prompted.
upload_namestringoptionalOptional. Name of the file after upload (with or without .ipynb extension).

Tool: 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
Tool: 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
ParametersTypeDescription
workspace_group_idstringUnique identifier of the workspace group

Use this MCP Server

{
  "mcpServers": {
    "singlestore": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "MCP_API_KEY",
        "mcp/singlestore"
      ],
      "env": {
        "MCP_API_KEY": "<MCP_API_KEY>"
      }
    }
  }
}

Why is it safer to run MCP Servers with Docker?

Related servers