Loading...

A Java-based MCP server using JDBC to interact with databases, offering schema exploration, table descriptions, query execution, and Virtuoso-specific features.
Boost this tool
Subscribe to listing upgrades or segmented pushes.
A Java-based MCP server using JDBC to interact with databases, offering schema exploration, table descriptions, query execution, and Virtuoso-specific features.
This server provides useful database interaction capabilities, but the risk of SQL injection and data exposure must be carefully managed. The Virtuoso-specific features should only be enabled when interacting with a Virtuoso database.
Performance depends on the complexity of the queries and the underlying database system. Optimize queries for better performance.
Cost depends on the resources consumed by the database server and any associated cloud services. Virtuoso-specific AI features may incur additional costs.
npx @modelcontextprotocol/inspector{
"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": "password",
"jdbc.api_key": "sk-xxx"
}
}
}
}CLASSPATHjdbc_get_schemasLists database schemas accessible to the connected database management system.
Read-only operation, no data modification.
jdbc_get_tablesLists tables associated with a selected database schema.
Read-only operation, no data modification.
jdbc_describe_tableProvides the description of a table, including column names, data types, and key information.
Read-only operation, no data modification.
jdbc_filter_table_namesLists tables based on a substring pattern from the input, associated with a selected database schema.
Read-only operation, no data modification.
jdbc_query_databaseExecutes a SQL query and returns the results in JSON format.
Executes arbitrary SQL queries, potential for data exposure.
jdbc_execute_queryExecutes a SQL query and returns the results in JSONL format.
Executes arbitrary SQL queries, potential for data exposure.
jdbc_execute_query_mdExecutes a SQL query and returns the results in Markdown table format.
Executes arbitrary SQL queries, potential for data exposure.
jdbc_spasql_queryExecutes a SPASQL query and returns results (Virtuoso-specific).
Executes SPASQL queries, potential for data exposure and Virtuoso dependency.
jdbc_sparql_queryExecutes a SPARQL query and returns results (Virtuoso-specific).
Executes SPARQL queries, potential for data exposure and Virtuoso dependency.
jdbc_virtuoso_support_aiInteracts with LLMs through the Virtuoso Support Assistant/Agent (Virtuoso-specific).
Accesses AI service with potential for data leakage and unexpected behavior.
Environment Variable
This server provides useful database interaction capabilities, but the risk of SQL injection and data exposure must be carefully managed. The Virtuoso-specific features should only be enabled when interacting with a Virtuoso database.
Autonomy is limited by the permissions granted to the database user. Ensure appropriate access controls are in place.
Production Tip
Sanitize all user-provided input to prevent SQL injection attacks.
Any database with a JDBC driver, including Virtuoso, Oracle, and Informix.
Set the `jdbc.url`, `jdbc.user`, and `jdbc.password` environment variables.
Sanitize all user-provided input before including it in SQL queries.
No, the SPASQL, SPARQL, and AI assistant features are specific to Virtuoso.
JSON Lines format, where each line is a valid JSON object, suitable for streaming data.
Check the JDBC URL, username, and password. Ensure the database server is running and accessible.
Yes, configuration instructions are provided in the README.