Token导航 LogoToken导航TokenDH.com
Drsum Java MCP logo
数据服务未说明官方级别未说明来源级核验

Drsum Java MCP

MCP Server

DrSum Java MCP Server是一个基于Model Context Protocol (MCP) Java SDK构建的服务器,提供Dr.Sum数据库的连接和分析功能,使AI助手和应用程序能够通过自然语言查询和分析数据。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
数据管理JavaClaude自然语言查询Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

ishii-yo

提供方

ishii-yo

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

DrSum Java MCP服务器

此项目包括:模型上下文协议(MCP) Java SDK而需要与环境混合的每条反射光线,进行环境采样Dr.Sum数据库分析功能提供,提供MCP服务器。

概要

DrSum MCP Server是AI助手(Claude Desktop等)和应用程序Dr.Sum提供到数据库的连接和分析功能。LLM的Dr.Sum的数据可以直接分析,可以用自然语言进行数据查询和分析。

主要功能

Dr.Sum分析机能

  • 基于环境变量的连接管理: MCP在客户端设置中设置环境变量
  • 都度接続方式:对每个工具调用进行连接和断开连接,防止资源泄漏
  • 元信息获取:获取表结构和示例数据(默认值为3行,可设置)
  • SQL执行查询:任意SQL执行查询并查看结果JSON格式检索
  • 自动接続管理:用户无需意识到连接

其他功能

  • MCP标准准据: Model Context Protocol规范
  • STDIO通信:使用标准输入输出的通信
  • 安全性:密码保密、环境变量中的安全凭据管理
  • 简单的设计:不保持连接状态,不需要状态管理

必要条件

  • Java 17以上
  • Maven 3.6以上

依存关系

此项目使用以下依赖关系:

MCP Java SDK

  • io.modelcontextprotocol.sdk:mcp (0.14.1)-MCP Java SDK核心
  • io.modelcontextprotocol.sdk:mcp-bom -依赖性版本控制
  • io.modelcontextprotocol.sdk:mcp-test -测试实用程序

Dr.Sum EA 库

  • jp.co.dw_sapporo:DrSumEA (5.7.0)-Dr.Sum Enterprise Analytics API

- DBI(Database Interface)机能を使用 - 本地Maven需要在存储库中安装

其他

  • org.slf4j:slf4j-api (2.0.16)-记录API
  • ch.qos.logback:logback-classic (1.4.14)-记录实现
  • org.junit.jupiter:junit-jupiter (5.10.1)-测试框架

DrSumEA.jar安装

Dr.Sum单击功能区上的DrSumEA.jar本地Maven必须在存储库中安装:

# Windows (PowerShell)
.\mvnw.cmd install:install-file "-Dfile=path\to\DrSumEA.jar" "-DgroupId=jp.co.dw_sapporo" "-DartifactId=DrSumEA" "-Dversion=5.7.0" "-Dpackaging=jar"
# Unix/Linux/macOS
./mvnw install:install-file -Dfile=/path/to/DrSumEA.jar -DgroupId=jp.co.dw_sapporo -DartifactId=DrSumEA -Dversion=5.7.0 -Dpackaging=jar

安装,安装

这个项目Maven Wrapper中所述修改相应参数的值Maven而需要与环境混合的每条反射光线,进行环境采样。

视窗

  1. 克隆或下载项目
  1. 安装相关性
   .\mvnw.cmd clean install
  1. 构建项目
   .\mvnw.cmd clean compile
  1. 运行测试
   .\mvnw.cmd test

Unix/Linux/macOS

  1. 克隆或下载项目
  1. 安装相关性
   ./mvnw clean install
  1. 构建项目
   ./mvnw clean compile
  1. 运行测试
   ./mvnw test

使用方法

方法1:直接从命令行启动(用于开发和测试)

Windows(PowerShell)

# Maven Wrapperを使用して起動
.\mvnw.cmd exec:java "-Dexec.mainClass=com.example.drsum.DrSumMcpServer"

# または起動スクリプトを使用
.\scripts\start-server.bat

Unix/Linux/macOS

# Maven Wrapperを使用して起動
./mvnw exec:java -Dexec.mainClass="com.example.drsum.DrSumMcpServer"

# または起動スクリプトを使用
./scripts/start-server.sh

注意:此方法允许服务器STDIO(标准输入输出)模式下启动JSON-RPC等待消息的输入。通常情况下MCP因为是从客户端自动启动的,所以不需要手动启动。

方法2:可行JAR创建并启动(用于生产分发)

