middle-tool

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.

Category
访问服务器

README

MiddleTool

多环境中间件连接管理桌面应用,统一对外提供 MCP(Model Context Protocol)能力。

English

功能

  • 中间件连接:按适配器 schema 配置连接,通过名称区分环境(如 prod-loki)
  • 中间件目录:查看已注册的全部 MCP 适配器、连通性校验与上游仓库链接
  • 连接测试:保存前可测试 Loki / MySQL / Redis / RocketMQ / Elasticsearch / MongoDB 连通性
  • 配置导入导出:备份与迁移环境与连接
  • MCP 配置导出:生成 Cursor / Claude Desktop 可用的 mcpServers JSON,支持写入文件
  • 插件式架构:新增中间件只需添加适配器文件并注册

已注册中间件

中间件 分类 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)

使用流程

  1. 中间件配置 — 选择适配器,用名称区分环境(如 prod-loki),配置连接参数
  2. 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。核心步骤:

  1. 在 electron/main/adapters/ 创建 {name}.ts
  2. 使用 defineConnectionAdapter() 或 definePlannedAdapter()
  3. 在 registry.ts 的 ALL_ADAPTERS 注册
  4. 在 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 安装程序(可自选安装目录、创建桌面快捷方式)

打包流程说明:

  1. 编译 packages/mcp-server 统一 MCP Server
  2. 编译 Electron 主进程 / 预加载 / 渲染进程
  3. 将 mcp-server 及生产依赖打入 resources/mcp-server/
  4. 使用 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

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选