Skip to main content
Glama
bpamiri

CockroachDB MCP Server

by bpamiri

show_regions

Display database regions in multi-region CockroachDB clusters to identify available geographic locations for data distribution and query routing.

Instructions

Show database regions for multi-region clusters.

Returns: Region information.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • Registration of the 'show_regions' tool using @mcp.tool() decorator. This handler delegates to the cluster module implementation.
    @mcp.tool() async def show_regions() -> dict[str, Any]: """Show database regions for multi-region clusters. Returns: Region information. """ try: return await cluster.show_regions() except Exception as e: return {"status": "error", "error": str(e)}
  • Core implementation of show_regions that queries CockroachDB for database regions, primary/secondary regions, survival goal, and cluster regions using crdb_internal tables and SHOW REGIONS.
    async def show_regions() -> dict[str, Any]: """Show database regions for multi-region clusters. Returns: Region information. """ conn = await connection_manager.ensure_connected() try: async with conn.cursor() as cur: # Get database regions await cur.execute(""" SELECT database_name, primary_region, secondary_region, regions, survival_goal FROM crdb_internal.databases WHERE database_name = current_database() """) db_row = await cur.fetchone() if not db_row: return { "status": "success", "database": connection_manager.current_database, "is_multi_region": False, "message": "Database is not configured for multi-region", } # Get all regions in the cluster await cur.execute("SHOW REGIONS") region_rows = await cur.fetchall() regions = [row.get("region") for row in region_rows if row.get("region")] return { "status": "success", "database": db_row.get("database_name"), "primary_region": db_row.get("primary_region"), "secondary_region": db_row.get("secondary_region"), "regions": db_row.get("regions"), "survival_goal": db_row.get("survival_goal"), "cluster_regions": regions, "is_multi_region": bool(db_row.get("primary_region")), } except Exception as e: # Multi-region may not be enabled if "unknown function" in str(e).lower() or "regions" in str(e).lower(): return { "status": "success", "is_multi_region": False, "message": "Multi-region is not enabled for this cluster", } return {"status": "error", "error": str(e)}

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/bpamiri/cockroachdb-mcp'

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