mcp-jdbc

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Allows querying, modifying, and creating tables in MariaDB databases via JDBC, including SELECT, INSERT, UPDATE, and DELETE operations

  • Enables inspection and manipulation of MySQL database content through SQL queries, with support for table creation and management

  • Provides access to a sample Netflix movie database for exploration and querying through the JDBC interface

Servidor de protocolo de contexto de modelo para JDBC

Este servidor de Protocolo de Contexto de Modelo (MCP) permite que los Modelos de Lenguaje Grandes (LLM) inspeccionen, consulten, creen y modifiquen el contenido de la base de datos con solo una URL de Conectividad de Base de Datos Java (JDBC).

Las bases de datos compatibles incluyen PostgresSQL, Oracle, MariaDB, Sqlite y muchas más .

Vea el vídeo aquí .

Uso general

  1. Instalar jbang
  2. Configure su cliente MCP para ejecutar el servidor (consulte Configuración de escritorio de Claude a continuación)

A continuación se muestran ejemplos de líneas de comando que se pueden utilizar para configurar el servidor.

Comience con una base de datos vacía (base de datos h2 en memoria):

jbang jdbc@quarkiverse/quarkus-mcp-servers

Una base de datos en vivo (cualquier base de datos común compatible con JDBC):

jbang jdbc@quarkiverse/quarkus-mcp-servers [jdbc_url]

Por ejemplo, para conectarse a una base de datos Oracle que ya está en ejecución:

jbang jdbc@quarkiverse/quarkus-mcp-servers jdbc:oracle:thin:@localhost:1521:orcl

También puede especificar un usuario y una contraseña por separado, aquí para una base de datos PostgreSQL:

jbang jdbc@quarkiverse/quarkus-mcp-servers jdbc:postgresql://localhost:5432/sakila -u sakila -p p_ssW0rd

Bases de datos descargables

JBang puede descargar archivos de la web y alimentarlos directamente a bases de datos como h2 y sqlite.

Esto se hace utilizando la sintaxis %{url}.

A continuación se muestra un ejemplo de cómo conectarse a una base de datos Chinook en SQLite, descargando el archivo Chinook_Sqlite.sqlite desde github.

jbang jdbc@quarkiverse/quarkus-mcp-servers jdbc:sqlite:%{https://github.com/lerocha/chinook-database/raw/master/ChinookDatabase/DataSources/Chinook_Sqlite.sqlite}

Hay ejemplos interesantes de datos de muestra disponibles en línea que puede utilizar para explorar los datos.

A continuación se muestra una lista no exhaustiva de bases de datos y URL JDBC de ejemplo que se sabe que funcionan con este servidor tal como están (no se requiere configuración adicional).

Bases de datos de ejemplo

Chinook

Datos de muestra de la tienda de música, incluidos artistas, álbumes, pistas, facturas, etc.

jdbc:sqlite:%{https://github.com/lerocha/chinook-database/raw/master/ChinookDatabase/DataSources/Chinook_Sqlite.sqlite}

Viento del norte

Base de datos de muestra clásica de Microsoft con clientes, pedidos, productos, etc.

jdbc:sqlite:%{https://github.com/jpwhite3/northwind-SQLite3/raw/refs/heads/main/dist/northwind.db}

Películas de Netflix

Datos de películas de muestra basados en el catálogo de Netflix

jdbc:sqlite:%{https://github.com/lerocha/netflixdb/releases/download/v1.0.0/netflixdb.sqlite}

Variantes de JDBC compatibles

Base de datosDependencia
MariaDBorg.mariadb.jdbc:mariadb-java-client:RELEASE
MySQLmysql:mysql-connector-java:RELEASE
PostgreSQLorg.postgresql:postgresql:RELEASE
Oráculocom.oracle.database.jdbc:ojdbc10:RELEASE
Servidor SQLcom.microsoft.sqlserver:mssql-jdbc:RELEASE
Base de datos SAPcom.sapcloud.db.jdbc:ngdbc:RELEASE
Informixcom.ibm.informix:jdbc:RELEASE
Pájaro de fuegoorg.firebirdsql.jdbc:jaybird:RELEASE
hsqldborg.hsqldb:hsqldb:RELEASE
h2com.h2database:h2:RELEASE
Derby apacheorg.apache.derby:derby:RELEASE
SQLiteorg.xerial:sqlite-jdbc:RELEASE

Componentes

A continuación se muestran los componentes MCP proporcionados por este servidor.

Herramientas

  • read_query - realiza una consulta SELECT en la base de datos
  • write_query - realiza una consulta INSERTAR, ACTUALIZAR, ELIMINAR en la base de datos
  • create_table - crea una tabla en la base de datos
  • list_tables - enumera todas las tablas en la base de datos
  • describe_table - describe una tabla

Indicaciones

  • jdbc_demo : ejemplo de solicitud para comenzar a explorar el servidor (similar al de sqllite MCP)

Configuración de escritorio de Claude y mcp-cli

Agregue esto a su archivo claude_desktop_config.json o server_config.json :

{ "mcpServers": { "jdbc": { "command": "jbang", "args": [ "jdbc@quarkiverse/quarkus-mcp-servers", "[jdbc_url]" ] } } }

Solución de problemas

jbang no encontrado

  • Asegúrate de tener jbang instalado y disponible en tu PATH
  • Alternativamente, utilice la ruta completa al ejecutable jbang (por ejemplo, /Users/username/.jbang/jbang )

Obtenga más registros

Para obtener un registro más detallado, puede agregar los siguientes parámetros a la línea de comando jbang:

-Dquarkus.log.file.enable=true -Dquarkus.log.file.path=${user.home}/mcp-server-jdbc.log

Ejemplo:

jbang -Dquarkus.log.file.enable=true -Dquarkus.log.file.path=${user.home}/mcp-jdbc.log jdbc@quarkiverse/quarkus-mcp-servers jdbc:h2:mem:testdb

Imagen nativa/ejecutable

Aunque el servidor se puede compilar en un ejecutable nativo, no se recomienda ya que entonces no es posible cargar dinámicamente el controlador JDBC relevante.

Sin embargo, se puede compilar un servidor que tenga como objetivo un controlador JDBC específico, pero por ahora esto se deja como ejercicio para el lector. Si le interesa, abra un problema o envíe un mensaje de solicitud.

¿Cómo se hizo esto?

El servidor MCP utiliza Quarkus, el Supersonic Subatomic Java Framework y su compatibilidad con el Protocolo de Contexto de Modelo.

Si desea obtener más información sobre la compatibilidad de Quarkus MCP Server, consulte esta publicación de blog y la documentación de la extensión Quarkus MCP Server.

Para iniciar el servidor y gestionar la configuración de las URL JDBC, utiliza jbang para configurar Java y ejecutar el archivo .jar de la forma más transparente posible. Funciona de forma muy similar a uvx , pipx , npmx y otros; solo para Java.

-
security - not tested
A
license - permissive license
-
quality - not tested

MCP para acceder a cualquier base de datos accesible a través de JDBC como Postgres, Oracle, mysql, mariadb, sqlite, etc.

  1. General Usage
    1. Downloadable databases
      1. Example databases
    2. Supported JDBC variants
      1. Components
        1. Tools
        2. Prompts
      2. Claude Desktop Config and mcp-cli
        1. Troubleshooting
      3. Native Image/Executable
        1. How was this made?
      ID: 2au072rrbc