mcp-jdbc-server MCP Server

A lightweight Java-based MCP (Model Context Protocol) server for JDBC built with Quakrus. This server is compatible with Virtuoso DBMS and any other DBMS backend that has a JDBC driver.

Local serverstdio

What is the mcp-jdbc-server MCP Server?

mcp-jdbc-server is an MCP project maintained in the openlinksoftware/mcp-jdbc-server repository. The maintainer describes its purpose as “A lightweight Java-based MCP (Model Context Protocol) server for JDBC built with Quakrus. This server is compatible with Virtuoso DBMS and any other DBMS backend…”. Read the project documentation for the complete scope.

Local setup

The project provides a local client configuration using java. Follow the repository’s build and installation steps before copying it, and replace example paths with the paths on your own computer.

Configuration values

The example declares jdbc.url, jdbc.user, jdbc.password, jdbc.api_key. Secret-looking values have been replaced with placeholders. Required and optional labels are shown only when the documentation states them.

Source

Project documentation · Repository · Discovery listing. This profile records the public documentation checked on 2026-10-08.

Recorded tools

Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.

ToolWhat it does
userstring, optional): Database username. Defaults to "demo".
passwordstring, optional): Database password. Defaults to "demo".
urlstring, optional): JDBC URL connection string.
schemastring, required): The database schema name containing the table.
tablestring, required): The name of the table to describe.
querystring, required): The SPARQL query string.
max_rowsnumber, optional): Maximum number of rows to return. Defaults to 20.
timeoutnumber, optional): Query timeout in milliseconds. Defaults to 30000 (i.e., 30 seconds).
formatstring, optional): Desired result format. Defaults to 'json'.
promptstring, required): The prompt text for the AI function.
api_keystring, optional): API key for the AI service. Defaults to "none".
jdbc_get_schemasList database schemas accessible to connected database management system (DBMS).
jdbc_get_tablesList tables associated with a selected database schema.
jdbc_describe_tableProvide the description of a table associated with a designated database schema. This includes information about column names, data types, nulls handling…
jdbc_filter_table_namesList tables, based on a substring pattern from the q input field, associated with a selected database schema.
jdbc_query_databaseExecute a SQL query and return results in JSONL format.
jdbc_execute_queryExecute a SQL query and return results in JSONL format.
jdbc_execute_query_mdExecute a SQL query and return results in Markdown table format.
jdbc_spasql_query_A Virtuoso-specific feature!_ Execute a SPASQL query and return results.
jdbc_sparql_query_A Virtuoso-specific feature!_ Execute a SPARQL query and return results.
jdbc_virtuoso_support_ai_A Virtuoso-specific feature!_ Interact with LLMs through the Virtuoso Support Assistant/Agent.

How to install the mcp-jdbc-server MCP Server

{
  "mcpServers": {
    "my_database": {
      "command": "java",
      "args": [
        "-jar",
        "/path/to/mcp-jdbc-server/MCPServer-1.0.0-runner.jar"
      ],
      "env": {
        "jdbc.url": "jdbc:virtuoso://localhost:1111",
        "jdbc.user": "username",
        "jdbc.password": "YOUR_jdbc.password",
        "jdbc.api_key": "YOUR_jdbc.api_key"
      }
    }
  }
}

From the project documentation. Replace placeholders and example paths before connecting.

Configuration

VariableDescriptionRequired
jdbc.urlDeclared in the maintainer’s client configuration.Check documentation
jdbc.userDeclared in the maintainer’s client configuration.Check documentation
jdbc.passwordDeclared in the maintainer’s client configuration.Check documentation
jdbc.api_keyDeclared in the maintainer’s client configuration.Check documentation