The official Docker image for the Dolt MCP (Model Context Protocol) Server, providing AI assistants with direct access to Dolt databases.
docker run -d \
--name dolt-mcp-server \
-p 8080:8080 \
-e MCP_MODE=http \
-e DOLT_HOST=your-dolt-host \
-e DOLT_USER=root \
-e DOLT_DATABASE=your_database \
-e DOLT_PASSWORD=your_password \
dolthub/dolt-mcp:latest
docker run -it --rm \
-e MCP_MODE=stdio \
-e DOLT_HOST=your-dolt-host \
-e DOLT_USER=root \
-e DOLT_DATABASE=your_database \
-e DOLT_PASSWORD=your_password \
dolthub/dolt-mcp:latest
The -doltlite image tags (dolthub/dolt-mcp:latest-doltlite, dolthub/dolt-mcp:<version>-doltlite) ship a build of the server with embedded DoltLite support: a version-controlled database stored in a single local file, with no Dolt or DoltgreSQL server needed. Mount a volume at /data so the database file persists across container restarts.
docker run -d \
--name dolt-mcp-server-doltlite \
-p 8080:8080 \
-v dolt_mcp_data:/data \
-e MCP_MODE=http \
-e DOLT_DB_FILE=/data/mydb.db \
-e DOLT_COMMIT_NAME="Your Name" \
-e [email protected] \
dolthub/dolt-mcp:latest-doltlite
Stdio mode:
docker run -it --rm \
-v dolt_mcp_data:/data \
-e MCP_MODE=stdio \
-e DOLT_DB_FILE=/data/mydb.db \
-e DOLT_COMMIT_NAME="Your Name" \
-e [email protected] \
dolthub/dolt-mcp:latest-doltlite
The DoltLite image defaults to MCP_DIALECT=doltlite, DOLT_DB_FILE=/data/doltlite.db, DOLTLITE_CREDS_DIR=/data/creds, and DOLTLITE_BUSY_TIMEOUT=5s. DOLT_HOST, DOLT_USER, DOLT_PORT, and DOLT_PASSWORD are not used. Setting DOLT_COMMIT_NAME/DOLT_COMMIT_EMAIL is recommended; otherwise Dolt commits are authored as "doltlite". Each tool call uses its own pinned DoltLite database handle; DoltLite coordinates concurrent readers and permits one durable writer at a time. The DoltLite image is published for linux/amd64 and linux/arm64.
DOLT_HOST - Hostname of the Dolt SQL server (not used with doltlite)DOLT_USER - Username for Dolt server authentication (not used with doltlite)DOLT_DATABASE - Name of the database to connect to (not used with doltlite)DOLT_PASSWORD - Password for authentication (recommended to use Docker secrets in production)DOLT_PORT - Server port (default: 3306 for dolt, 5432 for doltgres)MCP_DIALECT - SQL dialect: dolt (MySQL-compatible), doltgres (PostgreSQL-compatible), or doltlite (embedded, requires the -doltlite image variant). Default: dolt (doltlite in the -doltlite images)MCP_MODE - Server mode: http or stdio (default: stdio)MCP_PORT - HTTP server port (default: 8080, HTTP mode only)DOLT_DB_FILE - Path to the DoltLite database file inside the container (required with doltlite; default in the -doltlite images: /data/doltlite.db). The file is created if it does not exist.DOLT_COMMIT_NAME - Author name for Dolt commits (recommended)DOLT_COMMIT_EMAIL - Author email for Dolt commits (recommended)DOLTLITE_BUSY_TIMEOUT - How long DoltLite waits for a conflicting lock (default: 5s; 0 disables waiting)DOLTLITE_CREDS_DIR - Credential directory used by authenticated HTTP(S) remotes (default in the DoltLite image: /data/creds)DOLTLITE_CREDS_KID - Optional credential key ID when the directory contains more than one keyDOLTLITE_CA_FILE - Optional CA bundle for a private HTTPS remoteversion: '3.8'
services:
dolt-mcp-server:
image: dolthub/dolt-mcp:latest
ports:
- "8080:8080"
environment:
- MCP_MODE=http
- DOLT_HOST=dolt-server
- DOLT_PORT=3306
- DOLT_USER=root
- DOLT_DATABASE=myapp
- DOLT_PASSWORD=secret
depends_on:
- dolt-server
restart: unless-stopped
healthcheck:
test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:8080/health"]
interval: 30s
timeout: 10s
retries: 3
dolt-server:
image: dolthub/dolt-sql-server:latest
ports:
- "3306:3306"
volumes:
- dolt_data:/var/lib/dolt
environment:
- DOLT_ROOT_PATH=/var/lib/dolt
restart: unless-stopped
volumes:
dolt_data:
For stdio mode with Claude Desktop, you can run the container and connect to it:
{
"mcpServers": {
"dolt-mcp": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"-e", "MCP_MODE=stdio",
"-e", "DOLT_HOST=your-dolt-host",
"-e", "DOLT_USER=root",
"-e", "DOLT_DATABASE=your_database",
"-e", "DOLT_PASSWORD=your_password",
"dolthub/dolt-mcp:latest"
]
}
}
}
Or with the DoltLite variant (no database server required):
{
"mcpServers": {
"dolt-mcp-doltlite": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"-v", "dolt_mcp_data:/data",
"-e", "MCP_MODE=stdio",
"-e", "DOLT_DB_FILE=/data/mydb.db",
"-e", "DOLT_COMMIT_NAME=Your Name",
"-e", "[email protected]",
"dolthub/dolt-mcp:latest-doltlite"
]
}
}
}
doltmcp:1001)The image includes health checks:
This image provides 40+ MCP tools for:
This project follows the same license as the main Dolt project.
Content type
Image
Digest
sha256:badcb1196…
Size
42.5 MB
Last updated
about 1 month ago
docker pull dolthub/dolt-mcp