Java 21 based MCP (Model Context Protocol) server that exposes relational databases through a Quarkus-powered HTTP interface using any JDBC driver (Virtuoso, Oracle, Informix, etc.).
https://github.com/OpenLinkSoftware/mcp-jdbc-serverStop copying and pasting SQL results into AI conversations. The mcp-jdbc-server turns any JDBC-compatible database into a first-class citizen in your MCP ecosystem, giving Claude Desktop direct access to query, explore, and analyze your data.
You're working with databases daily, but every time you need AI help with data analysis, you're stuck in this workflow: write query → copy results → paste into Claude → get insights → repeat. Meanwhile, your database schema knowledge lives in your head, not where your AI assistant can access it.
Most database-AI integrations require custom APIs, complex authentication flows, or cloud-specific solutions. You just want your existing databases accessible through MCP without rebuilding your infrastructure.
Universal Database Access: Works with any JDBC driver. Oracle, PostgreSQL, MySQL, Informix, SQL Server, Virtuoso - if it has a JDBC driver, you're connected.
Schema Intelligence: Claude can explore your database structure, understand relationships, and suggest queries based on actual table schemas and foreign keys.
Multiple Output Formats: Get results as JSON for programmatic work, Markdown tables for reporting, or JSONL for data processing pipelines.
Zero Database Changes: No stored procedures to install, no schema modifications needed. Just point to your existing database.
Virtuoso Powerhouse: If you're running Virtuoso, you get bonus features - SPARQL queries, SPASQL hybrid queries, and built-in AI assistant integration.
Data Analysis Sessions: "Claude, show me the customer retention rates by region from the last quarter." Claude can explore your schema, understand the relationships between customer, order, and region tables, and generate the appropriate joins.
Schema Documentation: "Help me document the relationship between these five tables." Claude examines foreign keys, column types, and constraints to generate comprehensive documentation.
Query Optimization: "This query is slow - can you suggest improvements?" Claude can analyze your table structures, indices, and suggest better approaches.
Database Migration Planning: "I need to move data from Oracle to PostgreSQL - what compatibility issues should I expect?" Claude can compare schemas and data types across both systems.
Troubleshooting Data Issues: "Why are we getting duplicate records in this report?" Claude can examine the underlying tables, understand the joins, and identify the root cause.
Add to your Claude Desktop config:
{
"mcpServers": {
"my_database": {
"command": "java",
"args": ["-jar", "/path/to/MCPServer-1.0.0-runner.jar"],
"env": {
"jdbc.url": "jdbc:postgresql://localhost:5432/mydb",
"jdbc.user": "username",
"jdbc.password": "password"
}
}
}
}
Multiple databases? No problem:
{
"mcpServers": {
"production_db": {
"command": "java",
"args": ["-jar", "/path/to/MCPServer-1.0.0-runner.jar"],
"env": {
"jdbc.url": "jdbc:oracle:thin:@prod-server:1521:PROD",
"jdbc.user": "readonly_user",
"jdbc.password": "safe_password"
}
},
"analytics_db": {
"command": "java",
"args": ["-jar", "/path/to/MCPServer-1.0.0-runner.jar"],
"env": {
"jdbc.url": "jdbc:postgresql://analytics:5432/warehouse",
"jdbc.user": "analyst",
"jdbc.password": "analyst_password"
}
}
}
}
This isn't just for Claude. Any MCP client can use these database tools. Build data analysis workflows, automated reporting systems, or integration scripts that leverage the same database access patterns.
The MCP Inspector makes debugging and testing straightforward:
npx @modelcontextprotocol/inspector java -jar MCPServer-1.0.0-runner.jar
Built on Quarkus for performance and reliability. The server handles connection pooling, query timeouts, and error handling. For production deployments, you control authentication, network access, and query permissions through your existing database security model.
No special cloud accounts, no API keys to manage (unless you want the Virtuoso AI features), no vendor lock-in. Just your database, accessible through MCP.
Ready to connect your first database? Clone the repo, build the JAR, and start treating your data as a conversational partner rather than a query destination.