OM

openlinksoftware/mcp-jdbc-server

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

17 stars 11 forks 质量 65 趋势 21MIT

基于 Java 的模型上下文Procotol( MCP) JDBC 服务器

概览

- :从连接的数据库获取并列出所有计划名称。 - 获取特定计划或所有计划的表格信息。 - :生成表格结构的详细描述,包括: - 列名和数据类型 - 可忽略属性 - 主键和外键 - :根据名称子字符串过滤并检索表格. - 一个Virtuoso的特有特征! 执行存储程序并获取结果。 -: - JSONL结果格式:优化结构化响应. - 标出表格格式:报告和可视化的理想。 更新您的 . env 以压倒这些默认值以匹配您的首选项 : 对于使用Virtuoso及其JDBC驱动程序的用户: 添加到 Claude desktop config.json 中 : 对于使用其他 JDBC 驱动程序或组合驱动程序的用户: 在 Claude desktop config.json 中添加以下为适合本地环境而编辑的: 在成功安装后,MCP客户端应用程序将可获得以下工具.

概述(AI 翻译)

– – . . .

JDBC 的 OpenLink MCP 服务器

一个轻量级的基于Java的MCP(模式上下文协议)服务器,用于由Quakrus所建的JDBC. 此服务器与Virtuoso DBMS和任何其他拥有JDBC驱动程序的DBMS后端兼容.

– – . . .

□ 特性

  • Get Schemas:从连接的数据库获取并列出所有计划名称。
  • ** 获取表格**:获取表格信息,用于特定计划或所有计划。
  • ** 说明表格**:详细描述表格结构,包括:
  • 列名和数据类型
  • 可忽略属性
  • 主要钥匙和外国钥匙
  • 搜索表:根据名称子字符串过滤并取回表格。
  • ** 执行存储程序**:一个虚拟特性! 执行存储程序并获取结果。
  • ** 执行查询**:
  • JSONL结果格式:优化结构化反应。
  • 标出表格格式:报告和可视化的理想。

– – . . .

□ 先决条件

MCP服务器需要Java 21或以上.

– – . . .

□ 安装

克隆此寄存器 :

□ 环境变量

更新您的 .env , 覆盖这些默认值以匹配您的首选项 :

– – . . .

□ 配置

本页由 AI 翻译,技术细节请以原文为准。

README

以下为原文 README 节选,完整内容请查看原文。


OpenLink MCP Server for JDBC

A lightweight Java-based MCP (Model Context Protocol) server for JDBC built with Quakrus. This server is compatible with Virtuoso DBMS and any other DBMS backend that has a JDBC driver.


Features

  • Get Schemas: Fetch and list all schema names from the connected database.
  • Get Tables: Retrieve table information for specific schemas or all schemas.
  • Describe Table: Generate a detailed description of table structures, including:
    • Column names and data types
    • Nullable attributes
    • Primary and foreign keys
  • Search Tables: Filter and retrieve tables based on name substrings.
  • Execute Stored Procedures: A Virtuoso-specific feature! Execute stored procedures and retrieve results.
  • Execute Queries:
    • JSONL result format: Optimized for structured responses.
    • Markdown table format: Ideal for reporting and visualization.

Prerequisites

MCP server requires Java 21 or above.


Installation

Clone this repository:

git clone https://github.com/OpenLinkSoftware/mcp-jdbc-server.git  
cd mcp-jdbc-server

Environment Variables

Update your .env by overriding these defaults to match your preferences:

jdbc.url=jdbc:virtuoso://localhost:1111
jdbc.user=dba
jdbc.password=dba
jdbc.api_key=xxx

Configuration

For Claude Desktop users using Virtuoso and its JDBC driver:

Add the following to claude_desktop_config.json:

{
  "mcpServers": {
    "my_database": {
      "command": "java",
      "args": ["-jar", "/path/to/mcp-jdbc-server/MCPServer-1.0.0-runner.jar"],
      "env": {
        "jdbc.url": "jdbc:virtuoso://localhost:1111",
        "jdbc.user": "username",
        "jdbc.password": "password",
        "jdbc.api_key": "sk-xxx"
      }
    }
  }
}

For Claude Desktop users using another JDBC driver or a combination of drivers:

Add the following, edited to suit your local environment, to claude_desktop_config.json:

    "jdbc": {
      "command": "java",
      "args": [
        "-cp",
        "/path/to/mcp-jdbc-server/MCPServer-1.0.0-runner.jar:/path/to/jdbc_driver1.jar:/path/to/jdbc_driverN.jar",
        "io.quarkus.runner.GeneratedMain"
      ],
      "env": {
        "jdbc.url": "jdbc:virtuoso://localhost:1111",
        "jdbc.user": "dba",
        "jdbc.password": "dba"
      }
    }

Use

Tools Provided

After successful installation, the following tools will be available to MCP client applications.

Overview

name description
jdbc_get_schemas List database schemas accessible to connected database management system (DBMS).
jdbc_get_tables List tables associated with a selected database schema.
在 GitHub 查看完整 README

安装

npx @modelcontextprotocol/inspector java -jar /path/to/mcp-jdbc-server/MCPServer-1.0.0-runner.jar
新手?先看 mcpskill.org 教程 →

配置

{ "mcpServers": { "my_database": { "command": "java", "args": ["-jar", "/path/to/mcp-jdbc-server/MCPServer-1.0.0-runner.jar"], "env": { "jdbc.url": "jdbc:virtuoso://localhost:1111", "jdbc.user": "username", "jdbc.password": "password", "jdbc.api_key": "sk-xxx" } } } }