自然语言数据库查询服务器

一个连接MySQL数据库并通过自然语言执行SQL查询的MCP服务器,支持多数据库连接和自动模式加载。

  • by cookiesand1023
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 cookiesand1023/claude-db-mcp-server

使用说明

Claude DB MCP服务器

Claude Code使用自然语言查询数据库MCP服务器。

概要

现有MySQL连接到数据库Claude Code用自然语言SQL可执行查询MCP服务器。

特徴

  • 在环境变量中灵活设置:最多10个DB的DB1_*, DB2_*可在…中定义
  • 现有DB连接:本地或远程MySQL连接到数据库
  • 自动架构导入:自动获取表结构Claude AI生成适当的查询
  • 安全性:自动阻止危险操作(DROP/DELETE/UPDATE等)

体系结构

┌─────────────────┐
│  Claude Code    │ ← 自然言語で質問
└────────┬────────┘
         │ MCP Protocol
         ▼
┌─────────────────────────────┐
│  MCP Server (index.js)      │
│  - スキーマ自動読み込み     │
│  - SQL生成・実行            │
│  - 危険操作ブロック         │
└────────┬───────┬────────┬───┘
         │       │        │
         ▼       ▼        ▼
    ┌────────┐ ┌────────┐ ┌────────┐
    │  DB1   │ │  DB2   │ │  DB3   │
    │(MySQL) │ │(MySQL) │ │(MySQL) │
    └────────┘ └────────┘ └────────┘

快速启动

1.设置环境变量

cp .env.example .env
vi .env  # データベースの接続情報を設定

.env 示例(最多可设置10个):

# Database 1
DB1_HOST=localhost
DB1_PORT=3306
DB1_USER=your_username
DB1_PASSWORD=your_password
DB1_DATABASE=database1

# Database 2
DB2_HOST=localhost
DB2_PORT=3306
DB2_USER=your_username
DB2_PASSWORD=your_password
DB2_DATABASE=database2

# 必要に応じてDB3, DB4... を追加

2.安装并构建依赖关系

npm install
npm run build

3. Claude Code使用

Claude Code时褪色为此颜色MCP将加载服务器。

起动确认:

/mcp

成功后,以下工具可用:

  • query_database:执行数据库查询
  • list_databases:数据库浏览
  • list_tables:表格浏览
  • describe_table:表格结构显示

使用例

Claude Code只是在里面用自然语言提问Claude AI中描述的场景,使用下列步骤创建明细表,以便在概念设计中分析体量的周长。

基本用法

メールアドレスがtest@example.comのユーザー情報を教えて

Claude AI自动:

  1. 从架构信息DB判定(在users表中email确定列所在的数据库)
  2. SQL查询生成(SELECT * FROM users WHERE email = 'test@example.com')
  3. 查询执行结果显示

其他示例

# シンプルなクエリ
ユーザーの名前を全部見せて

# 集計クエリ
ユーザー数を教えて

# 複数テーブルのJOIN
ユーザーごとの注文数を教えて

# 条件付き検索
公開設定がtrueのユーザーを表示

# テーブル一覧確認
DB1にどんなテーブルがある?

# テーブル構造確認
usersテーブルの構造を教えて

可用工具

工具名称|说明| |---------|------| | query_database 来自自然语言SQL生成并执行查询 | list_databases 查看可连接的数据库列表 | list_tables 查看指定数据库的表列表 | describe_table 查看指定表的结构

主要功能

自动架构导入

自动读取启动时连接的数据库的架构信息(表、列和外键)。

  • 自动分析表结构
  • 了解外键关系
  • Claude AI的模式信息提供

Claude AI高精度查询生成

在动态输入提示中单击Claude AI自然语言SQL生成查询:

  • 文脉理解即使是暧昧的问题也要理解意图
  • 复杂查询:多个表的JOIN生成
  • 高精度:精确引用表名列名

环境变数

|变量名|必需|说明|默认| |--------|------|------|-----------| | DB{N}_HOST |➋|数据库主机名|-| | DB{N}_PORT |数据库端口|3306| | DB{N}_USER |数据库用户名|root | | DB{N}_PASSWORD |数据库密码|(空)| | DB{N}_DATABASE |➋|数据库名称|-| | DISABLE_SCHEMA_LOADING |禁用架构自动加载|false |

※ {N} 是1-10个数字

安全性

以下操作为自动块:

  • DROP, DELETE, TRUNCATE, ALTER, UPDATE

SELECT只能执行语句。

项目配置

claude-db-mcp-server/
├── .env                    # 環境変数(要作成)
├── .env.example            # 環境変数テンプレート
├── .gitignore
├── README.md               # このファイル
├── claude-config.json      # Claude Code MCP設定
├── index.ts                # MCPサーバー(TypeScript)
├── tsconfig.json           # TypeScript設定
├── package.json            # 依存関係
└── dist/                   # ビルド済みJS(自動生成)
    └── index.js

必要要件

  • Node.js 18.0.0以上
  • MySQL 5.7以上
  • Claude Code(MCP対応版)

许可证

麻省理工学院