Sign inSign up

mcp/singlestore

Verified Publisher

By mcp

•Updated 3 months ago

MCP server for interacting with SingleStore Management API and services

Image
Machine learning & AI
0

10K+

mcp/singlestore repository overview

⁠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_namestring optionalOptional database name to attach to the function.
descriptionstring optionalOptional description of the cloud function.
idle_timeout_secondsstring optionalOptional idle timeout in seconds before scaling down.
target_typestring optionalType 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_minutesstring optionalOptional interval in minutes for recurring jobs
modestring optionalJob 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
providerstring optionalCloud provider for the workspace (e.g., "AWS", "GCP", "Azure")
region_namestring optionalRegion 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
limitstring optionalOptional maximum number of cloud functions to return.
offset_idstring optionalID 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
databasestring optional(optional) Database name to use
passwordstring optional
usernamestring optional

⁠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_typestring optionalWhat 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.
pathstring optionalOptional 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.
contentstring optionalText content to upload as the file body.
local_pathstring optionalAbsolute 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_namestring optionalNew database name to attach.
descriptionstring optionalNew description.
idle_timeout_secondsstring optionalNew idle timeout in seconds.
namestring optionalNew name for the cloud function.
notebook_pathstring optionalNew notebook path in Stage.
target_idstring optionalNew target workspace/cluster/virtual workspace ID.
target_typestring optionalNew target type - "Workspace", "Cluster", or "VirtualWorkspace".
update_notebook_snapshotstring optionalWhether 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_locationstring optionalOptional. Either "shared" or "personal". If not provided, user will be prompted.
upload_namestring optionalOptional. 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?⁠

Install from MCP:Hub

Tag summary

Content type

Image

Digest

sha256:94913307e…

Size

100.2 MB

Last updated

3 months ago

docker pull mcp/singlestore

This week's pulls

Pulls:

33

Last week