使用示例

March 16, 2026 · View on GitHub

本文档提供 MCP 数据库万能连接器的详细使用示例。

📋 目录


MySQL 使用示例

基础配置(只读模式)

{
  "mcpServers": {
    "mysql-db": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "mysql",
        "--host", "localhost",
        "--port", "3306",
        "--user", "root",
        "--password", "your_password",
        "--database", "myapp_db"
      ]
    }
  }
}

启用写入模式(谨慎使用)

读写模式(不能删除):

{
  "mcpServers": {
    "mysql-dev": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "mysql",
        "--host", "localhost",
        "--port", "3306",
        "--user", "dev_user",
        "--password", "dev_password",
        "--database", "dev_database",
        "--permission-mode", "readwrite"
      ]
    }
  }
}

完全控制模式(危险!):

{
  "mcpServers": {
    "mysql-dev": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "mysql",
        "--host", "localhost",
        "--port", "3306",
        "--user", "dev_user",
        "--password", "dev_password",
        "--database", "dev_database",
        "--permission-mode", "full"
      ]
    }
  }
}

与 Claude 对话示例

用户: 帮我查看 users 表的结构

Claude 会自动:

  1. 调用 get_table_info 工具
  2. 返回表的列信息、主键、索引等

用户: 统计最近 7 天注册的用户数量

Claude 会自动:

  1. 理解需求
  2. 生成 SQL: SELECT COUNT(*) FROM users WHERE created_at >= DATE_SUB(NOW(), INTERVAL 7 DAY)
  3. 调用 execute_query 工具执行
  4. 返回结果

PostgreSQL 使用示例

基础配置

{
  "mcpServers": {
    "postgres-db": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "postgres",
        "--host", "localhost",
        "--port", "5432",
        "--user", "postgres",
        "--password", "your_password",
        "--database", "myapp"
      ]
    }
  }
}

连接远程数据库

{
  "mcpServers": {
    "postgres-prod": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "postgres",
        "--host", "db.example.com",
        "--port", "5432",
        "--user", "readonly_user",
        "--password", "secure_password",
        "--database", "production"
      ]
    }
  }
}

与 Claude 对话示例

用户: 找出订单金额最高的 10 个客户

Claude 会自动:

  1. 调用 get_schema 了解表结构
  2. 生成复杂的 JOIN 查询
  3. 执行并返回结果

Redis 使用示例

基础配置(无密码)

{
  "mcpServers": {
    "redis-cache": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "redis",
        "--host", "localhost",
        "--port", "6379"
      ]
    }
  }
}

带密码和数据库选择

{
  "mcpServers": {
    "redis-session": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "redis",
        "--host", "localhost",
        "--port", "6379",
        "--password", "redis_password",
        "--database", "1"
      ]
    }
  }
}

与 Claude 对话示例

用户: 查看所有以 "user:" 开头的键

Claude 会执行: KEYS user:*

用户: 获取 user:1001 的信息

Claude 会执行: GET user:1001HGETALL user:1001(根据数据类型)


Oracle 使用示例

基础配置(只读模式)

{
  "mcpServers": {
    "oracle-db": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "oracle",
        "--host", "localhost",
        "--port", "1521",
        "--user", "system",
        "--password", "your_password",
        "--database", "XEPDB1"
      ]
    }
  }
}

使用 Service Name 连接

{
  "mcpServers": {
    "oracle-prod": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "oracle",
        "--host", "oracle-server.example.com",
        "--port", "1521",
        "--user", "app_user",
        "--password", "secure_password",
        "--database", "ORCL"
      ]
    }
  }
}

启用写入模式(谨慎使用)

{
  "mcpServers": {
    "oracle-dev": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "oracle",
        "--host", "localhost",
        "--port", "1521",
        "--user", "dev_user",
        "--password", "dev_password",
        "--database", "DEVDB",
        "--permission-mode", "full"
      ]
    }
  }
}

与 Claude 对话示例

用户: 帮我查看 EMPLOYEES 表的结构

Claude 会自动:

  1. 调用 get_table_info 工具
  2. 返回表的列信息、主键、索引等
  3. 注意:Oracle 表名通常为大写

用户: 查询工资最高的 10 名员工

Claude 会自动:

  1. 理解需求
  2. 生成 SQL: SELECT * FROM EMPLOYEES ORDER BY SALARY DESC FETCH FIRST 10 ROWS ONLY
  3. 调用 execute_query 工具执行
  4. 返回结果

用户: 统计每个部门的员工数量

Claude 会自动:

  1. 查看表结构
  2. 生成 SQL: SELECT DEPARTMENT_ID, COUNT(*) as EMP_COUNT FROM EMPLOYEES GROUP BY DEPARTMENT_ID
  3. 执行并返回结果

达梦 使用示例

基础配置(只读模式)

{
  "mcpServers": {
    "dm-db": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "dm",
        "--host", "localhost",
        "--port", "5236",
        "--user", "SYSDBA",
        "--password", "SYSDBA",
        "--database", "DAMENG"
      ]
    }
  }
}

注意: 达梦数据库驱动 dmdb 会作为可选依赖自动安装。如果安装失败,请手动运行:

npm install -g dmdb

连接远程达梦数据库

{
  "mcpServers": {
    "dm-prod": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "dm",
        "--host", "dm-server.example.com",
        "--port", "5236",
        "--user", "app_user",
        "--password", "secure_password",
        "--database", "PRODUCTION"
      ]
    }
  }
}

与 Claude 对话示例

用户: 查看数据库中的所有表

Claude 会自动:

  1. 调用 get_schema 工具
  2. 返回所有表的列表和基本信息

用户: 查询部门表中的所有记录

Claude 会自动:

  1. 生成 SQL: SELECT * FROM DEPT
  2. 执行查询并返回结果

用户: 统计每个部门的员工数量

Claude 会自动:

  1. 理解需求
  2. 生成 SQL: SELECT DEPT_ID, COUNT(*) as EMP_COUNT FROM EMPLOYEES GROUP BY DEPT_ID
  3. 执行并返回结果

SQL Server 使用示例

基础配置(只读模式)

{
  "mcpServers": {
    "sqlserver-db": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "sqlserver",
        "--host", "localhost",
        "--port", "1433",
        "--user", "sa",
        "--password", "YourPassword123",
        "--database", "master"
      ]
    }
  }
}

提示: 也可以使用 --type mssql 作为别名。

启用写入模式

{
  "mcpServers": {
    "sqlserver-write": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "sqlserver",
        "--host", "localhost",
        "--port", "1433",
        "--user", "sa",
        "--password", "YourPassword123",
        "--database", "MyDatabase",
        "--permission-mode", "full"
      ]
    }
  }
}

连接 Azure SQL Database

{
  "mcpServers": {
    "azure-sql": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "sqlserver",
        "--host", "myserver.database.windows.net",
        "--port", "1433",
        "--user", "myadmin",
        "--password", "MyPassword123!",
        "--database", "mydatabase"
      ]
    }
  }
}

注意: 连接 Azure SQL Database 时会自动启用加密连接。

与 Claude 对话示例

用户: 查看数据库中有哪些表?

Claude 会自动:

  1. 调用 get_schema 工具
  2. 执行查询: SELECT TABLE_SCHEMA, TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE'
  3. 返回表列表

用户: 查看 Users 表的结构

