middle-tool
Provides a unified MCP server to interact with multiple middleware (Loki, MySQL, Redis, RocketMQ, Elasticsearch, MongoDB) through a desktop application for connection management and configuration export.
README
MiddleTool
多环境中间件连接管理桌面应用,统一对外提供 MCP(Model Context Protocol)能力。
功能
- 中间件连接:按适配器 schema 配置连接,通过名称区分环境(如 prod-loki)
- 中间件目录:查看已注册的全部 MCP 适配器、连通性校验与上游仓库链接
- 连接测试:保存前可测试 Loki / MySQL / Redis / RocketMQ / Elasticsearch / MongoDB 连通性
- 配置导入导出:备份与迁移环境与连接
- MCP 配置导出:生成 Cursor / Claude Desktop 可用的
mcpServersJSON,支持写入文件 - 插件式架构:新增中间件只需添加适配器文件并注册
已注册中间件
| 中间件 | 分类 | MCP 来源 | 状态 |
|---|---|---|---|
| Grafana Loki | 日志 | loki-mcp | ✅ 可用 |
| Apache RocketMQ | 消息队列 | 内置 packages/rocketmq-mcp-server |
✅ 可用 |
| MySQL | 数据库 | 内置 packages/mysql-mcp-server(兼容 mcp-server-mysql) |
✅ 可用 |
| Redis | 缓存 | 官方 redis/mcp-redis(uvx) | ✅ 可用 |
| Elasticsearch | 日志/搜索 | 内置(兼容 elasticsearch-mcp-server) | ✅ 可用 |
| MongoDB | 数据库 | 内置(兼容 mcp-mongo-server) | ✅ 可用 |
| Apache Kafka | 消息队列 | mcp-kafka | 🔜 规划中 |
技术栈
- Electron + React + TypeScript
- 适配器插件架构(
electron/main/adapters/) - 共享类型(
shared/types/,UI 与主进程共用) - electron-store 本地配置持久化
快速开始
cd MiddleTool
npm install
npm run dev
前置条件
- Node.js 18+
- RocketMQ 开发环境首次需执行
npm run rocketmq-mcp:java:build(需 Maven)
使用流程
- 中间件配置 — 选择适配器,用名称区分环境(如 prod-loki),配置连接参数
- MCP 配置 — 导出 JSON 到 Cursor / Claude Desktop
MCP Server
MiddleTool 提供单一 MCP Server middle-tool,桌面端「MCP 配置」一键导出:
| Server | 包路径 | 能力 |
|---|---|---|
middle-tool |
packages/mcp-server |
Loki、MySQL、Redis、RocketMQ、Elasticsearch、MongoDB 全部 tools |
{
"mcpServers": {
"middle-tool": {
"command": "node",
"args": ["packages/mcp-server/dist/index.js"]
}
}
}
桌面端「MCP 配置」会根据已启用的 RocketMQ / Redis 连接自动补充 env。
RocketMQ 由 MiddleTool 桌面端 内嵌托管 Java Admin 桥接(安装包预置 JAR,用户无需单独部署)。
详见 packages/mcp-server/README.md。
项目结构
MiddleTool/
├── packages/mcp-server/ # 统一 MCP(全部中间件 tools)
├── shared/types/ # UI 与主进程共享类型
├── electron/main/adapters/ # 适配器注册与校验
└── src/pages/ # 概览、目录、配置、MCP 导出
扩展新中间件
详见 docs/EXTENDING.md。核心步骤:
- 在
electron/main/adapters/创建{name}.ts - 使用
defineConnectionAdapter()或definePlannedAdapter() - 在
registry.ts的ALL_ADAPTERS注册 - 在
packages/mcp-server实现对应 tools
构建与打包
开发编译
npm run build
Windows 安装包(.exe)
npm install
npm run pack
# 或
npm run build:win
产物输出在 release/ 目录:
| 文件 | 说明 |
|---|---|
MiddleTool-Setup-0.1.0.exe |
NSIS 安装程序(可自选安装目录、创建桌面快捷方式) |
打包流程说明:
- 编译
packages/mcp-server统一 MCP Server - 编译 Electron 主进程 / 预加载 / 渲染进程
- 将 mcp-server 及生产依赖打入
resources/mcp-server/ - 使用 electron-builder 生成 NSIS 安装包
安装后 MCP 配置:
- 应用内「MCP 配置」导出的 JSON 中,
args会指向安装目录下的resources/mcp-server/dist/index.js - 本机需已安装 Node.js 18+ 并加入 PATH(Cursor 调用 MCP 时使用
node命令)
可选:自定义应用图标
将 icon.ico 放入 resources/ 目录,并在 package.json 的 build.win.icon 中指定路径。
相关链接
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。