Singlestore

Singlestore

MCP server for interacting with SingleStore Management API and services.

10K+

28 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/ace067f127d29a8f8ff859884913a95e670d439c/Dockerfile⁠
Commitace067f127d29a8f8ff859884913a95e670d439c
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 (28)

Tools provided by this ServerShort Description
create_cloud_functionDeploy a notebook as a cloud function.
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_cloud_functionDelete a cloud function by its ID.
delete_jobDelete a scheduled job by its ID.
get_cloud_functionGet detailed information about a specific cloud function including its status, endpoint, and configuration.
get_cloud_function_tokenGet an authentication token for invoking a cloud function.
get_jobRetrieve details of a scheduled job by its ID.
get_user_infoRetrieve all information about the current user.
list_cloud_functionsList all cloud functions in the current organization.
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.
update_cloud_functionUpdate a cloud function's configuration.
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_cloud_function

Deploy a notebook as a cloud function.

The notebook must already exist in the Stage file system shared space. Use
stage_upload_file to upload a notebook first, then deploy it as a cloud function.

The notebook must define a FastAPI app, and initialize it using a singlestore tool.
Base example:
    from fastapi import FastAPI
    import singlestoredb.apps as apps
    app = FastAPI()
    @app.get("/")
    async def root():
        return {"message": "hello world"}
    await apps.run_function_app(app)

Target_type is optional, but if it specifies a virtual workspace, it must also specify a database_name.
ParametersTypeDescription
namestringName for the cloud function.
notebook_pathstringPath to the notebook in Stage (e.g. "my_notebook.ipynb").
target_idstringID of the workspace, cluster, or virtual workspace to deploy to.
database_namestringoptionalOptional database name to attach to the function.
descriptionstringoptionalOptional description of the cloud function.
idle_timeout_secondsstringoptionalOptional idle timeout in seconds before scaling down.
target_typestringoptionalType of target - "Workspace", "Cluster", or "VirtualWorkspace".

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.

Each code cell MUST include a "language" field in its metadata for SingleStore to
properly recognize the cell. If not provided or empty, it defaults to "python".
Supported languages are "python" and "sql"; other values are rejected.
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_cloud_function

Delete a cloud function by its ID.

ParametersTypeDescription
cloud_function_idstringThe unique identifier (UUID) of the cloud function to delete.

Tool: delete_job

Delete a scheduled job by its ID.

ParametersTypeDescription
job_idstringID of the job to delete

Tool: get_cloud_function

Get detailed information about a specific cloud function including its status, endpoint, and configuration.

ParametersTypeDescription
cloud_function_idstringThe unique identifier (UUID) of the cloud function.

Tool: get_cloud_function_token

Get an authentication token for invoking a cloud function.

Returns a JWT token and its expiration time. Use this token in the
Authorization header when making HTTP requests to the cloud function's
endpoint.
ParametersTypeDescription
cloud_function_idstringThe unique identifier (UUID) of the cloud function.

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_cloud_functions

List all cloud functions in the current organization.

Returns name, status, endpoint, and description for each cloud function.
ParametersTypeDescription
limitstringoptionalOptional maximum number of cloud functions to return.
offset_idstringoptionalID of the last cloud function from the previous page, used to

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: update_cloud_function

Update a cloud function's configuration. Only provided fields are updated.

ParametersTypeDescription
cloud_function_idstringThe unique identifier (UUID) of the cloud function.
database_namestringoptionalNew database name to attach.
descriptionstringoptionalNew description.
idle_timeout_secondsstringoptionalNew idle timeout in seconds.
namestringoptionalNew name for the cloud function.
notebook_pathstringoptionalNew notebook path in Stage.
target_idstringoptionalNew target workspace/cluster/virtual workspace ID.
target_typestringoptionalNew target type - "Workspace", "Cluster", or "VirtualWorkspace".
update_notebook_snapshotstringoptionalWhether to update the notebook snapshot after updating.

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