Claude 会自动:

  1. 调用 get_table_info 工具
  2. 返回列信息、主键、索引等详细信息

用户: 统计每个部门的员工数量

Claude 会自动:

  1. 理解需求
  2. 生成 SQL: SELECT DepartmentID, COUNT(*) as EmployeeCount FROM Employees GROUP BY DepartmentID ORDER BY EmployeeCount DESC
  3. 执行并返回结果

用户: 查找最近一周创建的订单

Claude 会自动:

  1. 生成 SQL: SELECT * FROM Orders WHERE CreatedDate >= DATEADD(day, -7, GETDATE()) ORDER BY CreatedDate DESC
  2. 执行并返回结果

注意事项

  1. 默认端口: SQL Server 默认端口为 1433
  2. 身份验证: 支持 SQL Server 身份验证(用户名/密码)
  3. 加密连接: 连接 Azure SQL 时会自动启用加密,本地 SQL Server 默认不加密
  4. 数据库名: 必须指定数据库名(如 master、tempdb 或自定义数据库)
  5. 权限: 确保用户有足够的权限访问系统视图(INFORMATION_SCHEMA)
  6. 参数化查询: 支持 ? 占位符,会自动转换为 SQL Server 的 @param0 语法

MongoDB 使用示例

基础配置(只读模式)

{
  "mcpServers": {
    "mongodb-db": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "mongodb",
        "--host", "localhost",
        "--port", "27017",
        "--user", "admin",
        "--password", "your_password",
        "--database", "myapp",
        "--auth-source", "admin"  
      ]
    }
  }
}

无认证连接(开发环境)

{
  "mcpServers": {
    "mongodb-local": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "mongodb",
        "--host", "localhost",
        "--port", "27017",
        "--database", "test"
      ]
    }
  }
}

启用写入模式

{
  "mcpServers": {
    "mongodb-write": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "mongodb",
        "--host", "localhost",
        "--port", "27017",
        "--user", "dev_user",
        "--password", "dev_password",
        "--database", "development",
        "--permission-mode", "full"
      ]
    }
  }
}

连接 MongoDB Atlas

{
  "mcpServers": {
    "mongodb-atlas": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "mongodb",
        "--host", "cluster0.xxxxx.mongodb.net",
        "--port", "27017",
        "--user", "myuser",
        "--password", "mypassword",
        "--database", "production"
      ]
    }
  }
}

查询格式

MongoDB 适配器支持两种查询格式:

1. JSON 格式(推荐)

{
  "collection": "users",
  "operation": "find",
  "query": {"age": {"$gt": 18}},
  "options": {"limit": 10}
}

2. 简化格式

db.users.find({"age": {"$gt": 18}})

与 Claude 对话示例

用户: 查看数据库中有哪些集合?

Claude 会自动:

  1. 调用 get_schema 工具
  2. 返回所有集合的列表和基本信息
  3. 显示每个集合的文档数量和推断的字段结构

用户: 查询 users 集合中年龄大于 18 的用户

Claude 会自动:

  1. 生成查询: {"collection": "users", "operation": "find", "query": {"age": {"$gt": 18}}}
  2. 执行并返回结果

用户: 统计每个城市的用户数量

Claude 会自动:

  1. 理解需求
  2. 生成聚合查询:
{
  "collection": "users",
  "operation": "aggregate",
  "pipeline": [
    {"$group": {"_id": "$city", "count": {"$sum": 1}}},
    {"$sort": {"count": -1}}
  ]
}
  1. 执行并返回结果

用户: 查找最近创建的 10 个订单

Claude 会自动:

  1. 生成查询:
{
  "collection": "orders",
  "operation": "find",
  "query": {},
  "options": {"sort": {"createdAt": -1}, "limit": 10}
}
  1. 执行并返回结果

支持的操作

查询操作(只读模式)

  • find - 查询文档
  • findOne - 查询单个文档
  • count / countDocuments - 统计文档数量
  • distinct - 获取字段的不同值
  • aggregate - 聚合管道查询

写入操作(需要 --permission-mode readwrite 或 full)

  • insert / insertOne - 插入单个文档
  • insertMany - 插入多个文档
  • update / updateOne - 更新单个文档
  • updateMany - 更新多个文档
  • delete / deleteOne - 删除单个文档(需要 delete 权限)
  • deleteMany - 删除多个文档(需要 delete 权限)

注意事项

  1. 默认端口: MongoDB 默认端口为 27017
  2. 认证: 支持用户名/密码认证,默认认证数据库为 admin
  3. 集合结构: MongoDB 是无模式数据库,Schema 信息通过采样文档推断
  4. ObjectId: 查询结果中的 ObjectId 会自动转换为字符串
  5. 查询语法: 使用 MongoDB 原生查询语法,不是 SQL
  6. 聚合管道: 支持完整的聚合管道功能

SQLite 使用示例

基础配置(只读模式)

{
  "mcpServers": {
    "sqlite-local": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "sqlite",
        "--file", "/path/to/your/database.db"
      ]
    }
  }
}

Windows 路径示例

{
  "mcpServers": {
    "sqlite-app": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "sqlite",
        "--file", "C:\\Users\\YourName\\Documents\\myapp.db"
      ]
    }
  }
}

注意: Windows 路径中的反斜杠需要转义(使用 \\)。

macOS/Linux 路径示例

{
  "mcpServers": {
    "sqlite-notes": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "sqlite",
        "--file", "/Users/YourName/Documents/notes.db"
      ]
    }
  }
}

启用写入模式

{
  "mcpServers": {
    "sqlite-dev": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "sqlite",
        "--file", "/path/to/dev.db",
        "--permission-mode", "full"
      ]
    }
  }
}

与 Claude 对话示例

用户: 查看数据库中有哪些表?

Claude 会自动:

  1. 调用 get_schema 工具
  2. 执行查询: SELECT name FROM sqlite_master WHERE type='table'
  3. 返回表列表

用户: 查看 users 表的结构

Claude 会自动:

  1. 调用 get_table_info 工具
  2. 执行 PRAGMA table_info(users)
  3. 返回列信息、主键、索引等详细信息

用户: 统计每个分类的文章数量

Claude 会自动:

  1. 理解需求
  2. 生成 SQL: SELECT category, COUNT(*) as count FROM articles GROUP BY category ORDER BY count DESC
  3. 执行并返回结果

用户: 查找最近创建的 10 条记录

Claude 会自动:

  1. 生成 SQL: SELECT * FROM posts ORDER BY created_at DESC LIMIT 10
  2. 执行并返回结果

常见使用场景

1. 分析本地应用数据库

许多桌面应用使用 SQLite 存储数据(如浏览器历史、笔记应用等):

用户: 帮我分析 Chrome 浏览器的历史记录

Claude 会:
1. 连接到 Chrome 的 History 数据库文件
2. 查询 urls 和 visits 表
3. 生成访问统计和分析报告

2. 开发和测试

SQLite 非常适合本地开发和测试:

用户: 创建一个测试用户并查询

Claude 会(在写入模式下):
1. INSERT INTO users (name, email) VALUES ('Test User', 'test@example.com')
2. SELECT * FROM users WHERE email = 'test@example.com'

3. 数据导出和备份

用户: 导出所有用户数据为 JSON 格式

Claude 会:
1. SELECT * FROM users
2. 将结果格式化为 JSON
3. 提供下载或复制

