mcpField
M
mimer-mcp

mimer-mcp

本地服务
github.com/mimersql数据库33 周前更新

关于 mimer-mcp

mimer-mcp 为 Mimer SQL 提供 MCP 数据库连接,适合需要通过 Agent 查看数据库结构、执行查询或调用存储过程的场景。查询仅允许只读 SELECT,并支持参数化。

主要功能

  1. 01浏览数据库模式和表结构
  2. 02执行参数化只读查询
  3. 03列出并查看存储过程定义
  4. 04传入 JSON 参数执行存储过程

适用场景

  1. 01检查数据库中的表与示例行
  2. 02运行安全的 SELECT 查询
  3. 03查看存储过程参数并调用过程

MCP 相关

该 MCP 服务向 MCP 客户端提供 Mimer SQL 模式浏览、查询和存储过程工具。可通过 stdio 或 HTTP 传输运行。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"mimersql-mimer": {
"command": "uvx",
"args": [
"mimer-mcp-server"
],
"env": {
"DB_DSN": "<DB_DSN>",
"DB_USER": "<DB_USER>",
"DB_PASSWORD": "<DB_PASSWORD>",
"DB_HOST": "<DB_HOST>",
"DB_PORT": "<DB_PORT>",
"DB_PROTOCOL": "<DB_PROTOCOL>",
"DB_POOL_INITIAL_CON": "<DB_POOL_INITIAL_CON>",
"DB_POOL_MAX_UNUSED": "<DB_POOL_MAX_UNUSED>",
"DB_POOL_MAX_CON": "<DB_POOL_MAX_CON>",
"DB_POOL_BLOCK": "<DB_POOL_BLOCK>",
"DB_POOL_DEEP_HEALTH_CHECK": "<DB_POOL_DEEP_HEALTH_CHECK>",
"MCP_LOG_LEVEL": "<MCP_LOG_LEVEL>"
}
}
}
}
启动命令uvx mimer-mcp-server
需要配置的环境变量
DB_DSNMimer SQL Database DSN
DB_USERDatabase user
DB_PASSWORD密钥Database password
DB_HOSTDatabase host
DB_PORTDatabase port
DB_PROTOCOLDatabase protocol
DB_POOL_INITIAL_CONInitial number of idle connections in the pool
DB_POOL_MAX_UNUSEDMaximum number of unused connections in the pool
DB_POOL_MAX_CONMaximum number of connections allowed
DB_POOL_BLOCKBlock and wait for connection when exceeding max connections
DB_POOL_DEEP_HEALTH_CHECKDeep health check - validates connection health before getting from pool
MCP_LOG_LEVELLogging level for the MCP server (DEBUG, INFO, WARNING, ERROR, CRITICAL)

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypimimer-mcp-server1.0.5

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

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_PORT1360数据库端口号
DB_PROTOCOLtcp连接协议
DB_POOL_INITIAL_CON0连接池中的初始空闲连接数
DB_POOL_MAX_UNUSED0连接池中未使用连接的最大数量
DB_POOL_MAX_CON0允许的最大连接数(0 = 不限)
DB_POOL_BLOCKfalse超出最大连接数时的行为。若为 true,则阻塞并等待连接可用;若为 false,则在超出最大连接数时引发错误
DB_POOL_DEEP_HEALTH_CHECKtrue若为 true,则在从连接池获取连接前检查其健康状态(速度较慢,但更可靠)
MCP_LOG_LEVELINFOMCP 服务的日志级别。选项:DEBUG、INFO、WARNING、ERROR、CRITICAL

在 VS Code 中使用

MCP 服务通过 JSON 文件(mcp.json)进行配置。不同的 MCP 宿主可能使用略有差异的配置格式。本指南以 VS Code 为例。首先,请确保已安装最新版本的 VS Code,并且可以使用 Copilot。

在 VS Code 中添加 MCP 服务的一种方法是,将服务配置添加到工作区的 .vscode/mcp.json 文件中。这样便可与他人共享配置。

  1. 在工作区中创建 .vscode/mcp.json 文件。
  2. 根据你希望运行 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

在 VS Code 中安装

{
	"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"
			],
    }
  }
}
  1. 保存配置文件后,VS Code 会在 mcp.json 文件中显示 启动 按钮。点击该按钮即可启动服务。
启动 Mimer MCP 服务的按钮
  1. 打开 Copilot Chat,并在 Copilot Chat 输入框的下拉菜单中选择 Agent 模式。
Copilot Chat Agent 模式
  1. 选择工具按钮,查看可用工具列表。确保已选中 Mimer MCP 服务中的工具。
聊天中的工具按钮
  1. 在聊天输入框中输入提示词,观察 Agent 如何自主选择合适的工具、修复错误,并根据收集到的查询结果生成最终答案。(以下示例使用 Mimer 的示例数据库,该数据库由 MIMER_STORE 所有。有关此数据库的更多信息,请参阅此处)
询问 Anthology 是什么类型产品的提示词 Agent 根据收集到的查询结果作答

开发

前置条件
  • 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
入门
  1. 克隆仓库

  2. 创建并激活虚拟环境

uv venv

# macOS / Linux
source .venv/bin/activate
# Windows
.venv\Scripts\activate
  1. 从 pyproject.toml 安装依赖
uv sync
  1. 配置环境变量
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。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。