@samanhappy/mcphub 0.10.6 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/README.fr.md +36 -152
  2. package/README.md +34 -255
  3. package/README.zh.md +33 -212
  4. package/dist/config/DaoConfigService.js +3 -3
  5. package/dist/config/DaoConfigService.js.map +1 -1
  6. package/dist/controllers/authController.js +2 -2
  7. package/dist/controllers/authController.js.map +1 -1
  8. package/dist/controllers/groupController.js +24 -24
  9. package/dist/controllers/groupController.js.map +1 -1
  10. package/dist/controllers/openApiController.js +1 -1
  11. package/dist/controllers/openApiController.js.map +1 -1
  12. package/dist/controllers/serverController.js +95 -61
  13. package/dist/controllers/serverController.js.map +1 -1
  14. package/dist/controllers/userController.js +22 -21
  15. package/dist/controllers/userController.js.map +1 -1
  16. package/dist/dao/DaoFactory.js +19 -0
  17. package/dist/dao/DaoFactory.js.map +1 -1
  18. package/dist/dao/DatabaseDaoFactory.js +68 -0
  19. package/dist/dao/DatabaseDaoFactory.js.map +1 -0
  20. package/dist/dao/GroupDaoDbImpl.js +131 -0
  21. package/dist/dao/GroupDaoDbImpl.js.map +1 -0
  22. package/dist/dao/ServerDaoDbImpl.js +109 -0
  23. package/dist/dao/ServerDaoDbImpl.js.map +1 -0
  24. package/dist/dao/SystemConfigDaoDbImpl.js +56 -0
  25. package/dist/dao/SystemConfigDaoDbImpl.js.map +1 -0
  26. package/dist/dao/UserConfigDaoDbImpl.js +61 -0
  27. package/dist/dao/UserConfigDaoDbImpl.js.map +1 -0
  28. package/dist/dao/UserDaoDbImpl.js +90 -0
  29. package/dist/dao/UserDaoDbImpl.js.map +1 -0
  30. package/dist/dao/index.js +7 -0
  31. package/dist/dao/index.js.map +1 -1
  32. package/dist/db/entities/Group.js +49 -0
  33. package/dist/db/entities/Group.js.map +1 -0
  34. package/dist/db/entities/Server.js +93 -0
  35. package/dist/db/entities/Server.js.map +1 -0
  36. package/dist/db/entities/SystemConfig.js +66 -0
  37. package/dist/db/entities/SystemConfig.js.map +1 -0
  38. package/dist/db/entities/User.js +45 -0
  39. package/dist/db/entities/User.js.map +1 -0
  40. package/dist/db/entities/UserConfig.js +45 -0
  41. package/dist/db/entities/UserConfig.js.map +1 -0
  42. package/dist/db/entities/index.js +7 -2
  43. package/dist/db/entities/index.js.map +1 -1
  44. package/dist/db/repositories/GroupRepository.js +81 -0
  45. package/dist/db/repositories/GroupRepository.js.map +1 -0
  46. package/dist/db/repositories/ServerRepository.js +80 -0
  47. package/dist/db/repositories/ServerRepository.js.map +1 -0
  48. package/dist/db/repositories/SystemConfigRepository.js +64 -0
  49. package/dist/db/repositories/SystemConfigRepository.js.map +1 -0
  50. package/dist/db/repositories/UserConfigRepository.js +69 -0
  51. package/dist/db/repositories/UserConfigRepository.js.map +1 -0
  52. package/dist/db/repositories/UserRepository.js +68 -0
  53. package/dist/db/repositories/UserRepository.js.map +1 -0
  54. package/dist/db/repositories/index.js +6 -1
  55. package/dist/db/repositories/index.js.map +1 -1
  56. package/dist/index.js +12 -0
  57. package/dist/index.js.map +1 -1
  58. package/dist/middlewares/auth.js +1 -1
  59. package/dist/middlewares/auth.js.map +1 -1
  60. package/dist/middlewares/userContext.js +1 -1
  61. package/dist/middlewares/userContext.js.map +1 -1
  62. package/dist/models/User.js +29 -48
  63. package/dist/models/User.js.map +1 -1
  64. package/dist/routes/index.js +2 -1
  65. package/dist/routes/index.js.map +1 -1
  66. package/dist/scripts/migrate-to-database.js +5 -0
  67. package/dist/scripts/migrate-to-database.js.map +1 -0
  68. package/dist/server.js +2 -2
  69. package/dist/server.js.map +1 -1
  70. package/dist/services/groupService.js +87 -113
  71. package/dist/services/groupService.js.map +1 -1
  72. package/dist/services/keepAliveService.js +58 -0
  73. package/dist/services/keepAliveService.js.map +1 -0
  74. package/dist/services/mcpOAuthProvider.js +22 -28
  75. package/dist/services/mcpOAuthProvider.js.map +1 -1
  76. package/dist/services/mcpService.js +73 -92
  77. package/dist/services/mcpService.js.map +1 -1
  78. package/dist/services/oauthServerService.js +18 -12
  79. package/dist/services/oauthServerService.js.map +1 -1
  80. package/dist/services/oauthService.js +11 -10
  81. package/dist/services/oauthService.js.map +1 -1
  82. package/dist/services/oauthSettingsStore.js +17 -12
  83. package/dist/services/oauthSettingsStore.js.map +1 -1
  84. package/dist/services/openApiGeneratorService.js +6 -7
  85. package/dist/services/openApiGeneratorService.js.map +1 -1
  86. package/dist/services/sseService.js +20 -62
  87. package/dist/services/sseService.js.map +1 -1
  88. package/dist/services/userService.js +38 -45
  89. package/dist/services/userService.js.map +1 -1
  90. package/dist/utils/migration.js +184 -0
  91. package/dist/utils/migration.js.map +1 -0
  92. package/dist/utils/oauthBearer.js +3 -3
  93. package/dist/utils/oauthBearer.js.map +1 -1
  94. package/frontend/dist/assets/index-Dno2pywv.js +251 -0
  95. package/frontend/dist/assets/index-Dno2pywv.js.map +1 -0
  96. package/frontend/dist/index.html +1 -1
  97. package/mcp_settings.json +23 -1
  98. package/package.json +1 -1
  99. package/frontend/dist/assets/index-DDht0WYq.js +0 -251
  100. package/frontend/dist/assets/index-DDht0WYq.js.map +0 -1