注意事项

  1. 文件路径: 必须使用绝对路径,不支持相对路径
  2. 文件权限: 确保 Claude Desktop 有权限读取/写入数据库文件
  3. 并发访问: SQLite 支持多读单写,注意并发访问限制
  4. 数据库锁: 如果数据库被其他程序占用,可能会遇到锁定错误
  5. 自动创建: 如果指定的文件不存在,会自动创建新数据库
  6. 备份建议: 在启用写入模式前,建议先备份数据库文件

支持的 SQLite 特性

  • ✅ 标准 SQL 查询(SELECT、INSERT、UPDATE、DELETE)
  • ✅ 事务支持
  • ✅ 索引和主键
  • ✅ 外键约束(需要启用)
  • ✅ PRAGMA 命令
  • ✅ 全文搜索(FTS)
  • ✅ JSON 扩展(SQLite 3.38+)

性能提示

  1. 索引优化: 为常用查询字段创建索引
  2. 批量操作: 使用事务包装批量 INSERT/UPDATE
  3. PRAGMA 优化: 可以使用 PRAGMA 命令调整性能参数
  4. VACUUM: 定期执行 VACUUM 优化数据库文件大小

KingbaseES 使用示例

基础配置(只读模式)

{
  "mcpServers": {
    "kingbase-db": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "kingbase",
        "--host", "localhost",
        "--port", "54321",
        "--user", "system",
        "--password", "your_password",
        "--database", "test"
      ]
    }
  }
}

启用写入模式

{
  "mcpServers": {
    "kingbase-write": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "kingbase",
        "--host", "localhost",
        "--port", "54321",
        "--user", "system",
        "--password", "your_password",
        "--database", "mydb",
        "--permission-mode", "full"
      ]
    }
  }
}

连接远程 KingbaseES

{
  "mcpServers": {
    "kingbase-prod": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "kingbase",
        "--host", "kingbase.example.com",
        "--port", "54321",
        "--user", "readonly_user",
        "--password", "secure_password",
        "--database", "production"
      ]
    }
  }
}

与 Claude 对话示例

用户: 查看数据库中有哪些表?

Claude 会自动:

  1. 调用 get_schema 工具
  2. 执行查询获取所有用户 Schema 下的表
  3. 返回表列表

用户: 查看 users 表的结构

Claude 会自动:

  1. 调用 get_table_info 工具
  2. 返回列信息、主键、索引等详细信息

用户: 统计每个部门的员工数量

Claude 会自动:

  1. 理解需求
  2. 生成 SQL: SELECT department_id, COUNT(*) as count FROM employees GROUP BY department_id ORDER BY count DESC
  3. 执行并返回结果

用户: 查找最近一周创建的订单

Claude 会自动:

  1. 生成 SQL: SELECT * FROM orders WHERE created_at >= CURRENT_DATE - INTERVAL '7 days' ORDER BY created_at DESC
  2. 执行并返回结果

注意事项

  1. 默认端口: KingbaseES 默认端口为 54321
  2. 兼容性: 基于 PostgreSQL 开发,兼容 PostgreSQL 协议和 SQL 语法
  3. 驱动: 使用 PostgreSQL 的 pg 驱动
  4. 多 Schema 支持: 自动获取所有用户 Schema 下的表,public Schema 的表直接使用表名,其他 Schema 使用 schema.table_name 格式
  5. 参数化查询: 支持 $1, \$2, ... 占位符
  6. 国产化: 适用于国产化替代场景

支持的 KingbaseES 版本

  • ✅ KingbaseES V8
  • ✅ KingbaseES V9
  • ✅ 其他兼容 PostgreSQL 协议的版本

常见使用场景

1. 国产化数据库迁移

从 PostgreSQL 迁移到 KingbaseES:

用户: 帮我分析现有表结构,准备迁移到 KingbaseES

Claude 会:
1. 获取完整的 Schema 信息
2. 分析表结构、索引、约束
3. 提供迁移建议

2. 数据分析和报表

用户: 统计最近一个月的销售数据

Claude 会:
1. 理解需求
2. 生成复杂的聚合查询
3. 返回分析结果

3. 开发和测试

用户: 在测试环境创建测试数据

Claude 会(在写入模式下):
1. 生成 INSERT 语句
2. 执行并验证结果

GaussDB / OpenGauss 使用示例

基础配置(只读模式)

{
  "mcpServers": {
    "gaussdb-db": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "gaussdb",
        "--host", "localhost",
        "--port", "5432",
        "--user", "gaussdb",
        "--password", "your_password",
        "--database", "postgres"
      ]
    }
  }
}

提示: 也可以使用 --type opengauss 作为别名。

启用写入模式

{
  "mcpServers": {
    "gaussdb-write": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "gaussdb",
        "--host", "localhost",
        "--port", "5432",
        "--user", "gaussdb",
        "--password", "your_password",
        "--database", "mydb",
        "--permission-mode", "full"
      ]
    }
  }
}

连接华为云 GaussDB

{
  "mcpServers": {
    "gaussdb-cloud": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "gaussdb",
        "--host", "gaussdb.cn-north-4.myhuaweicloud.com",
        "--port", "5432",
        "--user", "dbuser",
        "--password", "secure_password",
        "--database", "production"
      ]
    }
  }
}

与 Claude 对话示例

用户: 查看数据库中有哪些表?

Claude 会自动:

  1. 调用 get_schema 工具
  2. 执行查询获取所有用户 Schema 下的表
  3. 返回表列表

用户: 查看 products 表的结构

Claude 会自动:

  1. 调用 get_table_info 工具
  2. 返回列信息、主键、索引等详细信息

用户: 统计每个类别的产品数量

Claude 会自动:

  1. 理解需求
  2. 生成 SQL: SELECT category, COUNT(*) as count FROM products GROUP BY category ORDER BY count DESC
  3. 执行并返回结果

用户: 查找价格最高的 10 个产品

Claude 会自动:

  1. 生成 SQL: SELECT * FROM products ORDER BY price DESC LIMIT 10
  2. 执行并返回结果

注意事项

  1. 默认端口: GaussDB/OpenGauss 默认端口为 5432(与 PostgreSQL 相同)
  2. 兼容性: 基于 PostgreSQL 9.2 开发,兼容 PostgreSQL 协议和大部分 SQL 语法
  3. 驱动: 使用 PostgreSQL 的 pg 驱动
  4. 多 Schema 支持: 自动获取所有用户 Schema 下的表,public Schema 的表直接使用表名,其他 Schema 使用 schema.table_name 格式
  5. 参数化查询: 支持 $1, \$2, ... 占位符
  6. 国产化: 华为自研数据库,适用于国产化替代场景
  7. 开源版本: OpenGauss 是 GaussDB 的开源版本

支持的版本

  • ✅ GaussDB 100/200/300 系列
  • ✅ OpenGauss 2.x / 3.x / 5.x
  • ✅ 其他兼容 PostgreSQL 协议的版本

常见使用场景

1. 华为云数据库管理

连接华为云 GaussDB 进行数据查询和分析:

用户: 帮我分析最近一周的用户增长趋势

Claude 会:
1. 查询用户表
2. 按日期分组统计
3. 生成趋势分析报告

2. 国产化数据库迁移

从 PostgreSQL 迁移到 GaussDB:

用户: 帮我分析现有表结构,准备迁移到 GaussDB

Claude 会:
1. 获取完整的 Schema 信息
2. 分析表结构、索引、约束
3. 提供迁移建议和兼容性分析

