Модель сервера контекстного протокола для JDBC
Этот сервер Model Context Protocol (MCP) позволяет моделям больших языков (LLM) проверять, запрашивать, создавать и изменять содержимое базы данных, имея только URL-адрес Java Database Connectivity (JDBC).
Поддерживаемые базы данных включают PostgresSQL, Oracle, MariaDB, Sqlite и многие другие .
Смотрите видео здесь .
Общее использование
- Установить jbang
- Настройте MCP Client для запуска сервера (см. Claude Desktop Config ниже)
Ниже приведены примеры командных строк, которые можно использовать для настройки сервера.
Начните с пустой базы данных (база данных h2 в памяти):
Действующая база данных (любая распространенная база данных, совместимая с JDBC):
Например, чтобы подключиться к уже работающей базе данных Oracle:
Вы также можете указать пользователя и пароль по отдельности, например, для базы данных PostgreSQL:
Загружаемые базы данных
JBang может загружать файлы из Интернета и передавать их напрямую в базы данных, такие как h2 и sqlite.
Это делается с помощью синтаксиса %{url}.
Ниже приведен пример подключения к базе данных Chinook в SQLite, путем загрузки файла Chinook_Sqlite.sqlite
с github.
В Интернете доступны интересные примеры выборочных данных, которые вы можете использовать для изучения данных.
Ниже приведен неполный список баз данных и примеров URL-адресов JDBC, которые, как известно, работают с этим сервером «как есть» (дополнительная настройка не требуется).
Примеры баз данных
Чинук
Примеры данных музыкального магазина, включая исполнителей, альбомы, треки, счета и т. д.
Северный ветер
Классический пример базы данных Microsoft с клиентами, заказами, продуктами и т. д.
Фильмы Netflix
Пример данных о фильмах на основе каталога Netflix
Поддерживаемые варианты 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
:
Поиск неисправностей
jbang не найден
- Убедитесь, что
jbang
установлен и доступен в PATH. - В качестве альтернативы используйте полный путь к исполняемому файлу jbang (например,
/Users/username/.jbang/jbang
)
Получите больше данных для регистрации
Для получения более подробного журнала вы можете добавить следующие параметры в командную строку jbang:
Пример:
Собственный образ/исполняемый файл
Хотя сервер можно скомпилировать в собственный исполняемый файл, делать это не рекомендуется, поскольку в этом случае будет невозможно динамически загрузить соответствующий драйвер 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.
This server cannot be installed
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 и т. д.
- Общее использование
- Загружаемые базы данных
- Поддерживаемые варианты JDBC
- Компоненты
- Конфигурация рабочего стола Клода и mcp-cli
- Собственный образ/исполняемый файл
Related Resources
Related MCP Servers
- -securityFlicense-qualityAn 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 -49Python
- -securityAlicense-qualityUniversal database MCP server connecting to MySQL, PostgreSQL, SQLite, DuckDB and etc.Last updated -3548TypeScriptMIT License
- AsecurityAlicenseAqualityAn MCP server that provides read-only access to MySQL databases.Last updated -441917JavaScriptMIT License
- -securityAlicense-qualityOpen source MCP server specializing in easy, fast, and secure tools for Databases.Last updated -1,139GoApache 2.0