此Model Context Protocol (MCP)服务器允许大型语言模型(LLMs)通过仅提供Java数据库连接(JDBC)URL来检查、查询、创建和修改数据库内容。
支持的数据库包括PostgresSQL、Oracle、MariaDB、Sqlite以及更多。

观看视频这里。
以下是用于配置服务器的命令行示例。
从空数据库开始(内存中的h2数据库):
jbang jdbc@quarkiverse/quarkus-mcp-servers
实时数据库(任何常见的JDBC兼容数据库):
jbang jdbc@quarkiverse/quarkus-mcp-servers [jdbc_url]
例如,连接到已运行的Oracle数据库:
jbang jdbc@quarkiverse/quarkus-mcp-servers jdbc:oracle:thin:@localhost:1521:orcl
您还可以单独指定用户名和密码,这里是一个PostgreSQL数据库的例子:
jbang jdbc@quarkiverse/quarkus-mcp-servers jdbc:postgresql://localhost:5432/sakila -u sakila -p p_ssW0rd
JBang可以从网络下载文件,并直接将其提供给h2和sqlite等数据库。
这可以通过使用%{url}语法来完成。
以下是如何连接到SQLite中的Chinook数据库的例子,从github下载Chinook_Sqlite.sqlite文件。
jbang jdbc@quarkiverse/quarkus-mcp-servers jdbc:sqlite:%{https://github.com/lerocha/chinook-database/raw/master/ChinookDatabase/DataSources/Chinook_Sqlite.sqlite}
在线上有一些有趣的样本数据可供使用,您可以用来探索数据。
下面是已知可以与该服务器直接使用的数据库和示例JDBC URL的非详尽列表(无需额外配置)。
Chinook
示例音乐商店数据,包括艺术家、专辑、曲目、发票等。
jdbc:sqlite:%{https://github.com/lerocha/chinook-database/raw/master/ChinookDatabase/DataSources/Chinook_Sqlite.sqlite}
Northwind
经典的Microsoft示例数据库,包括客户、订单、产品等。
jdbc:sqlite:%{https://github.com/jpwhite3/northwind-SQLite3/raw/refs/heads/main/dist/northwind.db}
Netflix Movies
基于Netflix目录的示例电影数据
jdbc:sqlite:%{https://github.com/lerocha/netflixdb/releases/download/v1.0.0/netflixdb.sqlite}
| 数据库 | 依赖项 |
|---|---|
| MariaDB | org.mariadb.jdbc:mariadb-java-client:RELEASE |
| MySQL | mysql:mysql-connector-java:RELEASE |
| PostgreSQL | org.postgresql:postgresql:RELEASE |
| Oracle | com.oracle.database.jdbc:ojdbc10:RELEASE |
| SQL Server | com.microsoft.sqlserver:mssql-jdbc:RELEASE |
| SAP DB | com.sapcloud.db.jdbc:ngdbc:RELEASE |
| Informix | com.ibm.informix:jdbc:RELEASE |
| Firebird | org.firebirdsql.jdbc:jaybird:RELEASE |
| hsqldb | org.hsqldb:hsqldb:RELEASE |
| h2 | com.h2database:h2:RELEASE |
| Apache Derby | org.apache.derby:derby:RELEASE |
| SQLite | org.xerial:sqlite-jdbc:RELEASE |
以下是该服务器提供的MCP组件。
在您的claude_desktop_config.json或server_config.json文件中添加以下内容:
{
"mcpServers": {
"jdbc": {
"command": "jbang",
"args": [
"jdbc@quarkiverse/quarkus-mcp-servers",
"[jdbc_url]"
]
}
}
}
未找到jbang
jbang并将其添加到PATH中/Users/username/.jbang/jbang)获取更多日志
要获取更详细的日志,可以在jbang命令行中添加以下参数:
-Dquarkus.log.file.enable=true -Dquarkus.log.file.path=${user.home}/mcp-server-jdbc.log
示例:
jbang -Dquarkus.log.file.enable=true -Dquarkus.log.file.path=${user.home}/mcp-jdbc.log jdbc@quarkiverse/quarkus-mcp-servers jdbc:h2:mem:testdb
虽然该服务器可以编译成原生可执行文件,但不推荐这样做,因为这样就无法动态加载相关的JDBC驱动程序。
不过,您可以编译一个针对特定JDBC驱动程序的目标服务器,但这目前留给读者作为练习。如果您对此感兴趣,请打开问题或PR。
MCP服务器使用Quarkus,即超音速亚原子Java框架及其对Model Context Protocol的支持。
如需了解更多关于Quarkus MCP服务器支持的信息,请参阅这篇博客文章和Quarkus MCP服务器扩展文档。
为了启动服务器并处理JDBC URL的神奇设置,它使用jbang来尽可能透明地设置Java并运行.jar文件。这与uvx、pipx、npmx等工具非常相似;只是针对Java。