关于 mimer-mcp
mimer-mcp 为 Mimer SQL 提供 MCP 数据库连接,适合需要通过 Agent 查看数据库结构、执行查询或调用存储过程的场景。查询仅允许只读 SELECT,并支持参数化。
主要功能
- 01浏览数据库模式和表结构
- 02执行参数化只读查询
- 03列出并查看存储过程定义
- 04传入 JSON 参数执行存储过程
适用场景
- 01检查数据库中的表与示例行
- 02运行安全的 SELECT 查询
- 03查看存储过程参数并调用过程
MCP 相关
该 MCP 服务向 MCP 客户端提供 Mimer SQL 模式浏览、查询和存储过程工具。可通过 stdio 或 HTTP 传输运行。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
uvx mimer-mcp-serverDB_DSNMimer SQL Database DSNDB_USERDatabase userDB_PASSWORD密钥Database passwordDB_HOSTDatabase hostDB_PORTDatabase portDB_PROTOCOLDatabase protocolDB_POOL_INITIAL_CONInitial number of idle connections in the poolDB_POOL_MAX_UNUSEDMaximum number of unused connections in the poolDB_POOL_MAX_CONMaximum number of connections allowedDB_POOL_BLOCKBlock and wait for connection when exceeding max connectionsDB_POOL_DEEP_HEALTH_CHECKDeep health check - validates connection health before getting from poolMCP_LOG_LEVELLogging level for the MCP server (DEBUG, INFO, WARNING, ERROR, CRITICAL)本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Mimer MCP 服务
一个模型上下文协议(MCP)服务,可连接 Mimer SQL 数据库,用于浏览数据库架构、执行支持参数化的只读查询,以及管理存储过程。
可用工具
数据库架构工具
list_schemas— 列出数据库中的所有可用架构list_table_names— 列出指定架构中的表名get_table_info— 获取详细的表架构和示例行
查询执行工具
execute_query— 执行支持参数的 SQL 查询(仅允许 SELECT 查询)
存储过程工具
list_stored_procedures— 列出数据库中的只读存储过程get_stored_procedure_definition— 获取存储过程的定义get_stored_procedure_parameters— 获取存储过程的参数execute_stored_procedure— 使用 JSON 参数在数据库中执行存储过程
开始使用
先决条件
- Python 3.10 或更高版本(已安装 uv)或 Docker
- Mimer SQL 11.0 或更高版本
环境配置
运行服务之前,需要使用环境变量配置数据库连接设置。Mimer MCP Server 会从 .env 文件中读取这些设置。
Mimer MCP Server 可通过 .env 文件中的环境变量进行配置,选项如下:
| 环境变量 | 默认值 | 说明 |
|---|---|---|
DB_DSN | 必填 | 要连接的数据库名称 |
DB_USER | 必填 | 数据库用户名 |
DB_PASSWORD | 必填 | 数据库密码 |
DB_HOST | - | 数据库主机地址(Docker 用户请使用 host.docker.internal) |
DB_PORT | 1360 | 数据库端口号 |
DB_PROTOCOL | tcp | 连接协议 |
DB_POOL_INITIAL_CON | 0 | 连接池中的初始空闲连接数 |
DB_POOL_MAX_UNUSED | 0 | 连接池中未使用连接的最大数量 |
DB_POOL_MAX_CON | 0 | 允许的最大连接数(0 = 不限) |
DB_POOL_BLOCK | false | 超出最大连接数时的行为。若为 true,则阻塞并等待连接可用;若为 false,则在超出最大连接数时引发错误 |
DB_POOL_DEEP_HEALTH_CHECK | true | 若为 true,则在从连接池获取连接前检查其健康状态(速度较慢,但更可靠) |
MCP_LOG_LEVEL | INFO | MCP 服务的日志级别。选项:DEBUG、INFO、WARNING、ERROR、CRITICAL |
在 VS Code 中使用
MCP 服务通过 JSON 文件(mcp.json)进行配置。不同的 MCP 宿主可能使用略有差异的配置格式。本指南以 VS Code 为例。首先,请确保已安装最新版本的 VS Code,并且可以使用 Copilot。
在 VS Code 中添加 MCP 服务的一种方法是,将服务配置添加到工作区的 .vscode/mcp.json 文件中。这样便可与他人共享配置。
- 在工作区中创建
.vscode/mcp.json文件。 - 根据你希望运行 MCP 服务的方式,将以下配置添加到
.vscode/mcp.json文件中。
选项 1:使用 Docker(推荐)
选项 1.1:在本地构建 Docker 镜像
docker build -t mimer-mcp-server .
然后,将以下配置添加到 .vscode/mcp.json 文件中
{
"servers": {
"mimer-mcp-server": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--add-host=host.docker.internal:host-gateway",
"--env-file=/absolute/path/to/.env",
"mimer-mcp-server",
]
}
},
"inputs": []
}
选项 1.2:使用 Docker Hub 上的预构建镜像
{
"servers": {
"mimer-mcp-server": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--add-host=host.docker.internal:host-gateway",
"--env-file=/absolute/path/to/.env",
"mimersql/mimer-mcp:latest"
]
}
},
"inputs": []
}
选项 1.3:使用 Docker Compose 和官方 Mimer SQL Docker 容器
这将启动一个 Mimer SQL Docker 容器和一个 mimer-mcp-server 容器,
在两个容器之间建立专用网络,并创建 Mimer SQL 示例数据库。
Mimer SQL 数据库将存储在名为 mimer_mcp_data 的 Docker 卷中,以便持久保存数据库更改。
{
"servers": {
"mimer-mcp-server": {
"command": "docker",
"args": [
"compose",
"run",
"--rm",
"-i",
"--no-TTY",
"mimer-mcp-server"
]
}
},
"inputs": []
}
选项 2.1:使用 uvx
{
"servers": {
"mimer-mcp-server": {
"type": "stdio",
"command": "uvx",
"args": [
"mimer_mcp_server"
],
"env": {
"DOTENV_PATH": "/absolute/path/to/.env"
}
}
}
}
选项 2.2:使用 uv
{
"servers": {
"mimer-mcp-server": {
"type": "stdio",
"command": "uv",
"args": [
"run",
"--with",
"fastmcp",
"fastmcp",
"run",
"/path-to/server.py"
],
}
}
}
- 保存配置文件后,VS Code 会在
mcp.json文件中显示 启动 按钮。点击该按钮即可启动服务。
- 打开 Copilot Chat,并在 Copilot Chat 输入框的下拉菜单中选择 Agent 模式。
- 选择工具按钮,查看可用工具列表。确保已选中 Mimer MCP 服务中的工具。
- 在聊天输入框中输入提示词,观察 Agent 如何自主选择合适的工具、修复错误,并根据收集到的查询结果生成最终答案。(以下示例使用 Mimer 的示例数据库,该数据库由 MIMER_STORE 所有。有关此数据库的更多信息,请参阅此处)
开发
前置条件
- Python:3.10+
- uv:用于依赖管理和运行服务
- Mimer SQL 11.0 或更高版本
- Node.js 和 npm:用于通过 MCP inspector 进行调试
安装 uv:
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# or via Homebrew
brew install uv
验证安装:
uv --version
安装 Node.js 和 npm:
# Linux (Ubuntu/Debian)
sudo apt install nodejs npm
# macOS (via Homebrew)
brew install node
验证安装:
node --version
npm --version
入门
-
克隆仓库
-
创建并激活虚拟环境
uv venv
# macOS / Linux
source .venv/bin/activate
# Windows
.venv\Scripts\activate
- 从 pyproject.toml 安装依赖
uv sync
- 配置环境变量
cp .env.example .env
# Edit .env with your database credentials
配置会通过 config.py 自动加载。
使用 MCP inspector 调试
MCP Inspector 提供了用于测试和调试 MCP 工具的 Web 界面(需要 Node.js:22.7.5+):
npx @modelcontextprotocol/inspector
注意:MCP Inspector 是一个 Node.js 应用,npx 命令可以运行 MCP Inspector,而无需将其作为 Node.js 包永久安装。
或者,您可以使用 FastMCP CLI 启动 MCP inspector
uv run fastmcp dev inspector src/mimer_mcp_server/server.py
要使用 Docker compose 运行 Mimer SQL docker 镜像和 mimer-mcp-server,请运行:
MCP_TRANSPORT=http docker compose up
或者以守护进程方式运行:
MCP_TRANSPORT=http docker compose up -d
这样便可以通过 HTTP 和端口 3333 调用 mimer-mcp-server。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。