cockroachdb-mcp-server
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-clientCLI
✅ Feature Highlights
- ✅ REST API for MCP context management (
/contexts) - ✅ Schema bootstrapping via CLI flag or env var
- ✅ CRDB URL auto-detection and dialect fix
- ✅ ASCII banner and version info
- ✅ Structured logging and configurable log level
- ✅ Ready for
/run,/deploy,/evaluateextensions
🚀 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:8081by 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
cockroachdb-mcp-server --banner
🔐 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 |
🧱 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.).
Metadata
Release files for cockroachdb-mcp-server 0.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| cockroachdb_mcp_server-0.2.2.tar.gz | 10.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cockroachdb_mcp_server-0.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 22.4 kB
Release files / cockroachdb_mcp_server-0.2.2.tar.gz
| Download URL | cockroachdb_mcp_server-0.2.2.tar.gz |
|---|---|
| Size | 10.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2b03687817660630437b0a32542b9ccbeead1fb13923ed2cd1dfcb87e26e149b
|
|
BLAKE2b-256 checksum How to use checksums |
6bf2815fce645144e5d8113d7c17237b72c4c2ec63e2498f0b9294f9c836fc19
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.12
|
Release files / cockroachdb_mcp_server-0.2.2-py3-none-any.whl
| Download URL | cockroachdb_mcp_server-0.2.2-py3-none-any.whl |
|---|---|
| Size | 11.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5cb959327e1c9c646e54430396625507fd7f2d8145fcf463ca4e73cdacdc0cdb
|
|
BLAKE2b-256 checksum How to use checksums |
fcbf4b350da57a1d4356ea57bc6c895969c7e3580d353254ea805b6b20e2237a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.12
|
Security for cockroachdb-mcp-server 0.2.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.