package/README.zh.md CHANGED
@@ -13,236 +13,74 @@ MCPHub 通过将多个 MCP(Model Context Protocol)服务器组织为灵活
13
13
 
14
14
  ## 🚀 功能亮点
15
15
 
16
- - **广泛的 MCP 服务器支持**:无缝集成任何 MCP 服务器,配置简单。
17
- - **集中式管理控制台**:在一个简洁的 Web UI 中实时监控所有服务器的状态和性能指标。
18
- - **灵活的协议兼容**:完全支持 stdio SSE 两种 MCP 协议。
19
- - **热插拔式配置**:在运行时动态添加、移除或更新服务器配置,无需停机。
20
- - **基于分组的访问控制**:自定义分组并管理服务器访问权限。
21
- - **安全认证机制**:内置用户管理,基于 JWT bcrypt,实现角色权限控制。
22
- - **Docker 就绪**:提供容器化镜像,快速部署。
16
+ - **集中式管理** - 在统一控制台中监控和管理所有 MCP 服务器
17
+ - **灵活路由** - 通过 HTTP/SSE 访问所有服务器、特定分组或单个服务器
18
+ - **智能路由** - 基于向量语义搜索的 AI 工具发现 ([了解更多](https://docs.mcphubx.com/zh/features/smart-routing))
19
+ - **热插拔配置** - 无需停机即可添加、移除或更新服务器
20
+ - **OAuth 2.0 支持** - 客户端和服务端模式,实现安全认证 ([了解更多](https://docs.mcphubx.com/zh/features/oauth))
21
+ - **数据库模式** - 将配置存储在 PostgreSQL 中,适用于生产环境 ([了解更多](https://docs.mcphubx.com/zh/configuration/database-configuration))
22
+ - **Docker 就绪** - 容器化部署,开箱即用
23
23
 
24
24
  ## 🔧 快速开始
25
25
 
26
26
  ### 配置
27
27
 
28
- 通过创建 `mcp_settings.json` 自定义服务器设置:
28
+ 创建 `mcp_settings.json` 文件:
29
29
 
30
30
  ```json
31
31
  {
32
32
  "mcpServers": {
33
- "amap": {
33
+ "time": {
34
34
  "command": "npx",
35
- "args": ["-y", "@amap/amap-maps-mcp-server"],
36
- "env": {
37
- "AMAP_MAPS_API_KEY": "your-api-key"
38
- }
39
- },
40
- "playwright": {
41
- "command": "npx",
42
- "args": ["@playwright/mcp@latest", "--headless"]
35
+ "args": ["-y", "time-mcp"]
43
36
  },
44
37
  "fetch": {
45
38
  "command": "uvx",
46
39
  "args": ["mcp-server-fetch"]
47
- },
48
- "slack": {
49
- "command": "npx",
50
- "args": ["-y", "@modelcontextprotocol/server-slack"],
51
- "env": {
52
- "SLACK_BOT_TOKEN": "your-bot-token",
53
- "SLACK_TEAM_ID": "your-team-id"
54
- }
55
- }
56
- }
57
- }
58
- ```
59
-
60
- #### OAuth 配置(可选)
61
-
62
- MCPHub 支持通过 OAuth 2.0 访问上游 MCP 服务器。完整说明请参阅[《OAuth 功能指南》](docs/zh/features/oauth.mdx)。实际使用中通常会遇到两类配置:
63
-
64
- - **支持动态注册的服务器**(如 Vercel、Linear):会公开全部元数据,MCPHub 可自动注册并完成授权,仅需声明服务器地址。
65
- - **需要手动配置客户端的服务器**(如 GitHub Copilot):需要在提供商后台创建 OAuth 应用,并将获得的 Client ID/Secret 写入 MCPHub。
66
-
67
- 动态注册示例:
68
-
69
- ```json
70
- {
71
- "mcpServers": {
72
- "vercel": {
73
- "type": "sse",
74
- "url": "https://mcp.vercel.com"
75
- }
76
- }
77
- }
78
- ```
79
-
80
- 手动注册示例:
81
-
82
- ```json
83
- {
84
- "mcpServers": {
85
- "github": {
86
- "type": "sse",
87
- "url": "https://api.githubcopilot.com/mcp/",
88
- "oauth": {
89
- "clientId": "${GITHUB_OAUTH_APP_ID}",
90
- "clientSecret": "${GITHUB_OAUTH_APP_SECRET}"
91
- }
92
40
  }
93
41
  }
94
42
  }
95
43
  ```
96
44
 
97
- 对于需要手动注册的提供商,请先在上游控制台创建 OAuth 应用,将回调地址设置为 `http://localhost:3000/oauth/callback`(或你的部署域名),然后在控制台或配置文件中填写凭据。
45
+ 📖 查看[配置指南](https://docs.mcphubx.com/zh/configuration/mcp-settings)了解完整选项,包括 OAuth、环境变量等。
98
46
 
99
47
  ### Docker 部署
100
48
 
101
- **推荐**:挂载自定义配置:
102
-
103
49
  ```bash
50
+ # 挂载自定义配置运行(推荐)
104
51
  docker run -p 3000:3000 -v ./mcp_settings.json:/app/mcp_settings.json -v ./data:/app/data samanhappy/mcphub
105
- ```
106
-
107
- 或使用默认配置运行:
108
52
 
109
- ```bash
53
+ # 或使用默认配置运行
110
54
  docker run -p 3000:3000 samanhappy/mcphub
111
55
  ```
112
56
 
113
57
  ### 访问控制台
114
58
 
115
- 打开 `http://localhost:3000`,使用您的账号登录。
116
-
117
- > **提示**:默认用户名/密码为 `admin` / `admin123`。
118
-
119
- **控制台功能**:
120
-
121
- - 实时监控所有 MCP 服务器状态
122
- - 启用/禁用或重新配置服务器
123
- - 分组管理,组织服务器访问
124
- - 用户管理,设定权限
125
-
126
- ### 支持流式的 HTTP 端点
127
-
128
- > 截至目前,各家 AI 客户端对流式的 HTTP 端点支持不一,如果遇到问题,可以使用 SSE 端点或者等待更新。
129
-
130
- 通过以下地址连接 AI 客户端(如 Claude Desktop、Cursor、DeepChat 等):
131
-
132
- ```
133
- http://localhost:3000/mcp
134
- ```
135
-
136
- 这个端点为所有 MCP 服务器提供统一的流式 HTTP 接口。它允许您:
137
-
138
- - 向任何配置的 MCP 服务器发送请求
139
- - 实时接收响应
140
- - 轻松与各种 AI 客户端和工具集成
141
- - 对所有服务器使用相同的端点,简化集成过程
142
-
143
- **智能路由(实验性功能)**:
144
-
145
- 智能路由是 MCPHub 的智能工具发现系统,使用向量语义搜索自动为任何给定任务找到最相关的工具。
146
-
147
- ```
148
- # 在所有服务器中搜索
149
- http://localhost:3000/mcp/$smart
150
-
151
- # 在特定分组中搜索
152
- http://localhost:3000/mcp/$smart/{group}
153
- ```
154
-
155
- **工作原理:**
156
-
157
- 1. **工具索引**:所有 MCP 工具自动转换为向量嵌入并存储在 PostgreSQL 与 pgvector 中
158
- 2. **语义搜索**:用户查询转换为向量并使用余弦相似度与工具嵌入匹配
159
- 3. **智能筛选**:动态阈值确保相关结果且无噪声
160
- 4. **精确执行**:找到的工具可以直接执行并进行适当的参数验证
161
- 5. **分组限定**:可选择将搜索限制在特定分组的服务器内以获得更精确的结果
162
-
163
- **设置要求:**
164
-
165
- ![智能路由](assets/smart-routing.zh.png)
166
-
167
- 为了启用智能路由,您需要:
168
-
169
- - 支持 pgvector 扩展的 PostgreSQL
170
- - OpenAI API 密钥(或兼容的嵌入服务)
171
- - 在 MCPHub 设置中启用智能路由
172
-
173
- **分组限定的智能路由**:
174
-
175
- 您可以将智能路由与分组筛选结合使用,仅在特定服务器分组内搜索:
176
-
177
- ```
178
- # 仅在生产服务器中搜索
179
- http://localhost:3000/mcp/$smart/production
180
-
181
- # 仅在开发服务器中搜索
182
- http://localhost:3000/mcp/$smart/development
183
- ```
184
-
185
- 这样可以实现:
186
- - **精准发现**:仅从相关服务器查找工具
187
- - **环境隔离**:按环境(开发、测试、生产)分离工具发现
188
- - **基于团队的访问**:将工具搜索限制在特定团队的服务器分组
189
-
190
- **基于分组的 HTTP 端点(推荐)**:
191
- ![分组](assets/group.zh.png)
192
- 要针对特定服务器分组进行访问,请使用基于分组的 HTTP 端点:
193
-
194
- ```
195
- http://localhost:3000/mcp/{group}
196
- ```
197
-
198
- 其中 `{group}` 是您在控制面板中创建的分组 ID 或名称。这样做可以:
199
-
200
- - 连接到按用例组织的特定 MCP 服务器子集
201
- - 隔离不同的 AI 工具,使其只能访问相关服务器
202
- - 为不同环境或团队实现更精细的访问控制
203
- - 通过分组名称轻松识别和管理服务器
204
- - 允许不同的 AI 客户端使用相同的端点,简化集成过程
205
-
206
- **针对特定服务器的 HTTP 端点**:
207
- 要针对特定服务器进行访问,请使用以下格式:
59
+ 打开 `http://localhost:3000`,使用默认账号登录:`admin` / `admin123`
208
60
 
209
- ```
210
- http://localhost:3000/mcp/{server}
211
- ```
212
-
213
- 其中 `{server}` 是您要连接的服务器名称。这样做可以直接访问特定的 MCP 服务器。
61
+ ### 连接 AI 客户端
214
62
 
215
- > **提示**:如果服务器名称和分组名称相同,则分组名称优先。
216
-
217
- ### SSE 端点集成 (未来可能废弃)
218
-
219
- 通过以下地址连接 AI 客户端(如 Claude Desktop、Cursor、DeepChat 等):
63
+ 通过以下地址连接 AI 客户端(Claude Desktop、Cursor 等):
220
64
 
221
65
  ```
222
- http://localhost:3000/sse
66
+ http://localhost:3000/mcp # 所有服务器
67
+ http://localhost:3000/mcp/{group} # 特定分组
68
+ http://localhost:3000/mcp/{server} # 特定服务器
69
+ http://localhost:3000/mcp/$smart # 智能路由
223
70
  ```
224
71
 
225
- 要启用智能路由,请使用:
226
-
227
- ```
228
- # 在所有服务器中搜索
229
- http://localhost:3000/sse/$smart
230
-
231
- # 在特定分组中搜索
232
- http://localhost:3000/sse/$smart/{group}
233
- ```
234
-
235
- 要针对特定服务器分组进行访问,请使用基于分组的 SSE 端点:
236
-
237
- ```
238
- http://localhost:3000/sse/{group}
239
- ```
72
+ 📖 查看 [API 参考](https://docs.mcphubx.com/zh/api-reference)了解详细的端点文档。
240
73
 
241
- 要针对特定服务器进行访问,请使用以下格式:
74
+ ## 📚 文档
242
75
 
243
- ```
244
- http://localhost:3000/sse/{server}
245
- ```
76
+ | 主题 | 描述 |
77
+ | ------------------------------------------------------------------------------ | ---------------------------- |
78
+ | [快速开始](https://docs.mcphubx.com/zh/quickstart) | 5 分钟快速上手 |
79
+ | [配置指南](https://docs.mcphubx.com/zh/configuration/mcp-settings) | MCP 服务器配置选项 |
80
+ | [数据库模式](https://docs.mcphubx.com/zh/configuration/database-configuration) | PostgreSQL 生产环境配置 |
81
+ | [OAuth](https://docs.mcphubx.com/zh/features/oauth) | OAuth 2.0 客户端和服务端配置 |
82
+ | [智能路由](https://docs.mcphubx.com/zh/features/smart-routing) | AI 驱动的工具发现 |
83
+ | [Docker 部署](https://docs.mcphubx.com/zh/configuration/docker-setup) | Docker 部署指南 |
246
84
 
247
85
  ## 🧑‍💻 本地开发
248
86
 
@@ -253,19 +91,9 @@ pnpm install
253
91
  pnpm dev
254
92
  ```
255
93
 
256
- 此命令将在开发模式下启动前后端,并启用热重载。
257
-
258
- > 针对 Windows 用户,可能需要分别启动后端服务器和前端:`pnpm backend:dev`,`pnpm frontend:dev`。
259
-
260
- ## 🛠️ 常见问题
94
+ > Windows 用户需分别启动后端和前端:`pnpm backend:dev`,`pnpm frontend:dev`
261
95
 
262
- ### 使用 nginx 反向代理
263
-
264
- 如果您在使用 nginx 反向代理 MCPHub,请确保在 nginx 配置中添加以下内容:
265
-
266
- ```nginx
267
- proxy_buffering off
268
- ```
96
+ 📖 查看[开发指南](https://docs.mcphubx.com/zh/development)了解详细设置说明。
269
97
 
270
98
  ## 🔍 技术栈
271
99
 
@@ -276,13 +104,6 @@ proxy_buffering off
276
104
 
277
105
  ## 👥 贡献指南
278
106
 
279
- 期待您的贡献!
280
-
281
- - 新功能与优化
282
- - 文档完善
283
- - Bug 报告与修复
284
- - 翻译与建议
285
-
286
107
  欢迎加入企微交流共建群,由于群人数限制,有兴趣的同学可以扫码添加管理员为好友后拉入群聊。
287
108
 
288
109
  <img src="assets/wexin.png" width="350">
@@ -293,7 +114,7 @@ proxy_buffering off
293
114
 
294
115
  ## 致谢
295
116
 
296
- 感谢以下人员的赞赏:小白、琛。你们的支持是我继续前进的动力!
117
+ 感谢以下朋友的赞赏:小白、唐秀川、琛、孔、黄祥取、兰军飞、无名之辈、Kyle,以及其他匿名支持者。
297
118
 
298
119
  ## 🌟 Star 历史趋势
299
120
 
@@ -1,4 +1,4 @@
1
- import { UserDaoImpl, ServerDaoImpl, GroupDaoImpl, SystemConfigDaoImpl, UserConfigDaoImpl, } from '../dao/index.js';
1
+ import { getUserDao, getServerDao, getGroupDao, getSystemConfigDao, getUserConfigDao, } from '../dao/index.js';
2
2
  /**
3
3
  * Configuration service using DAO layer
4
4
  */
@@ -202,9 +202,9 @@ export class DaoConfigService {
202
202
  }
203
203
  }
204
204
  /**
205
- * Create a DaoConfigService with default DAO implementations
205
+ * Create a DaoConfigService with DAO implementations from factory
206
206
  */
207
207
  export function createDaoConfigService() {
208
- return new DaoConfigService(new UserDaoImpl(), new ServerDaoImpl(), new GroupDaoImpl(), new SystemConfigDaoImpl(), new UserConfigDaoImpl());
208
+ return new DaoConfigService(getUserDao(), getServerDao(), getGroupDao(), getSystemConfigDao(), getUserConfigDao());
209
209
  }
210
210
  //# sourceMappingURL=DaoConfigService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DaoConfigService.js","sourceRoot":"","sources":["../../src/config/DaoConfigService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DaoConfigService.js","sourceRoot":"","sources":["../../src/config/DaoConfigService.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,7 @@ export const login = async (req, res) => {
24
24
  const { username, password } = req.body;
25
25
  try {
26
26
  // Find user by username
27
- const user = findUserByUsername(username);
27
+ const user = await findUserByUsername(username);
28
28
  if (!user) {
29
29
  res.status(401).json({
30
30
  success: false,
@@ -164,7 +164,7 @@ export const changePassword = async (req, res) => {
164
164
  return;
165
165
  }
166
166
  // Find user by username
167
- const user = findUserByUsername(username);
167
+ const user = await findUserByUsername(username);
168
168
  if (!user) {
169
169
  res.status(404).json({ success: false, message: 'User not found' });
170
170
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"authController.js","sourceRoot":"","sources":["../../src/controllers/authController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authController.js","sourceRoot":"","sources":["../../src/controllers/authController.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { getAllGroups, getGroupByIdOrName, createGroup, updateGroup, updateGroupServers, deleteGroup, addServerToGroup, removeServerFromGroup, getServerConfigInGroup, getServerConfigsInGroup, updateServerToolsInGroup, } from '../services/groupService.js';
2
2
  // Get all groups
3
- export const getGroups = (_, res) => {
3
+ export const getGroups = async (_, res) => {
4
4
  try {
5
- const groups = getAllGroups();
5
+ const groups = await getAllGroups();
6
6
  const response = {
7
7
  success: true,
8
8
  data: groups,
@@ -17,7 +17,7 @@ export const getGroups = (_, res) => {
17
17
  }
18
18
  };
19
19
  // Get a specific group by ID
20
- export const getGroup = (req, res) => {
20
+ export const getGroup = async (req, res) => {
21
21
  try {
22
22
  const { id } = req.params;
23
23
  if (!id) {
@@ -27,7 +27,7 @@ export const getGroup = (req, res) => {
27
27
  });
28
28
  return;
29
29
  }
30
- const group = getGroupByIdOrName(id);
30
+ const group = await getGroupByIdOrName(id);
31
31
  if (!group) {
32
32
  res.status(404).json({
33
33
  success: false,
@@ -49,7 +49,7 @@ export const getGroup = (req, res) => {
49
49
  }
50
50
  };
51
51
  // Create a new group
52
- export const createNewGroup = (req, res) => {
52
+ export const createNewGroup = async (req, res) => {
53
53
  try {
54
54
  const { name, description, servers } = req.body;
55
55
  if (!name) {
@@ -63,7 +63,7 @@ export const createNewGroup = (req, res) => {
63
63
  // Set owner property - use current user's username, default to 'admin'
64
64
  const currentUser = req.user;
65
65
  const owner = currentUser?.username || 'admin';
66
- const newGroup = createGroup(name, description, serverList, owner);
66
+ const newGroup = await createGroup(name, description, serverList, owner);
67
67
  if (!newGroup) {
68
68
  res.status(400).json({
69
69
  success: false,
@@ -86,7 +86,7 @@ export const createNewGroup = (req, res) => {
86
86
  }
87
87
  };
88
88
  // Update an existing group
89
- export const updateExistingGroup = (req, res) => {
89
+ export const updateExistingGroup = async (req, res) => {
90
90
  try {
91
91
  const { id } = req.params;
92
92
  const { name, description, servers } = req.body;
@@ -112,7 +112,7 @@ export const updateExistingGroup = (req, res) => {
112
112
  });
113
113
  return;
114
114
  }
115
- const updatedGroup = updateGroup(id, updateData);
115
+ const updatedGroup = await updateGroup(id, updateData);
116
116
  if (!updatedGroup) {
117
117
  res.status(404).json({
118
118
  success: false,
@@ -135,7 +135,7 @@ export const updateExistingGroup = (req, res) => {
135
135
  }
136
136
  };
137
137
  // Update servers in a group (batch update) - supports both string[] and server config format
138
- export const updateGroupServersBatch = (req, res) => {
138
+ export const updateGroupServersBatch = async (req, res) => {
139
139
  try {
140
140
  const { id } = req.params;
141
141
  const { servers } = req.body;
@@ -175,7 +175,7 @@ export const updateGroupServersBatch = (req, res) => {
175
175
  }
176
176
  }
177
177
  }
178
- const updatedGroup = updateGroupServers(id, servers);
178
+ const updatedGroup = await updateGroupServers(id, servers);
179
179
  if (!updatedGroup) {
180
180
  res.status(404).json({
181
181
  success: false,
@@ -198,7 +198,7 @@ export const updateGroupServersBatch = (req, res) => {
198
198
  }
199
199
  };
200
200
  // Delete a group
201
- export const deleteExistingGroup = (req, res) => {
201
+ export const deleteExistingGroup = async (req, res) => {
202
202
  try {
203
203
  const { id } = req.params;
204
204
  if (!id) {
@@ -208,7 +208,7 @@ export const deleteExistingGroup = (req, res) => {
208
208
  });
209
209
  return;
210
210
  }
211
- const success = deleteGroup(id);
211
+ const success = await deleteGroup(id);
212
212
  if (!success) {
213
213
  res.status(404).json({
214
214
  success: false,
@@ -229,7 +229,7 @@ export const deleteExistingGroup = (req, res) => {
229
229
  }
230
230
  };
231
231
  // Add server to a group
232
- export const addServerToExistingGroup = (req, res) => {
232
+ export const addServerToExistingGroup = async (req, res) => {
233
233
  try {
234
234
  const { id } = req.params;
235
235
  const { serverName } = req.body;
@@ -247,7 +247,7 @@ export const addServerToExistingGroup = (req, res) => {
247
247
  });
248
248
  return;
249
249
  }
250
- const updatedGroup = addServerToGroup(id, serverName);
250
+ const updatedGroup = await addServerToGroup(id, serverName);
251
251
  if (!updatedGroup) {
252
252
  res.status(404).json({
253
253
  success: false,
@@ -270,7 +270,7 @@ export const addServerToExistingGroup = (req, res) => {
270
270
  }
271
271
  };
272
272
  // Remove server from a group
273
- export const removeServerFromExistingGroup = (req, res) => {
273
+ export const removeServerFromExistingGroup = async (req, res) => {
274
274
  try {
275
275
  const { id, serverName } = req.params;
276
276
  if (!id || !serverName) {
@@ -280,7 +280,7 @@ export const removeServerFromExistingGroup = (req, res) => {
280
280
  });
281
281
  return;
282
282
  }
283
- const updatedGroup = removeServerFromGroup(id, serverName);
283
+ const updatedGroup = await removeServerFromGroup(id, serverName);
284
284
  if (!updatedGroup) {
285
285
  res.status(404).json({
286
286
  success: false,
@@ -303,7 +303,7 @@ export const removeServerFromExistingGroup = (req, res) => {
303
303
  }
304
304
  };
305
305
  // Get servers in a group
306
- export const getGroupServers = (req, res) => {
306
+ export const getGroupServers = async (req, res) => {
307
307
  try {
308
308
  const { id } = req.params;
309
309
  if (!id) {
@@ -313,7 +313,7 @@ export const getGroupServers = (req, res) => {
313
313
  });
314
314
  return;
315
315
  }
316
- const group = getGroupByIdOrName(id);
316
+ const group = await getGroupByIdOrName(id);
317
317
  if (!group) {
318
318
  res.status(404).json({
319
319
  success: false,
@@ -335,7 +335,7 @@ export const getGroupServers = (req, res) => {
335
335
  }
336
336
  };
337
337
  // Get server configurations in a group (including tool selections)
338
- export const getGroupServerConfigs = (req, res) => {
338
+ export const getGroupServerConfigs = async (req, res) => {
339
339
  try {
340
340
  const { id } = req.params;
341
341
  if (!id) {
@@ -345,7 +345,7 @@ export const getGroupServerConfigs = (req, res) => {
345
345
  });
346
346
  return;
347
347
  }
348
- const serverConfigs = getServerConfigsInGroup(id);
348
+ const serverConfigs = await getServerConfigsInGroup(id);
349
349
  const response = {
350
350
  success: true,
351
351
  data: serverConfigs,
@@ -360,7 +360,7 @@ export const getGroupServerConfigs = (req, res) => {
360
360
  }
361
361
  };
362
362
  // Get specific server configuration in a group
363
- export const getGroupServerConfig = (req, res) => {
363
+ export const getGroupServerConfig = async (req, res) => {
364
364
  try {
365
365
  const { id, serverName } = req.params;
366
366
  if (!id || !serverName) {
@@ -370,7 +370,7 @@ export const getGroupServerConfig = (req, res) => {
370
370
  });
371
371
  return;
372
372
  }
373
- const serverConfig = getServerConfigInGroup(id, serverName);
373
+ const serverConfig = await getServerConfigInGroup(id, serverName);
374
374
  if (!serverConfig) {
375
375
  res.status(404).json({
376
376
  success: false,
@@ -392,7 +392,7 @@ export const getGroupServerConfig = (req, res) => {
392
392
  }
393
393
  };
394
394
  // Update tools for a specific server in a group
395
- export const updateGroupServerTools = (req, res) => {
395
+ export const updateGroupServerTools = async (req, res) => {
396
396
  try {
397
397
  const { id, serverName } = req.params;
398
398
  const { tools } = req.body;
@@ -412,7 +412,7 @@ export const updateGroupServerTools = (req, res) => {
412
412
  });
413
413
  return;
414
414
  }
415
- const updatedGroup = updateServerToolsInGroup(id, serverName, tools);
415
+ const updatedGroup = await updateServerToolsInGroup(id, serverName, tools);
416
416
  if (!updatedGroup) {
417
417
  res.status(404).json({
418
418
  success: false,