步骤1:构建包

# Windows
.\mvnw.cmd clean package

# Unix/Linux/macOS
./mvnw clean package

这将创建以下内容:

  • target/drsum-java-mcp-1.0.0-SNAPSHOT.jar -主要JAR(无关)
  • target/drsum-java-mcp-1.0.0-SNAPSHOT-fat.jar - Fat JAR(包括依赖关系)
  • target/lib/ -从属库(53个JAR文件)

JAR类型:

  • 胖JAR:所有依存关系都是一个JAR文件中包含。分发简单,在单个文件中工作。
  • 通常JAR:依赖关系是分离的lib/在动态输入提示中单击JAR需要文件。文件大小变小。

第2步A: Fat JAR 启动(建议-单个文件)

必要条件:

  • Java 17已安装
  • Fat JAR仅文件
# Windows
java -jar target\drsum-java-mcp-1.0.0-SNAPSHOT-fat.jar

# Unix/Linux/macOS
java -jar target/drsum-java-mcp-1.0.0-SNAPSHOT-fat.jar

分发时所需的文件:

drsum-java-mcp-1.0.0-SNAPSHOT-fat.jar  # このファイルのみ

第2步B: 通常JAR启动(隔离从属关系)

必要条件:

  • Java 17已安装
  • 主要JAR文件
  • lib/文件夹中的所有依赖关系(53个JAR文件)
  • JAR文件和lib/文件夹位于同一目录中
# Windows
java -jar target\drsum-java-mcp-1.0.0-SNAPSHOT.jar

# Unix/Linux/macOS
java -jar target/drsum-java-mcp-1.0.0-SNAPSHOT.jar

分发时所需的文件结构:

your-distribution/
├── drsum-java-mcp-1.0.0-SNAPSHOT.jar  # メインJAR
└── lib/                                # 依存ライブラリフォルダ
    ├── mcp-0.14.1.jar
    ├── jackson-databind-2.17.0.jar
    ├── slf4j-api-2.0.16.jar
    └── ... (他50個のJARファイル)

注意: lib/如果找不到文件夹,则会出现以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: io/modelcontextprotocol/...

方法3:MCP从客户端(例如,Claude Desktop)自动启动(推荐)

MCP客户端自动启动和管理服务器。不需要手动启动服务器。

Claude Desktop 中的设置

Claude Desktop在的配置文件中添加以下内容:

配置文件位置:

  • 窗户: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

设定例1:Maven Wrapperで起动(开発时)

窗户:

{
  "mcpServers": {
    "drsum": {
      "command": "cmd.exe",
      "args": [
        "/c",
        "C:\\mb_dev\\github\\drsum-java-mcp\\mvnw.cmd",
        "exec:java",
        "-Dexec.mainClass=com.example.drsum.DrSumMcpServer",
        "-q"
      ],
      "env": {
        "JAVA_HOME": "C:\\java\\jdk-17",
        "DRSUM_HOST": "localhost",
        "DRSUM_PORT": "6001",
        "DRSUM_USERNAME": "your-id",
        "DRSUM_PASSWORD": "your-password",
        "DRSUM_DATABASE": "BUG_DB",
      }
    }
  }
}

Unix/Linux/macOS:

{
  "mcpServers": {
    "drsum": {
      "command": "/path/to/drsum-java-mcp/mvnw",
      "args": [
        "exec:java",
        "-Dexec.mainClass=com.example.drsum.DrSumMcpServer",
        "-q"
      ],
      "env": {
        "JAVA_HOME": "/path/to/jdk-17",
        "DRSUM_HOST": "localhost",
        "DRSUM_PORT": "6001",
        "DRSUM_USERNAME": "your-id",
        "DRSUM_PASSWORD": "your-password",
        "DRSUM_DATABASE": "BUG_DB",
      }
    }
  }
}

设置示例2A: Fat JAR启动(建议单文件)+环境变量设置

{
  "mcpServers": {
    "drsum": {
      "command": "java",
      "args": [
        "-Dfile.encoding=UTF-8",
        "-jar",
        "C:\\mb_dev\\github\\drsum-java-mcp\\target\\drsum-java-mcp-1.0.0-SNAPSHOT-fat.jar"
      ],
      "env": {
        "DRSUM_HOST": "localhost",
        "DRSUM_PORT": "6001",
        "DRSUM_USERNAME": "your-id",
        "DRSUM_PASSWORD": "your-password",
        "DRSUM_DATABASE": "BUG_DB",
      }
    }
  }
}