3. 性能优化

用户: 这个查询很慢,帮我优化

Claude 会:
1. 分析查询语句
2. 检查索引情况
3. 提供优化建议(添加索引、重写查询等)

4. 数据分析和报表

用户: 生成本月销售报表

Claude 会:
1. 理解需求
2. 生成复杂的聚合查询
3. 返回格式化的分析结果

GaussDB 特色功能

虽然使用 PostgreSQL 协议,但 GaussDB 有一些特色功能:

  • 列存储: 支持列存储表(需要特定语法)
  • 分区表: 增强的分区表功能
  • 并行查询: 更强的并行查询能力
  • AI 能力: 内置 AI 引擎(部分版本)

注意: 这些特色功能可能需要特定的 SQL 语法,Claude 会根据标准 PostgreSQL 语法生成查询。


OceanBase 使用示例

基础配置(只读模式)

{
  "mcpServers": {
    "oceanbase-db": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "oceanbase",
        "--host", "localhost",
        "--port", "2881",
        "--user", "root@test",
        "--password", "your_password",
        "--database", "test"
      ]
    }
  }
}

启用写入模式

{
  "mcpServers": {
    "oceanbase-write": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "oceanbase",
        "--host", "localhost",
        "--port", "2881",
        "--user", "root@test",
        "--password", "your_password",
        "--database", "mydb",
        "--permission-mode", "full"
      ]
    }
  }
}

连接阿里云 OceanBase

{
  "mcpServers": {
    "oceanbase-cloud": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "oceanbase",
        "--host", "oceanbase.cn-hangzhou.aliyuncs.com",
        "--port", "2883",
        "--user", "dbuser@tenant",
        "--password", "secure_password",
        "--database", "production"
      ]
    }
  }
}

与 Claude 对话示例

用户: 查看数据库中有哪些表?

Claude 会自动:

  1. 调用 get_schema 工具
  2. 执行 SHOW TABLES 查询
  3. 返回表列表

用户: 查看 orders 表的结构

Claude 会自动:

  1. 调用 get_table_info 工具
  2. 执行 SHOW FULL COLUMNS FROM orders
  3. 返回列信息、主键、索引等详细信息

用户: 统计每个用户的订单数量

Claude 会自动:

  1. 理解需求
  2. 生成 SQL: SELECT user_id, COUNT(*) as order_count FROM orders GROUP BY user_id ORDER BY order_count DESC
  3. 执行并返回结果

用户: 查找最近一天的订单

Claude 会自动:

  1. 生成 SQL: SELECT * FROM orders WHERE created_at >= DATE_SUB(NOW(), INTERVAL 1 DAY) ORDER BY created_at DESC
  2. 执行并返回结果

注意事项

  1. 默认端口:
    • 直连端口:2881(直接连接 OBServer)
    • 代理端口:2883(通过 OBProxy 连接)
  2. 兼容性: 兼容 MySQL 5.6/5.7 协议和大部分 SQL 语法
  3. 驱动: 使用 MySQL 的 mysql2 驱动
  4. 用户名格式: 用户名@租户名(如 root@testuser@sys
  5. 租户: OceanBase 支持多租户,需要指定租户名
  6. 分布式: OceanBase 是分布式数据库,支持水平扩展

支持的版本

  • ✅ OceanBase 3.x
  • ✅ OceanBase 4.x
  • ✅ 其他兼容 MySQL 协议的版本

常见使用场景

1. 分布式数据库管理

连接 OceanBase 集群进行数据查询和分析:

用户: 帮我分析订单表的数据分布

Claude 会:
1. 查询订单表
2. 统计各个维度的数据
3. 生成分析报告

2. 从 MySQL 迁移到 OceanBase

用户: 帮我分析现有 MySQL 表结构,准备迁移到 OceanBase

Claude 会:
1. 获取完整的 Schema 信息
2. 分析表结构、索引、约束
3. 提供迁移建议和兼容性分析

3. 性能优化

用户: 这个查询在 OceanBase 上很慢,帮我优化

Claude 会:
1. 分析查询语句
2. 检查索引情况
3. 提供优化建议(考虑分布式特性)

4. 多租户管理

用户: 查询当前租户的资源使用情况

Claude 会:
1. 生成相应的系统表查询
2. 返回租户资源信息

OceanBase 特色功能

虽然兼容 MySQL 协议,但 OceanBase 有一些特色功能:

  • 分布式事务: 支持跨节点的分布式事务
  • 多租户: 支持多租户隔离
  • 高可用: 自动故障转移和数据恢复
  • 弹性扩展: 支持在线扩容和缩容
  • HTAP: 同时支持 OLTP 和 OLAP 场景

注意: 这些特色功能可能需要特定的 SQL 语法或系统表查询,Claude 会根据标准 MySQL 语法生成查询。


TiDB 使用示例

基础配置(只读模式)

{
  "mcpServers": {
    "tidb-db": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "tidb",
        "--host", "localhost",
        "--port", "4000",
        "--user", "root",
        "--password", "",
        "--database", "test"
      ]
    }
  }
}

启用写入模式

{
  "mcpServers": {
    "tidb-write": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "tidb",
        "--host", "localhost",
        "--port", "4000",
        "--user", "root",
        "--password", "your_password",
        "--database", "mydb",
        "--permission-mode", "full"
      ]
    }
  }
}

连接 TiDB Cloud

{
  "mcpServers": {
    "tidb-cloud": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "tidb",
        "--host", "gateway01.ap-southeast-1.prod.aws.tidbcloud.com",
        "--port", "4000",
        "--user", "your_username",
        "--password", "your_password",
        "--database", "production"
      ]
    }
  }
}

与 Claude 对话示例

用户: 查看数据库中有哪些表?

Claude 会自动:

  1. 调用 get_schema 工具
  2. 执行 SHOW TABLES 查询
  3. 返回表列表

用户: 查看 employees 表的结构

Claude 会自动:

  1. 调用 get_table_info 工具
  2. 执行 SHOW FULL COLUMNS FROM employees
  3. 返回列信息、主键、索引等详细信息

用户: 统计每个部门的员工数量

Claude 会自动:

  1. 理解需求
  2. 生成 SQL: SELECT department, COUNT(*) as employee_count FROM employees GROUP BY department ORDER BY employee_count DESC
  3. 执行并返回结果

用户: 查找最近一周入职的员工

Claude 会自动:

  1. 生成 SQL: SELECT * FROM employees WHERE hire_date >= DATE_SUB(NOW(), INTERVAL 7 DAY) ORDER BY hire_date DESC
  2. 执行并返回结果

注意事项

  1. 默认端口: 4000(TiDB Server 端口)
  2. 兼容性: 兼容 MySQL 5.7 协议和大部分 SQL 语法
  3. 驱动: 使用 MySQL 的 mysql2 驱动
  4. 分布式: TiDB 是分布式数据库,支持水平扩展
  5. HTAP: 同时支持 OLTP 和 OLAP 工作负载
  6. 事务: 支持完整的 ACID 分布式事务

支持的版本

  • ✅ TiDB 5.x
  • ✅ TiDB 6.x
  • ✅ TiDB 7.x
  • ✅ TiDB 8.x
  • ✅ TiDB Cloud

常见使用场景

1. 分布式数据库管理

连接 TiDB 集群进行数据查询和分析:

