使用说明
通用数据库MCP服务器
PostgreSQL和MySQL数据库的模型上下文协议服务器。使Claude能够查询和管理您的数据库。
安装
npm install -g @johnroshan/universal-db-mcp
配置
编辑Claude Desktop配置文件:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
窗户: %APPDATA%\Claude\claude_desktop_config.json
PostgreSQL
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": ["-y", "@johnroshan/universal-db-mcp"],
"env": {
"DB_TYPE": "postgres",
"DATABASE_URL": "postgresql://user:password@localhost:5432/mydb"
}
}
}
}
或者使用单个参数:
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": ["-y", "@johnroshan/universal-db-mcp"],
"env": {
"DB_TYPE": "postgres",
"DB_HOST": "localhost",
"DB_PORT": "5432",
"DB_NAME": "mydb",
"DB_USER": "postgres",
"DB_PASSWORD": "your_password"
}
}
}
}
MySQL
{
"mcpServers": {
"mysql": {
"command": "npx",
"args": ["-y", "@johnroshan/universal-db-mcp"],
"env": {
"DB_TYPE": "mysql",
"DATABASE_URL": "mysql://user:password@localhost:3306/mydb"
}
}
}
}
可用工具
query-执行SQL查询list_tables-列出所有表格describe_table-获取表架构list_databases-列出数据库table_row_count-统计表中的行数search_table-使用模式匹配搜索记录
使用示例
配置完成后,询问Claude:
- “显示数据库中的所有表”
- “用户表的架构是什么”
- “订单表中有多少行”
- “查找所有具有gmail地址的用户”
- “显示最近10个订单”
环境变量
| 变量 | 必填 | 描述 |
|---|---|---|
| DB_TYPE | 是 | postgres或mysql |
| DATABASE_URL | 否 | 完整连接字符串 |
| DB_HOST | 否 | 数据库主机 |
| DB_PORT | 否 | 数据库端口 |
| DB_NAME | 否 | 数据库名称 |
| DB_USER | 否 | 数据库用户 |
| DB_PASSWORD | 否 | 数据库密码 |
需要DATABASE_URL或DB_NAME+DB_USER。
安全
此服务器在您的计算机上本地运行。数据库凭据仍保留在您的设备上。
考虑创建只读数据库用户:
PostgreSQL:
CREATE USER claude_readonly WITH PASSWORD 'password';
GRANT CONNECT ON DATABASE mydb TO claude_readonly;
GRANT USAGE ON SCHEMA public TO claude_readonly;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO claude_readonly;
MySQL:
CREATE USER 'claude_readonly'@'localhost' IDENTIFIED BY 'password';
GRANT SELECT ON mydb.* TO 'claude_readonly'@'localhost';
FLUSH PRIVILEGES;
故障排除
连接被拒绝:
- 验证数据库是否正在运行
- 检查主机和端口
- 检查防火墙设置
身份验证失败:
- 验证凭据
- 检查用户权限
- 对于PostgreSQL,请查看pg_hba.conf
Claude看不到服务器:
- 重新启动克劳德桌面
- 检查配置文件语法
- 检查~/Library/logs/Claude/mcp*.log中的日志
许可证
麻省理工学院