重要:

  • 环境变数(env),模板名称将采用不同的格式。Dr.Sum连接信息在此设定。
  • 使用日语等多字节文字时"-Dfile.encoding=UTF-8"args添加到开头(Windows在环境中尤其重要)。

重要:环境变数(env),模板名称将采用不同的格式。Dr.Sum连接信息在此设定。

设定例2B: 通常JARで起动(依存关系分离)

{
  "mcpServers": {
    "drsum": {
      "command": "java",
      "args": [
        "-jar",
        "C:\\mb_dev\\github\\drsum-java-mcp\\target\\drsum-java-mcp-1.0.0-SNAPSHOT.jar"
      ],
      "env": {
        "DRSUM_HOST": "localhost",
        "DRSUM_PORT": "6001",
        "DRSUM_USERNAME": "your-id",
        "DRSUM_PASSWORD": "your-password",
        "DRSUM_DATABASE": "BUG_DB",
      }
    }
  }
}

注意: 设置示例2B使用时,需要以下条件:

  • target/lib/文件夹存在
  • JAR文件和lib/文件夹必须位于同一目录中

设置示例3:通过脚本启动

窗户:

{
  "mcpServers": {
    "drsum": {
      "command": "C:\\mb_dev\\github\\drsum-java-mcp\\scripts\\start-server.bat",
      "env": {
        "DRSUM_HOST": "localhost",
        "DRSUM_PORT": "6001",
        "DRSUM_USERNAME": "your-id",
        "DRSUM_PASSWORD": "your-password",
        "DRSUM_DATABASE": "BUG_DB",
      }
    }
  }
}

Unix/Linux/macOS:

{
  "mcpServers": {
    "drsum": {
      "command": "/path/to/drsum-java-mcp/scripts/start-server.sh",
      "env": {
        "DRSUM_HOST": "localhost",
        "DRSUM_PORT": "6001",
        "DRSUM_USERNAME": "your-id",
        "DRSUM_PASSWORD": "your-password",
        "DRSUM_DATABASE": "BUG_DB",
      }
    }
  }
}

设置后的确认

  1. Claude Desktop重新启动
  2. 开始新聊天
  3. MCP“summarize”现在可用作工具

其他MCP客户端使用

其他MCP客户端(VS代码扩展、自定义客户端等)也可以进行同样的设置。基本上:

  • command:要执行的命令
  • args:命令参数
  • env:环境变数

的双曲正切值。

设置连接信息

Dr.Sum的连接信息MCP客户端设置环境变量(env),模板名称将采用不同的格式。

必须环境变数:

  • DRSUM_HOST: Dr.Sum服务器主机名或IP地址
  • DRSUM_PORT: Dr.Sum服务器端口号
  • DRSUM_USERNAME:验证用户名
  • DRSUM_PASSWORD:验证密码
  • DRSUM_DATABASE:要连接的数据库名称

可选环境变量:

  • DRSUM_SCOPES:表作用域定义(JSON格式,可选)

关于表作用域:

根据特定的分析用途,可以限制所需的表视图。通过定义作用域LLM中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积。

范围定义格式(JSON):

{
  "scope_name": ["table1", "table2", "view1"],
  "another_scope": ["table3", "table4"]
}

设定例:

{
  "mcpServers": {
    "drsum": {
      "command": "java",
      "args": ["-Dfile.encoding=UTF-8", "-jar", "path/to/drsum-java-mcp-fat.jar"],
      "env": {
        "DRSUM_HOST": "localhost",
        "DRSUM_PORT": "6001",
        "DRSUM_USERNAME": "your-id",
        "DRSUM_PASSWORD": "your-password",
        "DRSUM_DATABASE": "BUG_DB",
        "DRSUM_SCOPES": "{\"bug_analysis\": [\"bug_reports\", \"error_logs\", \"v_bug_trends\"], \"sales_analysis\": [\"orders\", \"customers\", \"v_sales_summary\"]}"
      }
    }
  }
}

可用工具

关于连接方式:

  • 从环境变量读取连接信息
  • 各工具调用时自动进行连接、切断(每次连接方式)
  • 用户无需意识到连接

list_tables

获取数据库中所有表和视图的列表。

参数:

  • scope (可选):范围名称。如果指定,则仅返回为该作用域定义的表视图

响应示例:

{
  "database": "SALES",
  "tables": [
    "受注",
    "顧客",
    "商品"
  ],
  "views": [
    "受注ビュー",
    "売上サマリー"
  ],
  "total_count": 5
}

