Skip to main content
Glama

Модель сервера контекстного протокола для JDBC

Этот сервер Model Context Protocol (MCP) позволяет моделям больших языков (LLM) проверять, запрашивать, создавать и изменять содержимое базы данных, имея только URL-адрес Java Database Connectivity (JDBC).

Поддерживаемые базы данных включают PostgresSQL, Oracle, MariaDB, Sqlite и многие другие .

Смотрите видео здесь .

Общее использование

  1. Установить jbang

  2. Настройте MCP Client для запуска сервера (см. Claude Desktop Config ниже)

Ниже приведены примеры командных строк, которые можно использовать для настройки сервера.

Начните с пустой базы данных (база данных 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

Related MCP server: Supabase MCP Server

Загружаемые базы данных

JBang может загружать файлы из Интернета и передавать их напрямую в базы данных, такие как h2 и sqlite.

Это делается с помощью синтаксиса %{url}.

Ниже приведен пример подключения к базе данных Chinook в SQLite, путем загрузки файла Chinook_Sqlite.sqlite с github.

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

В Интернете доступны интересные примеры выборочных данных, которые вы можете использовать для изучения данных.

Ниже приведен неполный список баз данных и примеров URL-адресов JDBC, которые, как известно, работают с этим сервером «как есть» (дополнительная настройка не требуется).

Примеры баз данных

Чинук

Примеры данных музыкального магазина, включая исполнителей, альбомы, треки, счета и т. д.

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

Северный ветер

Классический пример базы данных Microsoft с клиентами, заказами, продуктами и т. д.

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

Фильмы Netflix

Пример данных о фильмах на основе каталога Netflix

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

Поддерживаемые варианты JDBC

База данных

Зависимость

MariaDB

org.mariadb.jdbc:mariadb-java-client:ВЫПУСК

MySQL

mysql:mysql-connector-java:RELEASE

PostgreSQL

org.postgresql:postgresql:RELEASE

Оракул

com.oracle.database.jdbc:ojdbc10:RELEASE

SQL-сервер

com.microsoft.sqlserver:mssql-jdbc:RELEASE

SAP БД

com.sapcloud.db.jdbc:ngdbc:RELEASE

Информикс

com.ibm.informix:jdbc:RELEASE

Жар-птица

org.firebirdsql.jdbc:jaybird:RELEASE

hsqldb

org.hsqldb:hsqldb:ВЫПУСК

h2

com.h2database:h2:RELEASE

Апачское Дерби

org.apache.derby:derby:RELEASE

SQLite

org.xerial:sqlite-jdbc:RELEASE

Компоненты

Ниже приведены компоненты MCP, предоставляемые этим сервером.

Инструменты

  • read_query - выполнить запрос SELECT к базе данных

  • write_query - выполнить запрос INSERT, UPDATE, DELETE в базе данных

  • create_table - создать таблицу в базе данных

  • list_tables - список всех таблиц в базе данных

  • describe_table - описать таблицу

Подсказки

  • jdbc_demo - пример приглашения для начала изучения сервера (похож на тот, что в sqllite MCP)

Конфигурация рабочего стола Клода и mcp-cli

Добавьте это в файл claude_desktop_config.json или server_config.json :

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

Поиск неисправностей

jbang не найден

  • Убедитесь, что jbang установлен и доступен в PATH.

  • В качестве альтернативы используйте полный путь к исполняемому файлу jbang (например, /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, но это пока оставлено в качестве упражнения для читателя. Если вам это интересно, пожалуйста, откройте issue или PR.

Как это было сделано?

Сервер MCP использует Quarkus, Supersonic Subatomic Java Framework и его поддержку Model Context Protocol.

Если вы хотите узнать больше о поддержке Quarkus MCP Server, ознакомьтесь с этой записью в блоге и документацией по расширению Quarkus MCP Server.

Для запуска сервера и обработки магической настройки URL-адресов JDBC он использует jbang для настройки Java и запуска .jar максимально прозрачно. Очень похоже на то, как работают uvx , pipx , npmx и другие; только для Java.

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/quarkiverse/jdbc'

If you have feedback or need assistance with the MCP directory API, please join our Discord server