
SingleStore MCP Server
MCP server for interacting with SingleStore Management API and services
what is SingleStore MCP Server?
SingleStore MCP Server is a server designed to facilitate the integration of SingleStore with large language models (LLMs) using the Model Context Protocol (MCP). It allows users to interact with SingleStore through natural language, simplifying complex operations.
how to use SingleStore MCP Server?
To use the SingleStore MCP Server, you can install it via Smithery, clone the repository, or install it using pip. After installation, you can run the server with the MCP clients or inspector.
key features of SingleStore MCP Server?
- Seamless integration with SingleStore using natural language.
- Multiple tools for managing workspaces, executing SQL queries, and creating notebooks.
- Easy installation via various methods (Smithery, cloning, pip).
use cases of SingleStore MCP Server?
- Managing and querying databases using natural language.
- Creating and executing scheduled jobs for data processing.
- Developing and sharing notebooks for data analysis.
FAQ from SingleStore MCP Server?
- What is the Model Context Protocol (MCP)?
MCP is a standardized protocol for managing context between LLMs and external systems.
- How can I install the SingleStore MCP Server?
You can install it via Smithery, clone the repository, or use pip.
- What tools are available in the SingleStore MCP Server?
The server includes tools for workspace management, SQL execution, and notebook creation.
SingleStore MCP Server
Model Context Protocol (MCP) is a standardized protocol designed to manage context between large language models (LLMs) and external systems. This repository provides an installer and an MCP Server for Singlestore, enabling seamless integration.
With MCP, you can use Claude Desktop, Cursor, or any compatible MCP client to interact with SingleStore using natural language, making it easier to perform complex operations effortlessly.
Requirements
- Python >= v3.11.0
- uvx installed on your python environment
- Claude Desktop, Cursor, or another supported LLM client
Client Setup
1. Init Command
The simplest way to set up the MCP server is to use the initialization command:
uvx singlestore-mcp-server init
This command will:
- Authenticate the user
- Automatically locate the configuration file for your platform
- Create or update the configuration to include the SingleStore MCP server
- Provide instructions for starting the server
You can also explicitly pass a <SINGLESTORE_API_KEY>
:
uvx singlestore-mcp-server init <SINGLESTORE_API_KEY>
To specify a client (e.g., claude
or cursor
), use the --client
flag:
uvx singlestore-mcp-server init <SINGLESTORE_API_KEY> --client=<client>
2. Installing via Smithery
To install mcp-server-singlestore
automatically via Smithery:
npx -y @smithery/cli install @singlestore-labs/mcp-server-singlestore --client=<client>
Replace <client>
with claude
or cursor
as needed.
3. Manual Configuration
Claude Desktop and Cursor
- Add the following configuration to your client configuration file:
-
{ "mcpServers": { "singlestore-mcp-server": { "command": "uvx", "args": [ "singlestore-mcp-server", "start", "<SINGLESTORE_API_KEY>" ] } } }
- Restart your client after making changes to the configuration.
Components
Tools
The server implements the following tools:
- workspace_groups_info: Retrieve details about the workspace groups accessible to the user
- No arguments required
- Returns details of the workspace groups
- workspaces_info: Retrieve details about the workspaces in a specific workspace group
- Arguments:
workspaceGroupID
(string) - Returns details of the workspaces
- Arguments:
- organization_info: Retrieve details about the user's current organization
- No arguments required
- Returns details of the organization
- list_of_regions: Retrieve a list of all regions that support workspaces for the user
- No arguments required
- Returns a list of regions
- execute_sql: Execute SQL operations on a connected workspace
- Arguments:
workspace_group_identifier
,workspace_identifier
,username
,password
,database
,sql_query
- Returns the results of the SQL query in a structured format
- Arguments:
- list_virtual_workspaces: List all starter workspaces accessible to the user
- No arguments required
- Returns details of available starter workspaces
- create_virtual_workspace: Create a new starter workspace with a user
- Arguments:
name
: Name of the starter workspacedatabase_name
: Name of the database to createusername
: Username for accessing the workspacepassword
: Password for the userworkspace_group
: Object containingname
(optional) andcellID
(mandatory)
- Returns details of the created workspace and user
- Arguments:
- execute_sql_on_virtual_workspace: Execute SQL operations on a virtual workspace
- Arguments:
virtual_workspace_id
,username
,password
,sql_query
- Returns the results of the SQL query in a structured format including data, row count, columns, and status
- Arguments:
- list_notebook_samples: List all notebook samples available in SingleStore Spaces
- No arguments required
- Returns details of available notebook samples
- create_notebook: Create a new notebook in the user's personal space
- Arguments:
notebook_name
,content
(optional) - Returns details of the created notebook
- Arguments:
- list_personal_files: List all files in the user's personal space
- No arguments required
- Returns details of all files in the user's personal space
- create_scheduled_job: Create a new scheduled job to run a notebook
- Arguments:
name
: Name for the jobnotebook_path
: Path to the notebook to executeschedule_mode
: Once or Recurringexecution_interval_minutes
: Minutes between executions (optional)start_at
: When to start the job (optional)description
: Description of the job (optional)create_snapshot
: Whether to create notebook snapshots (optional)runtime_name
: Name of the runtime environmentparameters
: Parameters for the job (optional)target_config
: Target configuration for the job (optional)
- Returns details of the created job
- Arguments:
- get_job_details: Get details about a specific job
- Arguments:
job_id
- Returns detailed information about the specified job
- Arguments:
- list_job_executions: List execution history for a specific job
- Arguments:
job_id
,start
(optional),end
(optional) - Returns execution history for the specified job
- Arguments: