使用示例
March 16, 2026 · View on GitHub
本文档提供 MCP 数据库万能连接器的详细使用示例。
📋 目录
- MySQL 使用示例
- PostgreSQL 使用示例
- Redis 使用示例
- Oracle 使用示例
- 达梦 使用示例
- SQL Server 使用示例
- MongoDB 使用示例
- SQLite 使用示例
- KingbaseES 使用示例
- GaussDB / OpenGauss 使用示例
- OceanBase 使用示例
- TiDB 使用示例
- ClickHouse 使用示例
- PolarDB 使用示例
- Vastbase 使用示例
- HighGo 使用示例
- GoldenDB 使用示例
- Claude Desktop 配置示例
- 常见使用场景
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 会自动:
- 调用
get_table_info工具 - 返回表的列信息、主键、索引等
用户: 统计最近 7 天注册的用户数量
Claude 会自动:
- 理解需求
- 生成 SQL:
SELECT COUNT(*) FROM users WHERE created_at >= DATE_SUB(NOW(), INTERVAL 7 DAY) - 调用
execute_query工具执行 - 返回结果
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 会自动:
- 调用
get_schema了解表结构 - 生成复杂的 JOIN 查询
- 执行并返回结果
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:1001 或 HGETALL 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 会自动:
- 调用
get_table_info工具 - 返回表的列信息、主键、索引等
- 注意:Oracle 表名通常为大写
用户: 查询工资最高的 10 名员工
Claude 会自动:
- 理解需求
- 生成 SQL:
SELECT * FROM EMPLOYEES ORDER BY SALARY DESC FETCH FIRST 10 ROWS ONLY - 调用
execute_query工具执行 - 返回结果
用户: 统计每个部门的员工数量
Claude 会自动:
- 查看表结构
- 生成 SQL:
SELECT DEPARTMENT_ID, COUNT(*) as EMP_COUNT FROM EMPLOYEES GROUP BY DEPARTMENT_ID - 执行并返回结果
达梦 使用示例
基础配置(只读模式)
{
"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 会自动:
- 调用
get_schema工具 - 返回所有表的列表和基本信息
用户: 查询部门表中的所有记录
Claude 会自动:
- 生成 SQL:
SELECT * FROM DEPT - 执行查询并返回结果
用户: 统计每个部门的员工数量
Claude 会自动:
- 理解需求
- 生成 SQL:
SELECT DEPT_ID, COUNT(*) as EMP_COUNT FROM EMPLOYEES GROUP BY DEPT_ID - 执行并返回结果
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 会自动:
- 调用
get_schema工具 - 执行查询:
SELECT TABLE_SCHEMA, TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' - 返回表列表
用户: 查看 Users 表的结构
Claude 会自动:
- 调用
get_table_info工具 - 返回列信息、主键、索引等详细信息
用户: 统计每个部门的员工数量
Claude 会自动:
- 理解需求
- 生成 SQL:
SELECT DepartmentID, COUNT(*) as EmployeeCount FROM Employees GROUP BY DepartmentID ORDER BY EmployeeCount DESC - 执行并返回结果
用户: 查找最近一周创建的订单
Claude 会自动:
- 生成 SQL:
SELECT * FROM Orders WHERE CreatedDate >= DATEADD(day, -7, GETDATE()) ORDER BY CreatedDate DESC - 执行并返回结果
注意事项
- 默认端口: SQL Server 默认端口为 1433
- 身份验证: 支持 SQL Server 身份验证(用户名/密码)
- 加密连接: 连接 Azure SQL 时会自动启用加密,本地 SQL Server 默认不加密
- 数据库名: 必须指定数据库名(如 master、tempdb 或自定义数据库)
- 权限: 确保用户有足够的权限访问系统视图(INFORMATION_SCHEMA)
- 参数化查询: 支持
?占位符,会自动转换为 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 会自动:
- 调用
get_schema工具 - 返回所有集合的列表和基本信息
- 显示每个集合的文档数量和推断的字段结构
用户: 查询 users 集合中年龄大于 18 的用户
Claude 会自动:
- 生成查询:
{"collection": "users", "operation": "find", "query": {"age": {"$gt": 18}}} - 执行并返回结果
用户: 统计每个城市的用户数量
Claude 会自动:
- 理解需求
- 生成聚合查询:
{
"collection": "users",
"operation": "aggregate",
"pipeline": [
{"$group": {"_id": "$city", "count": {"$sum": 1}}},
{"$sort": {"count": -1}}
]
}
- 执行并返回结果
用户: 查找最近创建的 10 个订单
Claude 会自动:
- 生成查询:
{
"collection": "orders",
"operation": "find",
"query": {},
"options": {"sort": {"createdAt": -1}, "limit": 10}
}
- 执行并返回结果
支持的操作
查询操作(只读模式)
find- 查询文档findOne- 查询单个文档count/countDocuments- 统计文档数量distinct- 获取字段的不同值aggregate- 聚合管道查询
写入操作(需要 --permission-mode readwrite 或 full)
insert/insertOne- 插入单个文档insertMany- 插入多个文档update/updateOne- 更新单个文档updateMany- 更新多个文档delete/deleteOne- 删除单个文档(需要 delete 权限)deleteMany- 删除多个文档(需要 delete 权限)
注意事项
- 默认端口: MongoDB 默认端口为 27017
- 认证: 支持用户名/密码认证,默认认证数据库为 admin
- 集合结构: MongoDB 是无模式数据库,Schema 信息通过采样文档推断
- ObjectId: 查询结果中的 ObjectId 会自动转换为字符串
- 查询语法: 使用 MongoDB 原生查询语法,不是 SQL
- 聚合管道: 支持完整的聚合管道功能
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 会自动:
- 调用
get_schema工具 - 执行查询:
SELECT name FROM sqlite_master WHERE type='table' - 返回表列表
用户: 查看 users 表的结构
Claude 会自动:
- 调用
get_table_info工具 - 执行
PRAGMA table_info(users) - 返回列信息、主键、索引等详细信息
用户: 统计每个分类的文章数量
Claude 会自动:
- 理解需求
- 生成 SQL:
SELECT category, COUNT(*) as count FROM articles GROUP BY category ORDER BY count DESC - 执行并返回结果
用户: 查找最近创建的 10 条记录
Claude 会自动:
- 生成 SQL:
SELECT * FROM posts ORDER BY created_at DESC LIMIT 10 - 执行并返回结果
常见使用场景
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. 提供下载或复制
注意事项
- 文件路径: 必须使用绝对路径,不支持相对路径
- 文件权限: 确保 Claude Desktop 有权限读取/写入数据库文件
- 并发访问: SQLite 支持多读单写,注意并发访问限制
- 数据库锁: 如果数据库被其他程序占用,可能会遇到锁定错误
- 自动创建: 如果指定的文件不存在,会自动创建新数据库
- 备份建议: 在启用写入模式前,建议先备份数据库文件
支持的 SQLite 特性
- ✅ 标准 SQL 查询(SELECT、INSERT、UPDATE、DELETE)
- ✅ 事务支持
- ✅ 索引和主键
- ✅ 外键约束(需要启用)
- ✅ PRAGMA 命令
- ✅ 全文搜索(FTS)
- ✅ JSON 扩展(SQLite 3.38+)
性能提示
- 索引优化: 为常用查询字段创建索引
- 批量操作: 使用事务包装批量 INSERT/UPDATE
- PRAGMA 优化: 可以使用 PRAGMA 命令调整性能参数
- 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 会自动:
- 调用
get_schema工具 - 执行查询获取所有用户 Schema 下的表
- 返回表列表
用户: 查看 users 表的结构
Claude 会自动:
- 调用
get_table_info工具 - 返回列信息、主键、索引等详细信息
用户: 统计每个部门的员工数量
Claude 会自动:
- 理解需求
- 生成 SQL:
SELECT department_id, COUNT(*) as count FROM employees GROUP BY department_id ORDER BY count DESC - 执行并返回结果
用户: 查找最近一周创建的订单
Claude 会自动:
- 生成 SQL:
SELECT * FROM orders WHERE created_at >= CURRENT_DATE - INTERVAL '7 days' ORDER BY created_at DESC - 执行并返回结果
注意事项
- 默认端口: KingbaseES 默认端口为 54321
- 兼容性: 基于 PostgreSQL 开发,兼容 PostgreSQL 协议和 SQL 语法
- 驱动: 使用 PostgreSQL 的
pg驱动 - 多 Schema 支持: 自动获取所有用户 Schema 下的表,
publicSchema 的表直接使用表名,其他 Schema 使用schema.table_name格式 - 参数化查询: 支持
$1, \$2, ...占位符 - 国产化: 适用于国产化替代场景
支持的 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 会自动:
- 调用
get_schema工具 - 执行查询获取所有用户 Schema 下的表
- 返回表列表
用户: 查看 products 表的结构
Claude 会自动:
- 调用
get_table_info工具 - 返回列信息、主键、索引等详细信息
用户: 统计每个类别的产品数量
Claude 会自动:
- 理解需求
- 生成 SQL:
SELECT category, COUNT(*) as count FROM products GROUP BY category ORDER BY count DESC - 执行并返回结果
用户: 查找价格最高的 10 个产品
Claude 会自动:
- 生成 SQL:
SELECT * FROM products ORDER BY price DESC LIMIT 10 - 执行并返回结果
注意事项
- 默认端口: GaussDB/OpenGauss 默认端口为 5432(与 PostgreSQL 相同)
- 兼容性: 基于 PostgreSQL 9.2 开发,兼容 PostgreSQL 协议和大部分 SQL 语法
- 驱动: 使用 PostgreSQL 的
pg驱动 - 多 Schema 支持: 自动获取所有用户 Schema 下的表,
publicSchema 的表直接使用表名,其他 Schema 使用schema.table_name格式 - 参数化查询: 支持
$1, \$2, ...占位符 - 国产化: 华为自研数据库,适用于国产化替代场景
- 开源版本: 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 会自动:
- 调用
get_schema工具 - 执行
SHOW TABLES查询 - 返回表列表
用户: 查看 orders 表的结构
Claude 会自动:
- 调用
get_table_info工具 - 执行
SHOW FULL COLUMNS FROM orders - 返回列信息、主键、索引等详细信息
用户: 统计每个用户的订单数量
Claude 会自动:
- 理解需求
- 生成 SQL:
SELECT user_id, COUNT(*) as order_count FROM orders GROUP BY user_id ORDER BY order_count DESC - 执行并返回结果
用户: 查找最近一天的订单
Claude 会自动:
- 生成 SQL:
SELECT * FROM orders WHERE created_at >= DATE_SUB(NOW(), INTERVAL 1 DAY) ORDER BY created_at DESC - 执行并返回结果
注意事项
- 默认端口:
- 直连端口:2881(直接连接 OBServer)
- 代理端口:2883(通过 OBProxy 连接)
- 兼容性: 兼容 MySQL 5.6/5.7 协议和大部分 SQL 语法
- 驱动: 使用 MySQL 的
mysql2驱动 - 用户名格式:
用户名@租户名(如root@test、user@sys) - 租户: OceanBase 支持多租户,需要指定租户名
- 分布式: 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 会自动:
- 调用
get_schema工具 - 执行
SHOW TABLES查询 - 返回表列表
用户: 查看 employees 表的结构
Claude 会自动:
- 调用
get_table_info工具 - 执行
SHOW FULL COLUMNS FROM employees - 返回列信息、主键、索引等详细信息
用户: 统计每个部门的员工数量
Claude 会自动:
- 理解需求
- 生成 SQL:
SELECT department, COUNT(*) as employee_count FROM employees GROUP BY department ORDER BY employee_count DESC - 执行并返回结果
用户: 查找最近一周入职的员工
Claude 会自动:
- 生成 SQL:
SELECT * FROM employees WHERE hire_date >= DATE_SUB(NOW(), INTERVAL 7 DAY) ORDER BY hire_date DESC - 执行并返回结果
注意事项
- 默认端口: 4000(TiDB Server 端口)
- 兼容性: 兼容 MySQL 5.7 协议和大部分 SQL 语法
- 驱动: 使用 MySQL 的
mysql2驱动 - 分布式: TiDB 是分布式数据库,支持水平扩展
- HTAP: 同时支持 OLTP 和 OLAP 工作负载
- 事务: 支持完整的 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 会自动:
- 调用
get_schema工具 - 查询
system.tables系统表 - 返回表列表
用户: 查看 events 表的结构
Claude 会自动:
- 调用
get_table_info工具 - 查询
system.columns获取列信息 - 返回列信息、主键、索引等详细信息
用户: 统计最近一小时的事件数量
Claude 会自动:
- 理解需求
- 生成 SQL:
SELECT COUNT(*) as event_count FROM events WHERE timestamp >= now() - INTERVAL 1 HOUR - 执行并返回结果
用户: 按用户 ID 分组统计事件数量,取前 10 名
Claude 会自动:
- 生成 SQL:
SELECT user_id, COUNT(*) as event_count FROM events GROUP BY user_id ORDER BY event_count DESC LIMIT 10 - 执行并返回结果
注意事项
- 默认端口:
- HTTP 端口:8123(推荐用于 MCP 连接)
- 原生 TCP 端口:9000
- HTTPS 端口:8443(ClickHouse Cloud)
- 默认用户: default
- 默认数据库: default
- 列式存储: ClickHouse 是列式数据库,适合 OLAP 场景
- 高性能: 针对大数据分析优化,查询速度极快
- 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 最佳实践
-
表引擎选择:
- 使用 MergeTree 系列引擎(推荐)
- 根据场景选择合适的表引擎
-
分区策略:
- 按时间分区(如按天、按月)
- 合理设置分区键
-
排序键:
- 选择查询频繁的列作为排序键
- 排序键顺序影响查询性能
-
数据类型:
- 使用合适的数据类型节省空间
- 避免使用 String 类型存储数值
-
查询优化:
- 使用 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 会自动:
- 调用
get_schema工具 - 执行
SHOW TABLES查询 - 返回表列表
用户: 查看 orders 表的结构
Claude 会自动:
- 调用
get_table_info工具 - 执行
SHOW FULL COLUMNS FROM orders - 返回列信息、主键、索引等详细信息
用户: 统计最近 7 天的订单数量
Claude 会自动:
- 理解需求
- 生成 SQL:
SELECT COUNT(*) FROM orders WHERE created_at >= DATE_SUB(NOW(), INTERVAL 7 DAY) - 执行并返回结果
用户: 查询销售额最高的 10 个商品
Claude 会自动:
- 生成 SQL:
SELECT product_id, SUM(amount) as total_sales FROM orders GROUP BY product_id ORDER BY total_sales DESC LIMIT 10 - 执行并返回结果
注意事项
- 默认端口: 3306(与 MySQL 相同)
- 兼容性: 完全兼容 MySQL 5.6/5.7/8.0 协议
- 驱动: 使用 MySQL 的
mysql2驱动 - 读写分离:
- 主地址(Primary Endpoint):支持读写
- 集群地址(Cluster Endpoint):自动读写分离
- 只读地址(Read-only Endpoint):只支持读
- 云原生特性:
- 存储与计算分离
- 秒级弹性扩展
- 多可用区部署
支持的版本
- ✅ 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 最佳实践
-
读写分离:
- 写操作使用主地址
- 读操作使用只读地址或集群地址
- 分析查询使用只读节点
-
连接池管理:
- 合理设置连接池大小
- 使用长连接减少连接开销
- 定期检查连接健康状态
-
查询优化:
- 使用合适的索引
- 避免全表扫描
- 合理使用 LIMIT
- 利用查询缓存
-
监控告警:
- 监控 CPU、内存、IOPS
- 设置慢查询告警
- 关注连接数使用情况
- 定期查看性能洞察
-
安全建议:
- 使用 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 会自动:
- 调用
get_schema工具 - 查询
information_schema.tables - 返回表列表
用户: 查看 employees 表的结构
Claude 会自动:
- 调用
get_table_info工具 - 查询
information_schema.columns - 返回列信息、主键、索引等详细信息
用户: 统计每个部门的员工数量
Claude 会自动:
- 理解需求
- 生成 SQL:
SELECT department, COUNT(*) as employee_count FROM employees GROUP BY department ORDER BY employee_count DESC - 执行并返回结果
用户: 查找最近一周入职的员工
Claude 会自动:
- 生成 SQL:
SELECT * FROM employees WHERE hire_date >= CURRENT_DATE - INTERVAL '7 days' ORDER BY hire_date DESC - 执行并返回结果
注意事项
- 默认端口: 5432(与 PostgreSQL 相同)
- 兼容性: 兼容 PostgreSQL 协议和大部分 SQL 语法
- 驱动: 使用 PostgreSQL 的
pg驱动 - 国产数据库: 海量数据公司开发,支持国产化替代
- 企业级特性:
- 支持分布式架构
- 支持高可用集群
- 支持数据加密
- 支持审计日志
支持的版本
- ✅ 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 最佳实践
-
表设计:
- 使用合适的数据类型
- 合理设计主键和索引
- 使用分区表提升性能
- 避免过度规范化
-
查询优化:
- 使用 EXPLAIN 分析查询计划
- 创建合适的索引
- 避免 SELECT *
- 使用 LIMIT 限制返回结果
-
连接管理:
- 使用连接池
- 合理设置连接数
- 定期检查连接健康状态
- 避免长时间持有连接
-
监控维护:
- 监控数据库性能指标
- 定期执行 VACUUM
- 更新统计信息
- 定期备份数据
-
安全建议:
- 使用强密码
- 限制网络访问
- 启用 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 会自动:
- 调用
get_schema工具 - 查询
information_schema.tables - 返回表列表
用户: 查看 products 表的结构
Claude 会自动:
- 调用
get_table_info工具 - 查询
information_schema.columns - 返回列信息、主键、索引等详细信息
用户: 统计每个类别的商品数量
Claude 会自动:
- 理解需求
- 生成 SQL:
SELECT category, COUNT(*) as product_count FROM products GROUP BY category ORDER BY product_count DESC - 执行并返回结果
用户: 查找价格超过 1000 元的商品
Claude 会自动:
- 生成 SQL:
SELECT * FROM products WHERE price > 1000 ORDER BY price DESC - 执行并返回结果
注意事项
- 默认端口: 5866(HighGo 默认端口)
- 兼容性: 兼容 PostgreSQL 协议和大部分 SQL 语法
- 驱动: 使用 PostgreSQL 的
pg驱动 - 国产数据库: 瀚高公司开发,支持国产化替代
- 企业级特性:
- 支持高可用集群
- 支持数据加密
- 支持审计日志
- 支持备份恢复
支持的版本
- ✅ 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 最佳实践
-
表设计:
- 使用合适的数据类型
- 合理设计主键和索引
- 使用分区表提升性能
- 避免过度规范化
-
查询优化:
- 使用 EXPLAIN 分析查询计划
- 创建合适的索引
- 避免 SELECT *
- 使用 LIMIT 限制返回结果
-
连接管理:
- 使用连接池
- 合理设置连接数
- 定期检查连接健康状态
- 避免长时间持有连接
-
监控维护:
- 监控数据库性能指标
- 定期执行 VACUUM
- 更新统计信息
- 定期备份数据
-
安全建议:
- 使用强密码
- 限制网络访问
- 启用 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 会自动:
- 调用
get_schema工具 - 执行
SHOW TABLES查询 - 返回表列表
用户: 查看 transactions 表的结构
Claude 会自动:
- 调用
get_table_info工具 - 执行
SHOW FULL COLUMNS FROM transactions - 返回列信息、主键、索引等详细信息
用户: 统计每个用户的交易总额
Claude 会自动:
- 理解需求
- 生成 SQL:
SELECT user_id, SUM(amount) as total_amount FROM transactions GROUP BY user_id ORDER BY total_amount DESC - 执行并返回结果
用户: 查找最近 24 小时的大额交易(金额超过 10000)
Claude 会自动:
- 生成 SQL:
SELECT * FROM transactions WHERE amount > 10000 AND created_at >= DATE_SUB(NOW(), INTERVAL 24 HOUR) ORDER BY amount DESC - 执行并返回结果
注意事项
- 默认端口: 3306(与 MySQL 相同)
- 兼容性: 完全兼容 MySQL 5.7/8.0 协议
- 驱动: 使用 MySQL 的
mysql2驱动 - 国产数据库: 中兴通讯开发,支持国产化替代
- 分布式特性:
- 支持分布式事务
- 支持水平扩展
- 支持高可用集群
- 支持读写分离
支持的版本
- ✅ 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 最佳实践
-
表设计:
- 使用合适的分片键
- 合理设计主键和索引
- 考虑数据分布均衡
- 避免跨分片查询
-
查询优化:
- 使用 EXPLAIN 分析查询计划
- 创建合适的索引
- 避免 SELECT *
- 使用 LIMIT 限制返回结果
-
分布式事务:
- 合理使用分布式事务
- 避免长事务
- 注意事务隔离级别
- 处理分布式死锁
-
监控维护:
- 监控集群状态
- 关注分片数据分布
- 定期检查慢查询
- 定期备份数据
-
安全建议:
- 使用强密码
- 限制网络访问
- 启用 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)
安全提示
✅ 推荐做法
- 生产环境只读: 生产数据库使用默认的
safe模式 - 按需授权: 使用
--permission-mode readwrite允许读写但禁止删除 - 使用专用账号: 为 MCP 创建权限受限的数据库账号
- 网络隔离: 通过 VPN 或跳板机访问生产数据库
- 审计日志: 定期检查 Claude Desktop 的操作日志
❌ 避免做法
- 不要在生产环境启用
--permission-mode full - 不要使用 root 或 admin 账号
- 不要在公共网络直接连接数据库
- 不要在配置文件中明文存储密码(考虑使用环境变量)
故障排查
连接失败
错误: 数据库连接失败
解决方案:
- 检查数据库服务是否运行
- 验证主机地址和端口
- 确认用户名和密码正确
- 检查防火墙规则
权限不足
错误: Access denied 或 permission denied
解决方案:
- 确认数据库用户有足够权限
- MySQL:
GRANT SELECT ON database.* TO 'user'@'host'; - PostgreSQL:
GRANT SELECT ON ALL TABLES IN SCHEMA public TO user;
写操作被拒绝
错误: 操作被拒绝:当前处于只读安全模式
解决方案:
- 这是安全特性,根据需要选择合适的权限模式:
--permission-mode readwrite- 允许读写但禁止删除--permission-mode full- 完全控制(仅开发环境使用!)--permissions read,insert,update- 自定义权限组合
更多帮助
- 查看 README.md 了解项目概述
- 查看 CONTRIBUTING.md 了解如何贡献
- 提交 Issue: https://github.com/yourusername/universal-db-mcp/issues