用户: 帮我分析用户表的数据分布

Claude 会:
1. 查询用户表
2. 统计各个维度的数据
3. 生成分析报告

2. 从 MySQL 迁移到 TiDB

用户: 帮我分析现有 MySQL 表结构,准备迁移到 TiDB

Claude 会:
1. 获取完整的 Schema 信息
2. 分析表结构、索引、约束
3. 提供迁移建议和兼容性分析

3. 性能优化

用户: 这个查询在 TiDB 上很慢,帮我优化

Claude 会:
1. 分析查询语句
2. 检查索引情况
3. 提供优化建议(考虑分布式特性)

4. HTAP 场景

用户: 对大表进行复杂的聚合分析

Claude 会:
1. 生成适合 OLAP 的查询语句
2. 利用 TiFlash 列式存储加速查询
3. 返回分析结果

TiDB 特色功能

虽然兼容 MySQL 5.7 协议,但 TiDB 有一些特色功能:

  • 水平扩展: 支持在线水平扩展,无需停机
  • 分布式事务: 支持跨节点的 ACID 事务
  • 高可用: 自动故障转移和数据恢复
  • HTAP: 同时支持 OLTP 和 OLAP 场景
  • TiFlash: 列式存储引擎,加速 OLAP 查询
  • 弹性扩展: 支持在线扩容和缩容

注意: 这些特色功能可能需要特定的 SQL 语法或系统表查询,Claude 会根据标准 MySQL 语法生成查询。


ClickHouse 使用示例

基础配置(只读模式)

{
  "mcpServers": {
    "clickhouse-db": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "clickhouse",
        "--host", "localhost",
        "--port", "8123",
        "--user", "default",
        "--password", "",
        "--database", "default"
      ]
    }
  }
}

启用写入模式

{
  "mcpServers": {
    "clickhouse-write": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "clickhouse",
        "--host", "localhost",
        "--port", "8123",
        "--user", "default",
        "--password", "your_password",
        "--database", "analytics",
        "--permission-mode", "full"
      ]
    }
  }
}

连接 ClickHouse Cloud

{
  "mcpServers": {
    "clickhouse-cloud": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "clickhouse",
        "--host", "your-instance.clickhouse.cloud",
        "--port", "8443",
        "--user", "default",
        "--password", "your_password",
        "--database", "default"
      ]
    }
  }
}

与 Claude 对话示例

用户: 查看数据库中有哪些表?

Claude 会自动:

  1. 调用 get_schema 工具
  2. 查询 system.tables 系统表
  3. 返回表列表

用户: 查看 events 表的结构

Claude 会自动:

  1. 调用 get_table_info 工具
  2. 查询 system.columns 获取列信息
  3. 返回列信息、主键、索引等详细信息

用户: 统计最近一小时的事件数量

Claude 会自动:

  1. 理解需求
  2. 生成 SQL: SELECT COUNT(*) as event_count FROM events WHERE timestamp >= now() - INTERVAL 1 HOUR
  3. 执行并返回结果

用户: 按用户 ID 分组统计事件数量,取前 10 名

Claude 会自动:

  1. 生成 SQL: SELECT user_id, COUNT(*) as event_count FROM events GROUP BY user_id ORDER BY event_count DESC LIMIT 10
  2. 执行并返回结果

注意事项

  1. 默认端口:
    • HTTP 端口:8123(推荐用于 MCP 连接)
    • 原生 TCP 端口:9000
    • HTTPS 端口:8443(ClickHouse Cloud)
  2. 默认用户: default
  3. 默认数据库: default
  4. 列式存储: ClickHouse 是列式数据库,适合 OLAP 场景
  5. 高性能: 针对大数据分析优化,查询速度极快
  6. SQL 方言: 使用自己的 SQL 方言,与标准 SQL 有些差异

支持的版本

  • ✅ ClickHouse 21.x
  • ✅ ClickHouse 22.x
  • ✅ ClickHouse 23.x
  • ✅ ClickHouse 24.x
  • ✅ ClickHouse Cloud

常见使用场景

1. 大数据分析

连接 ClickHouse 进行海量数据分析:

用户: 分析最近 30 天的用户行为数据

Claude 会:
1. 查询事件表
2. 按时间、用户维度聚合
3. 生成分析报告

2. 实时数据查询

用户: 查询实时的系统监控指标

Claude 会:
1. 查询最新的监控数据
2. 计算关键指标
3. 返回实时统计结果

3. 日志分析

用户: 分析应用日志,找出错误最多的接口

Claude 会:
1. 查询日志表
2. 按接口分组统计错误数
3. 返回排序后的结果

4. 时序数据分析

用户: 分析时序数据的趋势

Claude 会:
1. 按时间窗口聚合数据
2. 计算趋势指标
3. 生成时序分析报告

ClickHouse 特色功能

ClickHouse 作为列式 OLAP 数据库,有许多特色功能:

  • 列式存储: 数据按列存储,压缩率高,查询速度快
  • 向量化执行: 利用 SIMD 指令加速查询
  • 分布式查询: 支持分布式表和分布式查询
  • 物化视图: 支持物化视图加速查询
  • 数据压缩: 多种压缩算法,节省存储空间
  • 实时插入: 支持高并发实时数据插入
  • 近似计算: 支持近似算法加速聚合查询

注意: ClickHouse 的 SQL 语法与标准 SQL 有一些差异,Claude 会尽量生成兼容的查询语句。

ClickHouse 最佳实践

  1. 表引擎选择:

    • 使用 MergeTree 系列引擎(推荐)
    • 根据场景选择合适的表引擎
  2. 分区策略:

    • 按时间分区(如按天、按月)
    • 合理设置分区键
  3. 排序键:

    • 选择查询频繁的列作为排序键
    • 排序键顺序影响查询性能
  4. 数据类型:

    • 使用合适的数据类型节省空间
    • 避免使用 String 类型存储数值
  5. 查询优化:

    • 使用 PREWHERE 过滤数据
    • 避免 SELECT *
    • 合理使用物化视图

PolarDB 使用示例

基础配置(只读模式)

{
  "mcpServers": {
    "polardb-db": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "polardb",
        "--host", "pc-xxxxx.mysql.polardb.rds.aliyuncs.com",
        "--port", "3306",
        "--user", "your_username",
        "--password", "your_password",
        "--database", "your_database"
      ]
    }
  }
}

启用写入模式

{
  "mcpServers": {
    "polardb-write": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "polardb",
        "--host", "pc-xxxxx.mysql.polardb.rds.aliyuncs.com",
        "--port", "3306",
        "--user", "your_username",
        "--password", "your_password",
        "--database", "your_database",
        "--permission-mode", "full"
      ]
    }
  }
}

连接 PolarDB 集群(读写分离)

{
  "mcpServers": {
    "polardb-primary": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "polardb",
        "--host", "pc-xxxxx.mysql.polardb.rds.aliyuncs.com",
        "--port", "3306",
        "--user", "your_username",
        "--password", "your_password",
        "--database", "your_database",
        "--permission-mode", "full"
      ]
    },
    "polardb-readonly": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "polardb",
        "--host", "pc-xxxxx-ro.mysql.polardb.rds.aliyuncs.com",
        "--port", "3306",
        "--user", "readonly_user",
        "--password", "readonly_password",
        "--database", "your_database"
      ]
    }
  }
}

与 Claude 对话示例

