Skip to main content
Glama

mcp-jdbc

by quarkiverse

JDBC용 모델 컨텍스트 프로토콜 서버

이 모델 컨텍스트 프로토콜(MCP) 서버를 사용하면 대규모 언어 모델(LLM)이 Java 데이터베이스 연결(JDBC) URL만 주어지면 데이터베이스 콘텐츠를 검사, 쿼리, 생성 및 수정할 수 있습니다.

지원되는 데이터베이스로는 PostgresSQL, Oracle, MariaDB, Sqlite 등이 있습니다.

여기에서 비디오를 보세요.

일반적인 사용법

  1. jbang 설치
  2. 서버를 실행하도록 MCP 클라이언트를 구성하세요(아래 Claude Desktop Config 참조)

아래는 서버를 구성하는 데 사용할 수 있는 명령줄의 예입니다.

빈 데이터베이스(메모리 내 h2 데이터베이스)로 시작합니다.

지엑스피1

라이브 데이터베이스(일반적인 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} 구문을 사용하여 수행됩니다.

다음은 github에서 Chinook_Sqlite.sqlite 파일을 다운로드하여 SQLite에서 Chinook 데이터베이스에 연결하는 방법의 예입니다.

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

데이터를 탐색하는 데 사용할 수 있는 흥미로운 샘플 데이터의 예가 온라인에서 제공됩니다.

아래는 이 서버에서 그대로 작동하는 것으로 알려진 데이터베이스와 예시 JDBC URL의 전체 목록이 아니며, 추가 구성이 필요하지 않습니다.

예제 데이터베이스

치누크

아티스트, 앨범, 트랙, 송장 등을 포함한 음악 매장 데이터 샘플

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 카탈로그 기반 샘플 영화 데이터

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

지원되는 JDBC 변형

데이터 베이스의존
마리아DBorg.mariadb.jdbc:mariadb-java-client:릴리스
MySQLmysql:mysql-connector-java:릴리스
포스트그레스큐엘org.postgresql:postgresql:릴리스
신탁com.oracle.database.jdbc:ojdbc10:릴리스
SQL 서버com.microsoft.sqlserver:mssql-jdbc:릴리스
SAP DBcom.sapcloud.db.jdbc:ngdbc:릴리스
인포믹스com.ibm.informix:jdbc:릴리스
파이어버드org.firebirdsql.jdbc:jaybird:릴리스
hsqldborg.hsqldb:hsqldb:릴리스
h2com.h2database:h2:릴리스
아파치 더비org.apache.derby:derby:릴리스
SQLiteorg.xerial:sqlite-jdbc:릴리스

구성 요소

이 서버에서 제공하는 MCP 구성 요소는 다음과 같습니다.

도구

  • read_query - 데이터베이스에 대한 SELECT 쿼리를 수행합니다.
  • write_query - 데이터베이스에 INSERT, UPDATE, DELETE 쿼리를 수행합니다.
  • create_table - 데이터베이스에 테이블 생성
  • list_tables - 데이터베이스의 모든 테이블 나열
  • describe_table - 테이블 설명

프롬프트

  • jdbc_demo - 서버 탐색을 시작하기 위한 예제 프롬프트(sqllite MCP의 프롬프트와 유사)

Claude Desktop Config 및 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 드라이버를 대상으로 하는 서버를 컴파일할 수는 있지만, 이는 현재로서는 독자 여러분의 연습 과제로 남겨두겠습니다. 관심이 있으시면 이슈를 열거나 PR을 보내주세요.

어떻게 만들어졌나요?

MCP 서버는 Quarkus, Supersonic Subatomic Java Framework 및 해당 Model Context Protocol 지원을 사용합니다.

Quarkus MCP 서버 지원에 대해 자세히 알아보려면 이 블로그 게시물 과 Quarkus MCP 서버 확장 설명서를 참조하세요.

서버를 실행하고 JDBC URL의 마법 같은 설정을 처리하기 위해 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는 Postgres, Oracle, mysql, mariadb, sqlite 등 JDBC를 통해 접근 가능한 모든 데이터베이스에 접근합니다.

  1. 일반적인 사용법
    1. 다운로드 가능한 데이터베이스
      1. 예제 데이터베이스
    2. 지원되는 JDBC 변형
      1. 구성 요소
        1. 도구
        2. 프롬프트
      2. Claude Desktop Config 및 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 -
        6
        669
        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,375
        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