元数据库MCP服务器
模型控制协议(MCP)服务器,使AI助手能够与元数据库和操作进行交互。
!\[元数据库MCP服务器\]
概述
Metabase MCP服务器在AI助手和Metabase之间提供了一座桥梁,允许AI模型:
- 列出并浏览Metabase中配置的数据库
- 检索有关数据库模式、表和字段的详细元数据
- 可视化数据库中表之间的关系
- 列出并执行元数据库操作
- 通过安全的API对元数据库数据执行操作
该服务器实现了\[Model Control Protocol(MCP)\]规范,使其与支持MCP工具的AI助手兼容。
特性
- 数据库探索:列出所有数据库并探索其模式
- 元数据检索:获取有关表、字段和关系的详细信息
- 关系可视化:生成数据库关系的可视化表示
- 行动管理:列出、查看详细信息并执行元数据库操作
- 安全的API密钥处理:存储加密的API密钥并防止暴露
- web界面:通过用户友好的web界面测试和调试功能
- Docker支持:使用Docker和Docker Compose轻松部署
先决条件
- 元数据库实例(建议使用v0.46.0或更高版本)
- 具有适当权限的元数据库API密钥
- Docker(用于容器化部署)
- Python 3.10+(用于本地开发)
安装
使用Docker(推荐)
- 克隆此存储库:
git clone https://github.com/yourusername/metabase-mcp.git
cd metabase-mcp- 构建并运行Docker容器:
docker-compose up -d- 访问配置界面http://localhost:5001
手动安装
- 克隆此存储库:
git clone https://github.com/yourusername/metabase-mcp.git
cd metabase-mcp- 安装依赖项:
pip install -r requirements.txt- 运行配置界面:
python -m src.server.web_interface- 访问配置界面http://localhost:5000
配置
- 在浏览器中打开web界面
- 输入您的元数据库URL(例如。,http://localhost:3000)
- 输入Metabase API密钥
- 点击“保存配置”并测试连接
获取元数据库API密钥
- 以管理员身份登录Metabase实例
- 前往“设置”>“管理设置”>API密钥
- 创建具有适当权限的新API密钥
- 复制生成的密钥以在MCP服务器中使用
用法
运行MCP服务器
配置后,您可以运行MCP服务器:
# Using Docker
docker run -p 5001:5000 metabase-mcp
# Manually
python -m src.server.mcp_server可用工具
MCP服务器为AI助手提供以下工具:
- 列表_数据库:列出元数据库中配置的所有数据库
- get_database_metadata:获取特定数据库的详细元数据
- db_overview:获取数据库中所有表的高级概述
- table_detail:获取特定表格的详细信息
- 可视化_数据库_关系:生成数据库关系的可视化表示
- run_database_query:对数据库执行SQL查询
- list_actions:列出元数据库中配置的所有操作
- get_action_details:获取有关特定操作的详细信息
- 执行_动作:使用参数执行元数据库操作
通过Web界面测试工具
web界面为每个工具提供了一个测试区域:
- 列出数据库:查看元数据库中配置的所有数据库
- 获取数据库元数据:查看数据库的详细架构信息
- 数据库概述:查看数据库中所有表的简明列表
- 表详细信息:查看特定表的详细信息
- 可视化数据库关系:生成表关系的可视化表示
- 运行查询:对数据库执行SQL查询
- 列出操作:查看元数据库中配置的所有操作
- 获取操作详细信息:查看有关特定操作的详细信息
- 执行操作:测试使用参数执行操作
安全考虑
- API密钥在静止时加密存储
- web界面从不以纯文本显示API键
- 当配置有安全的元数据库URL时,所有API请求都使用HTTPS
- 服务器应部署在生产环境中的安全代理后面
发展
项目结构
metabase-mcp/
├── src/
│ ├── api/ # Metabase API client
│ ├── config/ # Configuration management
│ ├── server/ # MCP and web servers
│ └── tools/ # Tool implementations
├── templates/ # Web interface templates
├── docker-compose.yml # Docker Compose configuration
├── Dockerfile # Docker build configuration
├── requirements.txt # Python dependencies
└── README.md # Documentation添加新工具
要添加新工具,请执行以下操作:
- 在中实现工具功能
src/tools/ - 在中注册该工具
src/server/mcp_server.py - 在中添加测试接口
templates/config.html(可选) - 在中添加路线
src/server/web_interface.py(如果添加测试接口)
故障排除
常见问题
- 连接失败:确保元数据库URL正确且可访问
- 认证错误:验证您的API密钥是否具有必要的权限
- Docker网络问题:使用Docker时,确保网络配置正确
日志
检查日志以获取详细的错误信息:
# Docker logs
docker logs metabase-mcp
# Manual execution logs
# Logs are printed to the console贡献
欢迎投稿!请随时提交拉取请求。