用户: 查看数据库中有哪些表?

Claude 会自动:

  1. 调用 get_schema 工具
  2. 执行 SHOW TABLES 查询
  3. 返回表列表

用户: 查看 orders 表的结构

Claude 会自动:

  1. 调用 get_table_info 工具
  2. 执行 SHOW FULL COLUMNS FROM orders
  3. 返回列信息、主键、索引等详细信息

用户: 统计最近 7 天的订单数量

Claude 会自动:

  1. 理解需求
  2. 生成 SQL: SELECT COUNT(*) FROM orders WHERE created_at >= DATE_SUB(NOW(), INTERVAL 7 DAY)
  3. 执行并返回结果

用户: 查询销售额最高的 10 个商品

Claude 会自动:

  1. 生成 SQL: SELECT product_id, SUM(amount) as total_sales FROM orders GROUP BY product_id ORDER BY total_sales DESC LIMIT 10
  2. 执行并返回结果

注意事项

  1. 默认端口: 3306(与 MySQL 相同)
  2. 兼容性: 完全兼容 MySQL 5.6/5.7/8.0 协议
  3. 驱动: 使用 MySQL 的 mysql2 驱动
  4. 读写分离:
    • 主地址(Primary Endpoint):支持读写
    • 集群地址(Cluster Endpoint):自动读写分离
    • 只读地址(Read-only Endpoint):只支持读
  5. 云原生特性:
    • 存储与计算分离
    • 秒级弹性扩展
    • 多可用区部署

支持的版本

  • ✅ PolarDB for MySQL 5.6
  • ✅ PolarDB for MySQL 5.7
  • ✅ PolarDB for MySQL 8.0
  • ✅ PolarDB Serverless

常见使用场景

1. 云原生应用数据库

连接 PolarDB 作为云原生应用的主数据库:

用户: 查询用户表中的所有活跃用户

Claude 会:
1. 查询用户表
2. 过滤活跃用户
3. 返回结果

2. 读写分离场景

用户: 使用只读节点查询大量数据进行分析

Claude 会:
1. 连接到只读地址
2. 执行复杂的分析查询
3. 不影响主库性能

3. 高并发场景

用户: 查询实时订单数据

Claude 会:
1. 利用 PolarDB 的高并发能力
2. 快速返回查询结果
3. 保证数据一致性

4. 弹性扩展

用户: 在业务高峰期查询数据

Claude 会:
1. PolarDB 自动扩展计算资源
2. 保证查询性能
3. 业务低峰期自动缩容

PolarDB 特色功能

PolarDB 作为云原生数据库,有许多特色功能:

  • 存储计算分离: 存储和计算资源独立扩展
  • 一写多读: 支持一个主节点和多个只读节点
  • 秒级弹性: 计算节点秒级扩展
  • 全局一致性: 分布式事务保证数据一致性
  • 并行查询: 支持并行查询加速
  • 热备份: 在线备份不影响业务
  • 多可用区: 支持多可用区部署,高可用

注意: 这些特色功能在标准 MySQL 协议下可能需要特定的配置或 SQL 语法。

PolarDB 最佳实践

  1. 读写分离:

    • 写操作使用主地址
    • 读操作使用只读地址或集群地址
    • 分析查询使用只读节点
  2. 连接池管理:

    • 合理设置连接池大小
    • 使用长连接减少连接开销
    • 定期检查连接健康状态
  3. 查询优化:

    • 使用合适的索引
    • 避免全表扫描
    • 合理使用 LIMIT
    • 利用查询缓存
  4. 监控告警:

    • 监控 CPU、内存、IOPS
    • 设置慢查询告警
    • 关注连接数使用情况
    • 定期查看性能洞察
  5. 安全建议:

    • 使用 SSL 连接
    • 设置白名单
    • 定期更换密码
    • 使用 RAM 账号管理权限

Vastbase 使用示例

基础配置(只读模式)

{
  "mcpServers": {
    "vastbase-db": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "vastbase",
        "--host", "localhost",
        "--port", "5432",
        "--user", "vastbase",
        "--password", "your_password",
        "--database", "postgres"
      ]
    }
  }
}

启用写入模式

{
  "mcpServers": {
    "vastbase-write": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "vastbase",
        "--host", "localhost",
        "--port", "5432",
        "--user", "vastbase",
        "--password", "your_password",
        "--database", "mydb",
        "--permission-mode", "full"
      ]
    }
  }
}

连接 Vastbase 集群

{
  "mcpServers": {
    "vastbase-cluster": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "vastbase",
        "--host", "vastbase-cluster.example.com",
        "--port", "5432",
        "--user", "your_username",
        "--password", "your_password",
        "--database", "production"
      ]
    }
  }
}

与 Claude 对话示例

用户: 查看数据库中有哪些表?

Claude 会自动:

  1. 调用 get_schema 工具
  2. 查询 information_schema.tables
  3. 返回表列表

用户: 查看 employees 表的结构

Claude 会自动:

  1. 调用 get_table_info 工具
  2. 查询 information_schema.columns
  3. 返回列信息、主键、索引等详细信息

用户: 统计每个部门的员工数量

Claude 会自动:

  1. 理解需求
  2. 生成 SQL: SELECT department, COUNT(*) as employee_count FROM employees GROUP BY department ORDER BY employee_count DESC
  3. 执行并返回结果

用户: 查找最近一周入职的员工

Claude 会自动:

  1. 生成 SQL: SELECT * FROM employees WHERE hire_date >= CURRENT_DATE - INTERVAL '7 days' ORDER BY hire_date DESC
  2. 执行并返回结果

注意事项

  1. 默认端口: 5432(与 PostgreSQL 相同)
  2. 兼容性: 兼容 PostgreSQL 协议和大部分 SQL 语法
  3. 驱动: 使用 PostgreSQL 的 pg 驱动
  4. 国产数据库: 海量数据公司开发,支持国产化替代
  5. 企业级特性:
    • 支持分布式架构
    • 支持高可用集群
    • 支持数据加密
    • 支持审计日志

支持的版本

  • ✅ Vastbase G100 V2.2
  • ✅ Vastbase G100 V2.3
  • ✅ 其他兼容 PostgreSQL 的版本

常见使用场景

1. 国产化替代

使用 Vastbase 替代 PostgreSQL 或 Oracle:

用户: 查询用户表中的所有数据

Claude 会:
1. 查询用户表
2. 返回结果
3. 完全兼容 PostgreSQL 语法

2. 企业级应用

用户: 查询订单表,需要关联多个表

Claude 会:
1. 生成复杂的 JOIN 查询
2. 利用 Vastbase 的查询优化
3. 返回结果

3. 数据分析

用户: 分析最近一个月的销售趋势

Claude 会:
1. 生成聚合查询
2. 按日期分组统计
3. 生成趋势分析报告

4. 高可用场景

用户: 连接 Vastbase 集群进行查询

Claude 会:
1. 连接到集群地址
2. 自动负载均衡
3. 保证高可用性

Vastbase 特色功能

Vastbase 作为国产数据库,有一些特色功能:

  • PostgreSQL 兼容: 兼容 PostgreSQL 协议和语法
  • 分布式架构: 支持分布式部署和查询
  • 高可用: 支持主备切换和故障转移
  • 数据加密: 支持透明数据加密(TDE)
  • 审计日志: 完善的审计日志功能
  • 国产化: 支持国产操作系统和芯片