使用例:

ユーザー: 「このデータベースにどんなテーブルがありますか?」
AI: list_tablesツールを呼び出してテーブル一覧を取得し、説明します

ユーザー: 「bug_analysisスコープで不具合の傾向を分析して」
AI: list_tables(scope="bug_analysis")を呼び出し、スコープに定義されたテーブルのみを対象に分析します

get_metadata

获取表的元信息和示例数据。

参数:

  • table_name (必需):表名
  • sample_rows (可选):样本数据行数(默认值:3)

响应示例:

{
  "table": "受注ビュー",
  "columns": [
    {
      "name": "年",
      "display_name": "年",
      "type": 2,
      "type_name": "INTEGER",
      "nullable": false,
      "precision": 10,
      "scale": 0
    },
    {
      "name": "価格",
      "display_name": "価格",
      "type": 3,
      "type_name": "DECIMAL",
      "nullable": true,
      "precision": 18,
      "scale": 2
    }
  ],
  "sample_data": [
    ["2006", "150000.00"],
    ["2007", "280000.00"],
    ["2008", "320000.00"]
  ]
}

execute_query

SQL执行查询并获取结果。

参数:

  • sql_query (必需):运行SQL查询

响应示例:

{
  "columns": [
    {"name": "年", "display_name": "年", "type": 2},
    {"name": "SUM(価格)", "display_name": "SUM(価格)", "type": 3}
  ],
  "rows": [
    ["2006", "150000.00"],
    ["2007", "280000.00"],
    ["2008", "320000.00"]
  ],
  "row_count": 3
}

每次连接方式的优点

  1. 简单:无需管理连接状态
  2. 安全:无资源泄漏风险
  3. 自动:用户无需连接/断开连接
  4. 安全:通过环境变量管理凭据

每次连接方式的动作

ユーザー: 「受注ビューのデータを分析して」
    ↓
AI: get_metadata ツールを呼び出し
    ↓
1. 環境変数から接続情報を読み取り
2. Dr.Sumに接続
3. メタデータとサンプルデータを取得
4. Dr.Sumから切断
    ↓
AI: データ分析結果を返答

故障排除

多字节字符(日语)的乱码

症状:

  • SQL在查询或表名中使用日语时会乱码
  • 在错误消息中显示一个字符串(例如,“订单视图”显示为Η显示为“繝西”)

原因:

  • Windows在环境中Java的默认字符编码MS932(Shift_JIS系)Dr.Sum的UTF-8中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积。

解决方法(推奨):

MCP在动态输入提示中单击Java启动参数 -Dfile.encoding=UTF-8 添加:

{
  "mcpServers": {
    "drsum": {
      "command": "java",
      "args": [
        "-Dfile.encoding=UTF-8",
        "-jar",
        "path/to/drsum-java-mcp-fat.jar"
      ],
      "env": {
        "DRSUM_HOST": "localhost",
        "DRSUM_PORT": "6001",
        "DRSUM_USERNAME": "your-id",
        "DRSUM_PASSWORD": "your-password",
        "DRSUM_DATABASE": "BUG_DB",
      }
    }
  }
}

跨平台支持:

  • 此设置为 Windows、Linux、macOS 推荐所有平台
  • Linux/macOS那嚒通常是默认的UTF-8但是,通过明确指定可以排除环境依赖

検证方法:

  1. MCP重新启动客户端(例如,Claude Desktop)
  2. 测试包含日语的表名和查询
  3. 确认显示正确

例:

ユーザー: 「受注ビューのデータを取得してください」
→ 正常に動作し、日本語が正しく表示されるはずです

项目结构

src/
├── main/
│   ├── java/
│   │   └── com/example/drsum/
│   │       └── DrSumMcpServer.java          # メインサーバークラス
│   └── resources/
│       └── logback.xml                       # ログ設定
└── test/
    └── java/
        └── com/example/drsum/
            └── DrSumMcpServerTest.java       # テストクラス

开発

日志

应用程序将日志输出到以下位置:

  • 控制台输出(开发时)
  • logs/drsum-mcp-server.log(本番环境)

扩张

要添加新功能:

  1. 定义新工具createXXXTool()方法创建
  2. 工具处理逻辑handleXXXRequest()方法实现
  3. 在主类中注册工具规格

MCP Java SDK关于

此项目正在使用MCP Java SDK有关详细信息,请参见:

目录标签

目录标签

数据管理JavaClaude自然语言查询数据库分析本地部署SQL执行AI集成

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP