Enables AI assistants to interact with various databases through JDBC connections.
This is a fork of the Quarkus MCP JDBC Server with added features:
The Model Context Protocol (MCP) server enables AI assistants to interact with databases through JDBC connections, making it possible for LLMs to inspect, query, create, and modify database content.
You can now run the JDBC-MCP server in a Docker container.
docker run -d --name jdbc-mcp \
-p 8080:8080 \
-e enable.write.sql=false \
-e jdbc.user=db_user \
-e jdbc.password=db_password \
-e jdbc.url=jdbc:postgresql://host:port/database \
guang1/jdbc-mcp:latest
Create a .env
file:
enable.write.sql=false
jdbc.user=db_user
jdbc.password=db_password
jdbc.url=jdbc:postgresql://host:port/database
Then run:
docker run -d --name jdbc-mcp \
-p 8080:8080 \
--env-file .env \
guang1/jdbc-mcp:latest
services:
jdbc-mcp:
container_name: jdbc-mcp
ports:
- 8080:8080
environment:
- enable.write.sql=false
- jdbc.user=db_user
- jdbc.password=db_password
- jdbc.url=jdbc:postgresql://host:port/database
restart: always
image: guang1/jdbc-mcp:latest
services:
jdbc-mcp:
container_name: jdbc-mcp
ports:
- 8080:8080
env_file:
- .env
restart: always
image: guang1/jdbc-mcp:latest
http://localhost:8080/mcp/sse
Must pass quarkus.mcp.server.stdio.enabled=true
, quarkus.log.console.enable=false
and quarkus.log.console.stderr=false
environment variables with -i
interactive option.
docker run --rm \
-e enable.write.sql=false \
-e jdbc.user=db_user \
-e jdbc.password=db_password \
-e jdbc.url=jdbc:postgresql://host:port/database \
-e quarkus.mcp.server.stdio.enabled=true \
-e quarkus.log.console.enable=false \
-e quarkus.log.console.stderr=false \
guang1/jdbc-mcp:latest
docker run --rm
--env-file .env \
-e quarkus.mcp.server.stdio.enabled=true \
-e quarkus.log.console.enable=false \
-e quarkus.log.console.stderr=false \
guang1/jdbc-mcp:latest
To use the Docker version with Claude Desktop, add this to your claude_desktop_config.json
or server_config.json
file:
{
"mcpServers": {
"jdbc": {
"command": "docker",
"args": [
"run",
"--rm",
"-e",
"enable.write.sql=false",
"-e",
"jdbc.user=db_user",
"-e",
"jdbc.password=db_password",
"-e",
"jdbc.url=jdbc:postgresql://host:port/database",
"-e",
"quarkus.mcp.server.stdio.enabled=true",
"-e",
"quarkus.log.console.enable=false",
"-e",
"quarkus.log.console.stderr=false",
"-i",
"guang1/jdbc-mcp:latest"
]
}
}
}
{
"mcpServers": {
"jdbc": {
"command": "docker",
"args": [
"run",
"--rm",
"--env-file",
".env",
"-e",
"quarkus.mcp.server.stdio.enabled=true",
"-e",
"quarkus.log.console.enable=false",
"-e",
"quarkus.log.console.stderr=false",
"-i",
"guang1/jdbc-mcp:latest"
]
}
}
}
Variable | Description | Default |
---|---|---|
jdbc.url | JDBC connection URL (required) | - |
jdbc.user | Database username | - |
jdbc.password | Database password | - |
enable.write.sql | Enable SQL operations that modify data | false |
This MCP server supports multiple database types through JDBC. For detailed information on supported JDBC variants, please see the quarkus-mcp-servers/jdbc documentation.
⚠️ Warning: When enable.write.sql
is set to true
, the MCP server can execute SQL statements that modify data. Use with caution in production environments.
Consider these best practices:
This MCP server provides a standardized API that Large Language Models can use to interact with your database. To connect your LLM:
By default, write operations (INSERT, UPDATE, DELETE) are disabled for security. To enable them:
-e enable.write.sql=true
as shown aboveFor all other features, including supported databases, general usage, example databases, MCP components, and troubleshooting, please refer to the original repository documentation:
Quarkus MCP JDBC Server Documentation
This project is licensed under the Apache License 2.0.
A read-only MCP server for querying live data from Outreach.io using the CData JDBC Driver.
An MCP server providing administrative control over a Supabase PostgreSQL database, compatible with Cursor's Composer and Codeium's Cascade.
Provides access to Jewish texts from the Sefaria library.
Implement semantic memory layer on top of the Qdrant vector search engine
An MCP server for Firebird SQL databases, enabling LLMs to securely access, analyze, and manipulate database content.
A read-only MCP server for querying live eBay data. Requires a separately licensed CData JDBC Driver for eBay.
Interact with the Stellar blockchain to manage wallets, list tokens, query balances, and transfer funds.
Open source MCP server specializing in easy, fast, and secure tools for Databases.
A runtime-configurable MCP server that turns a Supabase project into an AI-compatible tool interface.
Manage MongoDB Atlas projects, including cluster creation, user management, and network access configuration.