Skip to main content
Glama

mcp-jdbc

by quarkiverse

Модель сервера контекстного протокола для 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

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

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

База данныхЗависимость
MariaDBorg.mariadb.jdbc:mariadb-java-client:ВЫПУСК
MySQLmysql:mysql-connector-java:RELEASE
PostgreSQLorg.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
hsqldborg.hsqldb:hsqldb:ВЫПУСК
h2com.h2database:h2:RELEASE
Апачское Дербиorg.apache.derby:derby:RELEASE
SQLiteorg.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

hybrid server

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

MCP для доступа к любой базе данных, доступной через JDBC, например Postgres, Oracle, mysql, mariadb, sqlite и т. д.

  1. Общее использование
    1. Загружаемые базы данных
      1. Примеры баз данных
    2. Поддерживаемые варианты JDBC
      1. Компоненты
        1. Инструменты
        2. Подсказки
      2. Конфигурация рабочего стола Клода и mcp-cli
        1. Поиск неисправностей
      3. Собственный образ/исполняемый файл
        1. Как это было сделано?

      Related MCP Servers

      • -
        security
        F
        license
        -
        quality
        An MCP server that provides safe, read-only access to SQLite databases through MCP. This server is built with the FastMCP framework, which enables LLMs to explore and query SQLite databases with built-in safety features and query validation.
        Last updated -
        49
        Python
      • -
        security
        A
        license
        -
        quality
        Universal database MCP server connecting to MySQL, PostgreSQL, SQLite, DuckDB and etc.
        Last updated -
        3
        548
        TypeScript
        MIT License
        • Linux
        • Apple
      • A
        security
        A
        license
        A
        quality
        An MCP server that provides read-only access to MySQL databases.
        Last updated -
        4
        419
        17
        JavaScript
        MIT License
        • Linux
        • Apple
      • -
        security
        A
        license
        -
        quality
        Open source MCP server specializing in easy, fast, and secure tools for Databases.
        Last updated -
        1,139
        Go
        Apache 2.0
        • Linux

      View all related MCP servers

      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