CockroachDB MCP Server

Full - featured MCP implementation built with FastAPI and CockroachDB. Supports schema bootstrapping, JSONB storage, LLM-ready CLI, and optional /debug endpoints.

Updated 1 month ago
Added Jun 11, 2025

Docs & Usage Guide

cockroachdb-mcp-server

PyPI Python License CI MCP Compatible

A Model Context Protocol (MCP) server implemented in Python using FastAPI and CockroachDB.


๐Ÿง  What This Is

cockroachdb-mcp-server is a production-grade, spec-aligned MCP server that:

  • Implements the Model Context Protocol
  • Uses CockroachDB as a resilient, SQL-compatible backend
  • Exposes full CRUD APIs for managing model contexts
  • Stores context definitions as JSONB, allowing arbitrary input/output schema
  • Works seamlessly with the cockroachdb-mcp-client CLI

โœ… Feature Highlights

  • โœ… REST API for MCP context management (/contexts)
  • โœ… Schema bootstrapping via CLI flag or env var
  • โœ… CRDB URL auto-detection and dialect fix
  • โœ… Structured logging and configurable log level
  • โœ… Ready for /run, /deploy, /evaluate extensions

๐Ÿš€ Quickstart

๐Ÿ“ฆ Install from PyPI

pip install cockroachdb-mcp-server

๐Ÿƒ Run with schema init

cockroachdb-mcp-server serve --init-schema --log-level INFO

Or:

export MCP_AUTO_INIT_SCHEMA=true
cockroachdb-mcp-server serve

Server runs at http://localhost:8081 by default


๐Ÿ”ง CLI Usage

cockroachdb-mcp-server serve --init-schema
cockroachdb-mcp-server serve --port 8081 --host 127.0.0.1 --reload
cockroachdb-mcp-server --version

๐Ÿ” Configuring the Database

โœ… Set the CRDB_URL environment variable

export CRDB_URL="postgresql://root@localhost:26257/defaultdb?sslmode=disable"

Automatically rewritten to cockroachdb://... under the hood for compatibility.

Alternatively, set it directly:

export CRDB_URL="cockroachdb://root@localhost:26257/defaultdb?sslmode=disable"

โœ… Both formats are supported.


๐Ÿงช API Endpoints

Method Path Description
POST /contexts Create a context
GET /contexts List all contexts
GET /contexts/{id} Get context by ID
PUT /contexts/{id} Update context
DELETE /contexts/{id} Delete context

๐Ÿ“˜ View full API reference โ†’

๐Ÿ“˜ View hosted API Docs


๐Ÿงฑ Schema Auto-Bootstrap

Run this manually:

cockroachdb-mcp-server serve --init-schema

Or automatically with:

export MCP_AUTO_INIT_SCHEMA=true

The schema created is:

CREATE TABLE IF NOT EXISTS mcp_contexts (
  id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
  context_name STRING NOT NULL,
  context_version STRING NOT NULL,
  body JSONB NOT NULL,
  created_at TIMESTAMP DEFAULT now()
);

๐Ÿ”— Related Projects

  • cockroachdb-mcp-client: CLI tool to manage MCP contexts, simulate LLM runs, export, and batch simulate across providers.

๐Ÿ™Œ Contributions

This project is designed for internal and community use.

PRs welcome to extend functionality (auth, deployment support, /evaluate, telemetry, etc.).

Privacy Policy   19.30ms  0.92MB