Skip to main content
Glama
singlestore-labs

SingleStore MCP Server

workspace_groups_info

Retrieve detailed information about all accessible workspace groups in SingleStore, including IDs, deployment types, states, IP ranges, and maintenance windows, to plan operations and manage resources effectively.

Instructions

List all workspace groups accessible to the user in SingleStore.

Returns detailed information for each group:
- name: Display name of the workspace group
- deploymentType: Type of deployment (e.g., 'PRODUCTION')
- state: Current status (e.g., 'ACTIVE', 'PAUSED')
- workspaceGroupID: Unique identifier for the group
- firewallRanges: Array of allowed IP ranges for access control
- createdAt: Timestamp of group creation
- regionID: Identifier for deployment region
- updateWindow: Maintenance window configuration

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

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
ctxNo

Implementation Reference

  • Main handler function for the 'workspace_groups_info' tool. Fetches workspace groups using the workspace manager, formats them into a structured dictionary, tracks analytics, and returns the data with metadata.
    def workspace_groups_info() -> dict:
        """
        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
        """
        start_time = time.time()
        settings = config.get_settings()
        user_id = config.get_user_id()
        settings.analytics_manager.track_event(
            user_id, "tool_calling", {"name": "workspace_groups_info"}
        )
    
        # Use workspace manager to get workspace groups
        workspace_manager = utils.get_workspace_manager()
        workspace_groups = workspace_manager.workspace_groups
    
        groups = [
            {
                "workspaceGroupID": group.id,
                "name": group.name,
                "region": {
                    "regionName": group.region.name,
                    "provider": group.region.provider,
                },
                "firewallRanges": group.firewall_ranges,
                "allowAllTraffic": group.allow_all_traffic,
                "createdAt": group.created_at.isoformat() if group.created_at else None,
                "terminatedAt": (
                    group.terminated_at.isoformat() if group.terminated_at else None
                ),
            }
            for group in workspace_groups
        ]
    
        execution_time = (time.time() - start_time) * 1000
    
        return {
            "status": "success",
            "message": f"Retrieved {len(groups)} workspace groups",
            "data": groups,
            "metadata": {
                "execution_time_ms": round(execution_time, 2),
                "count": len(groups),
                "timestamp": datetime.now(timezone.utc).isoformat(),
            },
        }
  • Imports the workspace_groups_info function as part of the workspaces tools module for central tool registration.
    from src.api.tools.workspaces import (
        workspaces_info,
        resume_workspace,
        workspace_groups_info,
    )
  • Registers the workspace_groups_info tool function in the central tools_definition list, which is used to create Tool instances.
    {"func": workspace_groups_info},
  • Re-exports the workspace_groups_info function from the workspace_groups submodule for convenient import from the workspaces package.
    from .workspace_groups import workspace_groups_info
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden and does well by detailing the return format with 8 specific fields. However, it doesn't mention potential limitations like pagination, rate limits, authentication requirements, or error conditions that would be helpful for a list operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with clear sections: purpose statement, return value details, use cases, and related operations. Every sentence adds value with zero wasted words. The bulleted format for return fields enhances readability without sacrificing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a list operation with no annotations and no output schema, the description provides excellent coverage of purpose, usage, and return format. However, it lacks information about behavioral aspects like pagination, sorting, or error handling that would make it fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has only one parameter (ctx) with 0% schema description coverage. The description doesn't mention parameters at all, which is acceptable for a zero-parameter tool. However, since there is technically one optional parameter, a perfect score would require acknowledging it exists.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('List') and resource ('all workspace groups accessible to the user in SingleStore'), providing specific scope. It distinguishes from sibling tools like 'workspaces_info' which lists workspaces within groups, establishing clear differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly provides two primary use cases ('Get workspace group IDs for other operations' and 'Plan maintenance windows') and names a specific alternative tool ('Use workspaces_info to list workspaces within a group'). This gives clear guidance on when to use this tool versus related operations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Related Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/singlestore-labs/mcp-server-singlestore'

If you have feedback or need assistance with the MCP directory API, please join our Discord server