注意: 这些特色功能可能需要特定的配置或 SQL 语法,Claude 会根据标准 PostgreSQL 语法生成查询。

Vastbase 最佳实践

  1. 表设计:

    • 使用合适的数据类型
    • 合理设计主键和索引
    • 使用分区表提升性能
    • 避免过度规范化
  2. 查询优化:

    • 使用 EXPLAIN 分析查询计划
    • 创建合适的索引
    • 避免 SELECT *
    • 使用 LIMIT 限制返回结果
  3. 连接管理:

    • 使用连接池
    • 合理设置连接数
    • 定期检查连接健康状态
    • 避免长时间持有连接
  4. 监控维护:

    • 监控数据库性能指标
    • 定期执行 VACUUM
    • 更新统计信息
    • 定期备份数据
  5. 安全建议:

    • 使用强密码
    • 限制网络访问
    • 启用 SSL 连接
    • 定期审计日志

HighGo 使用示例

基础配置(只读模式)

{
  "mcpServers": {
    "highgo-db": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "highgo",
        "--host", "localhost",
        "--port", "5866",
        "--user", "highgo",
        "--password", "your_password",
        "--database", "highgo"
      ]
    }
  }
}

启用写入模式

{
  "mcpServers": {
    "highgo-write": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "highgo",
        "--host", "localhost",
        "--port", "5866",
        "--user", "highgo",
        "--password", "your_password",
        "--database", "mydb",
        "--permission-mode", "full"
      ]
    }
  }
}

连接 HighGo 集群

{
  "mcpServers": {
    "highgo-cluster": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "highgo",
        "--host", "highgo-cluster.example.com",
        "--port", "5866",
        "--user", "your_username",
        "--password", "your_password",
        "--database", "production"
      ]
    }
  }
}

与 Claude 对话示例

用户: 查看数据库中有哪些表?

Claude 会自动:

  1. 调用 get_schema 工具
  2. 查询 information_schema.tables
  3. 返回表列表

用户: 查看 products 表的结构

Claude 会自动:

  1. 调用 get_table_info 工具
  2. 查询 information_schema.columns
  3. 返回列信息、主键、索引等详细信息

用户: 统计每个类别的商品数量

Claude 会自动:

  1. 理解需求
  2. 生成 SQL: SELECT category, COUNT(*) as product_count FROM products GROUP BY category ORDER BY product_count DESC
  3. 执行并返回结果

用户: 查找价格超过 1000 元的商品

Claude 会自动:

  1. 生成 SQL: SELECT * FROM products WHERE price > 1000 ORDER BY price DESC
  2. 执行并返回结果

注意事项

  1. 默认端口: 5866(HighGo 默认端口)
  2. 兼容性: 兼容 PostgreSQL 协议和大部分 SQL 语法
  3. 驱动: 使用 PostgreSQL 的 pg 驱动
  4. 国产数据库: 瀚高公司开发,支持国产化替代
  5. 企业级特性:
    • 支持高可用集群
    • 支持数据加密
    • 支持审计日志
    • 支持备份恢复

支持的版本

  • ✅ HighGo DB 4.x
  • ✅ HighGo DB 5.x
  • ✅ HighGo DB 6.x
  • ✅ 其他兼容 PostgreSQL 的版本

常见使用场景

1. 国产化替代

使用 HighGo 替代 PostgreSQL 或 Oracle:

用户: 查询订单表中的所有数据

Claude 会:
1. 查询订单表
2. 返回结果
3. 完全兼容 PostgreSQL 语法

2. 企业级应用

用户: 查询销售数据,需要关联多个表

Claude 会:
1. 生成复杂的 JOIN 查询
2. 利用 HighGo 的查询优化
3. 返回结果

3. 数据分析

用户: 分析最近一季度的销售趋势

Claude 会:
1. 生成聚合查询
2. 按时间分组统计
3. 生成趋势分析报告

4. 高可用场景

用户: 连接 HighGo 集群进行查询

Claude 会:
1. 连接到集群地址
2. 自动负载均衡
3. 保证高可用性

HighGo 特色功能

HighGo 作为国产数据库,有一些特色功能:

  • PostgreSQL 兼容: 兼容 PostgreSQL 9.x/10.x/11.x 协议和语法
  • 高可用: 支持主备切换和故障转移
  • 数据加密: 支持透明数据加密(TDE)
  • 审计日志: 完善的审计日志功能
  • 国产化: 支持国产操作系统和芯片
  • Oracle 兼容: 部分版本支持 Oracle 兼容模式

注意: 这些特色功能可能需要特定的配置或 SQL 语法,Claude 会根据标准 PostgreSQL 语法生成查询。

HighGo 最佳实践

  1. 表设计:

    • 使用合适的数据类型
    • 合理设计主键和索引
    • 使用分区表提升性能
    • 避免过度规范化
  2. 查询优化:

    • 使用 EXPLAIN 分析查询计划
    • 创建合适的索引
    • 避免 SELECT *
    • 使用 LIMIT 限制返回结果
  3. 连接管理:

    • 使用连接池
    • 合理设置连接数
    • 定期检查连接健康状态
    • 避免长时间持有连接
  4. 监控维护:

    • 监控数据库性能指标
    • 定期执行 VACUUM
    • 更新统计信息
    • 定期备份数据
  5. 安全建议:

    • 使用强密码
    • 限制网络访问
    • 启用 SSL 连接
    • 定期审计日志

GoldenDB 使用示例

基础配置(只读模式)

{
  "mcpServers": {
    "goldendb-db": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "goldendb",
        "--host", "localhost",
        "--port", "3306",
        "--user", "root",
        "--password", "your_password",
        "--database", "test"
      ]
    }
  }
}

启用写入模式

{
  "mcpServers": {
    "goldendb-write": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "goldendb",
        "--host", "localhost",
        "--port", "3306",
        "--user", "root",
        "--password", "your_password",
        "--database", "mydb",
        "--permission-mode", "full"
      ]
    }
  }
}

连接 GoldenDB 分布式集群

{
  "mcpServers": {
    "goldendb-cluster": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "goldendb",
        "--host", "goldendb-cluster.example.com",
        "--port", "3306",
        "--user", "your_username",
        "--password", "your_password",
        "--database", "production"
      ]
    }
  }
}

与 Claude 对话示例

用户: 查看数据库中有哪些表?

Claude 会自动:

  1. 调用 get_schema 工具
  2. 执行 SHOW TABLES 查询
  3. 返回表列表

用户: 查看 transactions 表的结构

Claude 会自动:

  1. 调用 get_table_info 工具
  2. 执行 SHOW FULL COLUMNS FROM transactions
  3. 返回列信息、主键、索引等详细信息

用户: 统计每个用户的交易总额

Claude 会自动:

  1. 理解需求
  2. 生成 SQL: SELECT user_id, SUM(amount) as total_amount FROM transactions GROUP BY user_id ORDER BY total_amount DESC
  3. 执行并返回结果

用户: 查找最近 24 小时的大额交易(金额超过 10000)

Claude 会自动:

  1. 生成 SQL: SELECT * FROM transactions WHERE amount > 10000 AND created_at >= DATE_SUB(NOW(), INTERVAL 24 HOUR) ORDER BY amount DESC
  2. 执行并返回结果

