About CDM MCP Server
CDM MCP Server is a FastAPI service for developers to work with Delta Lake tables in MinIO through Spark during local development or evaluation. It supports natural-language data operations, but is explicitly not approved for production use.
Key features
- 01Access Delta Lake tables through Spark
- 02Store data in MinIO
- 03Support natural-language data operations
- 04Provide a FastAPI service
Use cases
- 01Evaluate Delta Lake operations locally
- 02Query sample tables in a development environment
MCP support
The service implements MCP so an MCP host can use natural-language requests to operate on Delta Lake tables. Query results are sent to the model host unless the model runs locally; the project is limited to local development or evaluation.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMECDM MCP Server
A FastAPI-based service that enables AI assistants to interact with Delta Lake tables stored in MinIO through Spark, implementing the Model Context Protocol (MCP) for natural language data operations.
⚠️ Important Warning:
This service allows arbitrary
read-orientedqueries to be executed against Delta Lake tables. Query results will be sent to the model host server, unless you are hosting your model locally.
❌ Additionally, this service is NOT approved for deployment to any production environment, including CI, until explicit approval is granted by KBase leadership. Use strictly for local development or evaluation purposes only.
Documentation
For detailed documentation, please refer to the User Guide. The guide covers:
- Quick Start - Bring the local service up and running
- Creating Sample Delta Tables - Set up local test data
- Using the API - Direct API usage examples
- AI Assistant Integration - Configure and use with MCP Host tools
- MCP Configuration - Create
mcp.json - MCP Host Setup - Configure MCP Host
- Example Prompts - Natural language examples
- MCP Configuration - Create
Quick Start
-
Clone the repository:
git clone https://github.com/kbase/cdm-mcp-server.git cd cdm-mcp-server -
Create required directories:
mkdir -p cdr/cdm/jupyter/cdm_shared_workspace -
Create Docker network:
docker network create cdm-jupyterhub-network -
Start the services:
docker-compose up -d --build -
Access the services:
- MCP Server: http://localhost:8000/docs
- MinIO Console: http://localhost:9003
- Spark Master UI: http://localhost:8090
- JupyterHub: http://localhost:4043
Testing
# Install dependencies (only required on first run or when the uv.lock file changes)
uv sync --locked
# Run tests
PYTHONPATH=. uv run pytest tests
# Run with coverage
PYTHONPATH=. uv run pytest --cov=src tests/
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.