An MCP (Model Context Protocol) server for CockroachDB clusters. Enables AI assistants like Claude to query and interact with CockroachDB through natural language.
- Natural Language Queries: Ask Claude about your data in plain English
- Schema Discovery: Explore databases, tables, columns, and indexes
- CRUD Operations: Read, insert, update, and delete rows safely
- Cluster Operations: Monitor cluster health and node status
- Multi-Region Support: Query distributed data across regions
- Data Export: Export query results to JSON or CSV
- Transaction Support: Begin, commit, and rollback transactions
- Knowledge Persistence: Claude remembers what it learns about your cluster
- Safety Controls: Read-only mode, command blocking, row limits
- Connection Watchdog: Automatic recovery from hung connections
- OAuth Integration: Deploy as a Claude.ai Custom Connector with SSO
pip install cockroachdb-mcpEdit your Claude Desktop config file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"cockroachdb": {
"command": "cockroachdb-mcp",
"env": {
"CRDB_HOST": "your-cluster.cockroachlabs.cloud",
"CRDB_USER": "your-username",
"CRDB_PASSWORD": "your-password",
"CRDB_DATABASE": "your-database",
"CRDB_CLUSTER": "your-cluster-id",
"CRDB_READ_ONLY": "true"
}
}
}
}Quit and reopen Claude Desktop. You'll see a hammer icon indicating tools are available.
Ask Claude about your CockroachDB data:
"What tables are available?"
"Describe the users table"
"Show me the top 10 orders by total amount"
"What's the cluster health status?"
| Guide | Description |
|---|---|
| Installation | Complete installation guide |
| Configuration | All configuration options |
| Tools Reference | Detailed tool documentation |
| Usage Examples | Common usage patterns |
| OAuth Setup | Claude.ai integration with SSO |
| Tool | Description |
|---|---|
connect |
Connect to the cluster |
disconnect |
Close connections |
cluster_status |
Get cluster health |
list_nodes |
List cluster nodes |
| Tool | Description |
|---|---|
list_databases |
List all databases |
list_tables |
List tables and views |
describe_table |
Get column information |
| Tool | Description |
|---|---|
execute_query |
Run SELECT queries |
validate_query |
Check query safety |
| Tool | Description |
|---|---|
read_rows |
Read rows by key or filter |
insert_row |
Insert a new row |
update_row |
Update existing row |
delete_row |
Delete row by key |
| Tool | Description |
|---|---|
begin_transaction |
Start transaction |
commit_transaction |
Commit changes |
rollback_transaction |
Rollback changes |
| Tool | Description |
|---|---|
export_to_json |
Export to JSON |
export_to_csv |
Export to CSV |
save_knowledge |
Save learned info |
get_all_knowledge |
Retrieve knowledge |
| Variable | Description |
|---|---|
CRDB_HOST |
CockroachDB host |
CRDB_USER |
Database username |
CRDB_DATABASE |
Database name |
| Variable | Default | Description |
|---|---|---|
CRDB_PORT |
26257 |
Database port |
CRDB_PASSWORD |
Database password | |
CRDB_CLUSTER |
Cloud cluster ID | |
CRDB_SSLMODE |
require |
SSL mode |
| Variable | Default | Description |
|---|---|---|
CRDB_READ_ONLY |
false |
Block write operations |
CRDB_MAX_ROWS |
1000 |
Max rows per query |
CRDB_BLOCKED_COMMANDS |
DROP,... |
Commands to block |
cockroachdb-mcpcockroachdb-mcp --http --host 0.0.0.0 --port 8080cockroachdb-mcp --streamable-http --host 0.0.0.0 --port 8080# Clone repository
git clone https://github.com/bpamiri/cockroachdb-mcp.git
cd cockroachdb-mcp
# Install with dev dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Lint and format
ruff check .
ruff format .
# Type check
mypy src/- Passwords and credentials are never logged
- Configurable command blocklist
- Optional read-only mode
- Result size limits
- Query validation
- SSL/TLS encryption support
Apache-2.0. See LICENSE for details.