通用数据库 MCP 服务器 について
リレーショナルデータベースに接続し、スキーマ情報と読み取り専用SQLクエリを提供するPython製MCPサーバーです。MySQL、PostgreSQL、Oracle、SQL Server、SQLiteに対応し、機密データを自動でマスキングします。
主な機能
- 015種類のリレーショナルDBに対応
- 02スキーマとインデックスのメタデータ
- 03テーブルのサンプルデータ表示
- 04読み取り専用SQLクエリ
- 05機密情報の自動マスキング
- 06SSEトランスポート
活用シーン
- 01データベースのテーブルと関係の確認
- 02分析用の読み取り専用クエリ実行
- 03機密情報をマスキングしたサンプル行の確認
MCP 対応
MCPクライアントにデータベースのメタデータと読み取り専用クエリ機能を公開します。SSE経由でMCP通信を行います。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
インストール方法は未掲載です
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ツール一覧はまだ取得されていません
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
プロジェクトの README より通用数据库 MCP 服务器
这是一个通用的数据库 MCP (Model Context Protocol) 服务器,支持连接到各种关系型数据库系统并提供数据库结构信息和执行只读 SQL 查询。
功能特点
- 多数据库支持:MySQL、PostgreSQL、Oracle、SQL Server和SQLite
- 元数据访问:获取数据库表结构、字段注释、主键、索引和外键信息
- 样例数据查看:快速查看各表数据样例
- 只读SQL查询:安全执行任意只读SQL查询
- 数据隐私保护:自动掩码敏感信息,保护隐私数据
- MCP协议通信:通过标准MCP协议与大语言模型通信
- SSE传输:使用服务器推送事件(SSE)传输,无WebSocket依赖
系统要求
- Python 3.10 或更高版本
- 适用的数据库服务器(根据需要): MySQL、PostgreSQL、Oracle、SQL Server或SQLite
快速开始
直接安装
-
克隆仓库:
git clone https://github.com/xiaoshi7915/universal-db-mcp-server.git cd universal-db-mcp-server -
安装依赖:
pip install -r requirements.txt -
启动服务器:
./start.sh --db-host localhost --db-user root --db-password password --db-name mydatabase
Docker部署
-
构建Docker镜像:
docker build -t universal-db-mcp-server . -
运行Docker容器:
docker run -p 8088:8088 -e DB_HOST=host.docker.internal -e DB_USER=root -e DB_PASSWORD=password -e DB_NAME=mydatabase universal-db-mcp-server
配置选项
可以通过环境变量或命令行参数配置服务器:
| 参数 | 环境变量 | 说明 | 默认值 |
|---|---|---|---|
| --host | HOST | 服务器主机地址 | 0.0.0.0 |
| --port | PORT | 服务器端口 | 8088 |
| --db-type | DB_TYPE | 数据库类型 | mysql |
| --db-host | DB_HOST | 数据库主机地址 | localhost |
| --db-port | DB_PORT | 数据库端口 | 3306 |
| --db-user | DB_USER | 数据库用户名 | root |
| --db-password | DB_PASSWORD | 数据库密码 | (空) |
| --db-name | DB_NAME | 数据库名称 | (空) |
| --verbose | - | 启用详细日志输出 | false |
与Claude集成
要将此服务器与Claude集成,请在claude_desktop_config.json文件中添加以下配置:
{
"mcpServers": {
"db": {
"command": "/path/to/start.sh",
"args": [
"--db-host", "localhost",
"--db-user", "root",
"--db-password", "password",
"--db-name", "mydatabase"
],
"env": {
"DB_TYPE": "mysql"
}
}
}
}
Docker Compose部署
对于更完整的部署环境,可以使用Docker Compose:
version: '3'
services:
db-mcp-server:
build: .
ports:
- "8088:8088"
environment:
- DB_TYPE=mysql
- DB_HOST=mysql
- DB_PORT=3306
- DB_USER=root
- DB_PASSWORD=rootpassword
- DB_NAME=testdb
depends_on:
- mysql
mysql:
image: mysql:8.0
environment:
- MYSQL_ROOT_PASSWORD=rootpassword
- MYSQL_DATABASE=testdb
volumes:
- mysql-data:/var/lib/mysql
volumes:
mysql-data:
安全注意事项
- 服务器默认监听所有网络接口 (0.0.0.0),生产环境中建议只监听localhost或使用反向代理
- 敏感信息(如密码、个人身份信息)会自动进行掩码处理,但建议在生产环境中使用只有读取权限的数据库用户
- 仅支持只读查询,禁止修改数据库操作
许可
贡献
欢迎提交问题和拉取请求!
コメント
Markdown 対応
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。