注意事项

  1. 默认端口: 3306(与 MySQL 相同)
  2. 兼容性: 完全兼容 MySQL 5.7/8.0 协议
  3. 驱动: 使用 MySQL 的 mysql2 驱动
  4. 国产数据库: 中兴通讯开发,支持国产化替代
  5. 分布式特性:
    • 支持分布式事务
    • 支持水平扩展
    • 支持高可用集群
    • 支持读写分离

支持的版本

  • ✅ GoldenDB 2.x
  • ✅ GoldenDB 3.x
  • ✅ 其他兼容 MySQL 的版本

常见使用场景

1. 电信行业应用

GoldenDB 在电信行业有广泛应用:

用户: 查询用户通话记录

Claude 会:
1. 查询通话记录表
2. 按用户分组统计
3. 返回分析结果

2. 金融交易系统

用户: 查询今日交易流水

Claude 会:
1. 查询交易表
2. 过滤今日数据
3. 返回交易明细

3. 分布式场景

用户: 查询分布式表的数据

Claude 会:
1. 连接到 GoldenDB 集群
2. 执行分布式查询
3. 自动聚合结果

4. 高并发场景

用户: 查询实时订单数据

Claude 会:
1. 利用 GoldenDB 的高并发能力
2. 快速返回查询结果
3. 保证数据一致性

GoldenDB 特色功能

GoldenDB 作为国产分布式数据库,有一些特色功能:

  • MySQL 兼容: 完全兼容 MySQL 5.7/8.0 协议和语法
  • 分布式架构: 支持分布式事务和水平扩展
  • 高可用: 支持主备切换和故障转移
  • 读写分离: 支持读写分离架构
  • 弹性扩展: 支持在线扩容和缩容
  • 国产化: 支持国产操作系统和芯片
  • 电信级: 满足电信级可靠性要求

注意: 这些特色功能可能需要特定的配置或 SQL 语法,Claude 会根据标准 MySQL 语法生成查询。

GoldenDB 最佳实践

  1. 表设计:

    • 使用合适的分片键
    • 合理设计主键和索引
    • 考虑数据分布均衡
    • 避免跨分片查询
  2. 查询优化:

    • 使用 EXPLAIN 分析查询计划
    • 创建合适的索引
    • 避免 SELECT *
    • 使用 LIMIT 限制返回结果
  3. 分布式事务:

    • 合理使用分布式事务
    • 避免长事务
    • 注意事务隔离级别
    • 处理分布式死锁
  4. 监控维护:

    • 监控集群状态
    • 关注分片数据分布
    • 定期检查慢查询
    • 定期备份数据
  5. 安全建议:

    • 使用强密码
    • 限制网络访问
    • 启用 SSL 连接
    • 定期审计日志

Claude Desktop 配置示例

同时连接多个数据库

你可以在 Claude Desktop 中同时配置多个数据库连接:

{
  "mcpServers": {
    "mysql-prod": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "mysql",
        "--host", "prod-db.example.com",
        "--port", "3306",
        "--user", "readonly",
        "--password", "prod_password",
        "--database", "production"
      ]
    },
    "postgres-analytics": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "postgres",
        "--host", "analytics.example.com",
        "--port", "5432",
        "--user", "analyst",
        "--password", "analytics_password",
        "--database", "warehouse"
      ]
    },
    "redis-cache": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "redis",
        "--host", "cache.example.com",
        "--port", "6379",
        "--password", "cache_password"
      ]
    },
    "oracle-warehouse": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "oracle",
        "--host", "oracle.example.com",
        "--port", "1521",
        "--user", "warehouse_user",
        "--password", "warehouse_password",
        "--database", "DWH"
      ]
    },
    "sqlite-local": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "sqlite",
        "--file", "/Users/yourname/data/local.db"
      ]
    },
    "kingbase-db": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "kingbase",
        "--host", "localhost",
        "--port", "54321",
        "--user", "system",
        "--password", "your_password",
        "--database", "test"
      ]
    },
    "gaussdb-db": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "gaussdb",
        "--host", "localhost",
        "--port", "5432",
        "--user", "gaussdb",
        "--password", "your_password",
        "--database", "postgres"
      ]
    }
  }
}

重启 Claude Desktop 后,你可以在对话中指定使用哪个数据库:

  • "在 MySQL 生产库中查询..."
  • "从 PostgreSQL 分析库获取..."
  • "检查 Redis 缓存中的..."
  • "在 Oracle 数据仓库中统计..."
  • "从 SQLite 本地数据库查询..."
  • "在 KingbaseES 数据库中查询..."
  • "从 GaussDB 数据库获取..."
  • "在 OceanBase 集群中查询..."

常见使用场景

1. 数据分析

场景: 快速分析业务数据

用户: 帮我分析最近一个月的销售趋势

Claude 会:
1. 查看 orders 表结构
2. 按日期分组统计订单金额
3. 生成趋势分析报告

2. 问题排查

场景: 排查生产问题

用户: 为什么用户 ID 12345 无法登录?

Claude 会:
1. 查询 users 表找到该用户
2. 检查 login_logs 表的最近记录
3. 分析可能的原因(账号状态、密码错误次数等)

3. 数据迁移准备

场景: 了解数据库结构以准备迁移

用户: 帮我生成所有表的结构文档

Claude 会:
1. 调用 get_schema 获取完整结构
2. 整理成 Markdown 格式的文档
3. 包含表名、列定义、索引、外键等信息

4. 性能优化建议

场景: 优化慢查询

用户: 这个查询很慢,帮我优化:SELECT * FROM orders WHERE user_id = 123

Claude 会:
1. 查看 orders 表的索引情况
2. 建议添加索引或修改查询
3. 解释优化原理

5. Redis 缓存管理

场景: 管理缓存数据

用户: 清理所有过期的会话缓存

Claude 会:
1. 查找所有 session: 开头的键
2. 检查 TTL
3. 在写入模式下执行清理(需要 --permission-mode readwrite 或 full)

安全提示

✅ 推荐做法

  1. 生产环境只读: 生产数据库使用默认的 safe 模式
  2. 按需授权: 使用 --permission-mode readwrite 允许读写但禁止删除
  3. 使用专用账号: 为 MCP 创建权限受限的数据库账号
  4. 网络隔离: 通过 VPN 或跳板机访问生产数据库
  5. 审计日志: 定期检查 Claude Desktop 的操作日志

❌ 避免做法

  1. 不要在生产环境启用 --permission-mode full
  2. 不要使用 root 或 admin 账号
  3. 不要在公共网络直接连接数据库
  4. 不要在配置文件中明文存储密码(考虑使用环境变量)

故障排查

连接失败

错误: 数据库连接失败

解决方案:

  1. 检查数据库服务是否运行
  2. 验证主机地址和端口
  3. 确认用户名和密码正确
  4. 检查防火墙规则

权限不足

错误: Access deniedpermission denied

解决方案:

  1. 确认数据库用户有足够权限
  2. MySQL: GRANT SELECT ON database.* TO 'user'@'host';
  3. PostgreSQL: GRANT SELECT ON ALL TABLES IN SCHEMA public TO user;

写操作被拒绝

错误: 操作被拒绝:当前处于只读安全模式

解决方案:

  • 这是安全特性,根据需要选择合适的权限模式:
    • --permission-mode readwrite - 允许读写但禁止删除
    • --permission-mode full - 完全控制(仅开发环境使用!)
    • --permissions read,insert,update - 自定义权限组合

更多帮助