@samanhappy/mcphub 1.1.15 → 1.2.1
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.
- package/README.fr.md +1 -0
- package/README.md +6 -0
- package/README.zh.md +1 -0
- package/dist/clients/openapi.js +3 -2
- package/dist/clients/openapi.js.map +1 -1
- package/dist/controllers/configController.js +2 -0
- package/dist/controllers/configController.js.map +1 -1
- package/dist/controllers/credentialBindingController.js +1 -1
- package/dist/controllers/credentialBindingController.js.map +1 -1
- package/dist/controllers/healthController.js +23 -1
- package/dist/controllers/healthController.js.map +1 -1
- package/dist/controllers/metricsController.js +9 -1
- package/dist/controllers/metricsController.js.map +1 -1
- package/dist/controllers/oauthDynamicRegistrationController.js +5 -5
- package/dist/controllers/oauthDynamicRegistrationController.js.map +1 -1
- package/dist/controllers/serverController.js +64 -26
- package/dist/controllers/serverController.js.map +1 -1
- package/dist/db/connection.js +6 -2
- package/dist/db/connection.js.map +1 -1
- package/dist/db/entities/OAuthState.js +43 -0
- package/dist/db/entities/OAuthState.js.map +1 -0
- package/dist/db/entities/SystemConfig.js.map +1 -1
- package/dist/db/entities/index.js +3 -1
- package/dist/db/entities/index.js.map +1 -1
- package/dist/db/replicaSchema.js +40 -0
- package/dist/db/replicaSchema.js.map +1 -0
- package/dist/db/setup.js +25 -0
- package/dist/db/setup.js.map +1 -0
- package/dist/db/transactionContext.js +21 -0
- package/dist/db/transactionContext.js.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/middlewares/replicaConfig.js +134 -0
- package/dist/middlewares/replicaConfig.js.map +1 -0
- package/dist/middlewares/userContext.js +1 -1
- package/dist/middlewares/userContext.js.map +1 -1
- package/dist/models/OAuth.js +57 -7
- package/dist/models/OAuth.js.map +1 -1
- package/dist/routes/index.js +14 -1
- package/dist/routes/index.js.map +1 -1
- package/dist/server.js +13 -4
- package/dist/server.js.map +1 -1
- package/dist/services/credentialBindingService.js +5 -1
- package/dist/services/credentialBindingService.js.map +1 -1
- package/dist/services/mcpOAuthProvider.js +91 -5
- package/dist/services/mcpOAuthProvider.js.map +1 -1
- package/dist/services/mcpService.js +113 -10
- package/dist/services/mcpService.js.map +1 -1
- package/dist/services/metricsService.js +4 -0
- package/dist/services/metricsService.js.map +1 -1
- package/dist/services/oauthClientRegistration.js +21 -1
- package/dist/services/oauthClientRegistration.js.map +1 -1
- package/dist/services/oauthServerService.js +5 -6
- package/dist/services/oauthServerService.js.map +1 -1
- package/dist/services/oauthSettingsStore.js +21 -0
- package/dist/services/oauthSettingsStore.js.map +1 -1
- package/dist/services/openApiGeneratorService.js +10 -3
- package/dist/services/openApiGeneratorService.js.map +1 -1
- package/dist/services/personalOAuthService.js +40 -2
- package/dist/services/personalOAuthService.js.map +1 -1
- package/dist/services/replicaLock.js +30 -0
- package/dist/services/replicaLock.js.map +1 -0
- package/dist/services/replicaService.js +111 -0
- package/dist/services/replicaService.js.map +1 -0
- package/dist/services/sseService.js +3 -2
- package/dist/services/sseService.js.map +1 -1
- package/dist/types/network.js +2 -0
- package/dist/types/network.js.map +1 -0
- package/dist/utils/logger.js +7 -0
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/migration.js +3 -0
- package/dist/utils/migration.js.map +1 -1
- package/dist/utils/openApiSchema.js +148 -0
- package/dist/utils/openApiSchema.js.map +1 -0
- package/dist/utils/parameterConversion.js +38 -5
- package/dist/utils/parameterConversion.js.map +1 -1
- package/dist/utils/passthroughHeaders.js +7 -3
- package/dist/utils/passthroughHeaders.js.map +1 -1
- package/dist/utils/replicaLogContext.js +3 -0
- package/dist/utils/replicaLogContext.js.map +1 -0
- package/dist/utils/replicaMode.js +17 -0
- package/dist/utils/replicaMode.js.map +1 -0
- package/dist/utils/serverConfigPersistence.js +4 -0
- package/dist/utils/serverConfigPersistence.js.map +1 -1
- package/dist/utils/settingsSync.js +1 -0
- package/dist/utils/settingsSync.js.map +1 -1
- package/dist/utils/ssrf.js +46 -12
- package/dist/utils/ssrf.js.map +1 -1
- package/frontend/dist/assets/{ActivityPage-Bi-TjKez.js → ActivityPage-DZFLY-Um.js} +2 -2
- package/frontend/dist/assets/{ActivityPage-Bi-TjKez.js.map → ActivityPage-DZFLY-Um.js.map} +1 -1
- package/frontend/dist/assets/{ConfirmDialog-BJpzQmMw.js → ConfirmDialog-ByWCtrIw.js} +2 -2
- package/frontend/dist/assets/{ConfirmDialog-BJpzQmMw.js.map → ConfirmDialog-ByWCtrIw.js.map} +1 -1
- package/frontend/dist/assets/{CredentialsPage-C4Ucer3d.js → CredentialsPage-BqEsnkMx.js} +2 -2
- package/frontend/dist/assets/{CredentialsPage-C4Ucer3d.js.map → CredentialsPage-BqEsnkMx.js.map} +1 -1
- package/frontend/dist/assets/{Dashboard-C_2KkuoD.js → Dashboard-BRU2Gk9z.js} +2 -2
- package/frontend/dist/assets/{Dashboard-C_2KkuoD.js.map → Dashboard-BRU2Gk9z.js.map} +1 -1
- package/frontend/dist/assets/{DeleteDialog-BoMYLx3J.js → DeleteDialog-BkEKW9LB.js} +2 -2
- package/frontend/dist/assets/{DeleteDialog-BoMYLx3J.js.map → DeleteDialog-BkEKW9LB.js.map} +1 -1
- package/frontend/dist/assets/{EndpointCopy-DITVC2YQ.js → EndpointCopy-3f1Uw-gu.js} +2 -2
- package/frontend/dist/assets/{EndpointCopy-DITVC2YQ.js.map → EndpointCopy-3f1Uw-gu.js.map} +1 -1
- package/frontend/dist/assets/{GroupsPage-sE6YJyuK.js → GroupsPage-D_E7QL_o.js} +2 -2
- package/frontend/dist/assets/{GroupsPage-sE6YJyuK.js.map → GroupsPage-D_E7QL_o.js.map} +1 -1
- package/frontend/dist/assets/{LoginPage-CFsd_nY-.js → LoginPage-Bsfdp4yD.js} +2 -2
- package/frontend/dist/assets/{LoginPage-CFsd_nY-.js.map → LoginPage-Bsfdp4yD.js.map} +1 -1
- package/frontend/dist/assets/{LogsPage-BxZuGDuc.js → LogsPage-CCHmA5cZ.js} +2 -2
- package/frontend/dist/assets/{LogsPage-BxZuGDuc.js.map → LogsPage-CCHmA5cZ.js.map} +1 -1
- package/frontend/dist/assets/{MarketPage-CDBs4vMb.js → MarketPage-DrQQT14y.js} +2 -2
- package/frontend/dist/assets/{MarketPage-CDBs4vMb.js.map → MarketPage-DrQQT14y.js.map} +1 -1
- package/frontend/dist/assets/{OAuthConsentPage-BN_ucViM.js → OAuthConsentPage-934ieVvL.js} +2 -2
- package/frontend/dist/assets/{OAuthConsentPage-BN_ucViM.js.map → OAuthConsentPage-934ieVvL.js.map} +1 -1
- package/frontend/dist/assets/{Pagination-S-7lzy59.js → Pagination-B2WW4qn_.js} +2 -2
- package/frontend/dist/assets/{Pagination-S-7lzy59.js.map → Pagination-B2WW4qn_.js.map} +1 -1
- package/frontend/dist/assets/{PromptsPage-Bl3ySXGK.js → PromptsPage-QAI8kF63.js} +2 -2
- package/frontend/dist/assets/{PromptsPage-Bl3ySXGK.js.map → PromptsPage-QAI8kF63.js.map} +1 -1
- package/frontend/dist/assets/{ResourcesPage-BOzQkQ92.js → ResourcesPage-TclV1l2q.js} +2 -2
- package/frontend/dist/assets/{ResourcesPage-BOzQkQ92.js.map → ResourcesPage-TclV1l2q.js.map} +1 -1
- package/frontend/dist/assets/{ServersPage-DHYwQ5AM.js → ServersPage-Bc0tS2uo.js} +4 -4
- package/frontend/dist/assets/ServersPage-Bc0tS2uo.js.map +1 -0
- package/frontend/dist/assets/SettingsPage-Dfhl51E1.js +14 -0
- package/frontend/dist/assets/SettingsPage-Dfhl51E1.js.map +1 -0
- package/frontend/dist/assets/{StatusDot-NSjojGCy.js → StatusDot-C_UTW6B7.js} +2 -2
- package/frontend/dist/assets/{StatusDot-NSjojGCy.js.map → StatusDot-C_UTW6B7.js.map} +1 -1
- package/frontend/dist/assets/{ToggleGroup-BIZWpNzm.js → ToggleGroup-CUUsTJDm.js} +2 -2
- package/frontend/dist/assets/{ToggleGroup-BIZWpNzm.js.map → ToggleGroup-CUUsTJDm.js.map} +1 -1
- package/frontend/dist/assets/{UserGroupSelection-CN0weGXJ.js → UserGroupSelection-DionUENR.js} +2 -2
- package/frontend/dist/assets/{UserGroupSelection-CN0weGXJ.js.map → UserGroupSelection-DionUENR.js.map} +1 -1
- package/frontend/dist/assets/{UsersPage-DC51v2b8.js → UsersPage-MpTb3xJ-.js} +2 -2
- package/frontend/dist/assets/{UsersPage-DC51v2b8.js.map → UsersPage-MpTb3xJ-.js.map} +1 -1
- package/frontend/dist/assets/{clipboard-ik5YV95M.js → clipboard-DVbqnePj.js} +2 -2
- package/frontend/dist/assets/{clipboard-ik5YV95M.js.map → clipboard-DVbqnePj.js.map} +1 -1
- package/frontend/dist/assets/{costRevision-Bxov9_vH.js → costRevision-DXEYAFUy.js} +2 -2
- package/frontend/dist/assets/{costRevision-Bxov9_vH.js.map → costRevision-DXEYAFUy.js.map} +1 -1
- package/frontend/dist/assets/{i18n-vendor-COTriSc6.js → i18n-vendor-CPneThYa.js} +3 -3
- package/frontend/dist/assets/{i18n-vendor-COTriSc6.js.map → i18n-vendor-CPneThYa.js.map} +1 -1
- package/frontend/dist/assets/index-BNm-68Gn.js +3 -0
- package/frontend/dist/assets/index-BNm-68Gn.js.map +1 -0
- package/frontend/dist/assets/{index-DrHctFvx.css → index-C33aH9Y7.css} +1 -1
- package/frontend/dist/assets/{resourceService-DMzCAZ0B.js → resourceService-DPjgql8Z.js} +2 -2
- package/frontend/dist/assets/{resourceService-DMzCAZ0B.js.map → resourceService-DPjgql8Z.js.map} +1 -1
- package/frontend/dist/assets/{useCostData-CcFSYViI.js → useCostData-CDNXYHZf.js} +2 -2
- package/frontend/dist/assets/{useCostData-CcFSYViI.js.map → useCostData-CDNXYHZf.js.map} +1 -1
- package/frontend/dist/assets/{variableDetection-CbYSa1ka.js → variableDetection-DGr_LErx.js} +14 -14
- package/frontend/dist/assets/{variableDetection-CbYSa1ka.js.map → variableDetection-DGr_LErx.js.map} +1 -1
- package/frontend/dist/index.html +3 -3
- package/package.json +6 -4
- package/frontend/dist/assets/ServersPage-DHYwQ5AM.js.map +0 -1
- package/frontend/dist/assets/SettingsPage-CSJ35jlM.js +0 -14
- package/frontend/dist/assets/SettingsPage-CSJ35jlM.js.map +0 -1
- package/frontend/dist/assets/index-6AyPtx0A.js +0 -3
- package/frontend/dist/assets/index-6AyPtx0A.js.map +0 -1
package/frontend/dist/index.html
CHANGED
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
7
7
|
<title>MCPHub Dashboard</title>
|
|
8
8
|
<link rel="icon" type="image/x-icon" href="./assets/favicon-DJnZjsC8.ico">
|
|
9
|
-
<script type="module" crossorigin src="./assets/index-
|
|
9
|
+
<script type="module" crossorigin src="./assets/index-BNm-68Gn.js"></script>
|
|
10
10
|
<link rel="modulepreload" crossorigin href="./assets/framework-vendor-D0S_ys6r.js">
|
|
11
|
-
<link rel="modulepreload" crossorigin href="./assets/i18n-vendor-
|
|
11
|
+
<link rel="modulepreload" crossorigin href="./assets/i18n-vendor-CPneThYa.js">
|
|
12
12
|
<link rel="modulepreload" crossorigin href="./assets/icons-vendor-DZjjGrOu.js">
|
|
13
|
-
<link rel="stylesheet" crossorigin href="./assets/index-
|
|
13
|
+
<link rel="stylesheet" crossorigin href="./assets/index-C33aH9Y7.css">
|
|
14
14
|
</head>
|
|
15
15
|
|
|
16
16
|
<body class="bg-gray-100">
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@samanhappy/mcphub",
|
|
3
|
-
"version": "1.1
|
|
3
|
+
"version": "1.2.1",
|
|
4
4
|
"description": "Open-source, self-hosted MCP gateway and control plane for connecting, controlling, and operating MCP servers.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"dependencies": {
|
|
28
28
|
"@apidevtools/swagger-parser": "^12.1.0",
|
|
29
29
|
"@google/genai": "^1.44.0",
|
|
30
|
-
"@huggingface/tokenizers": "^0.
|
|
30
|
+
"@huggingface/tokenizers": "^0.2.0",
|
|
31
31
|
"@modelcontextprotocol/client": "2.1.0",
|
|
32
32
|
"@modelcontextprotocol/node": "^2.1.0",
|
|
33
33
|
"@modelcontextprotocol/server": "^2.1.0",
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
"jsonwebtoken": "^9.0.2",
|
|
62
62
|
"kysely": "^0.28.9",
|
|
63
63
|
"multer": "^2.2.0",
|
|
64
|
-
"openai": "^
|
|
64
|
+
"openai": "^7.45.1",
|
|
65
65
|
"openapi-types": "^12.1.3",
|
|
66
66
|
"openid-client": "^6.8.1",
|
|
67
67
|
"pg": "^8.16.3",
|
|
@@ -107,7 +107,7 @@
|
|
|
107
107
|
"autoprefixer": "^10.4.21",
|
|
108
108
|
"class-variance-authority": "^0.7.1",
|
|
109
109
|
"clsx": "^2.1.1",
|
|
110
|
-
"concurrently": "^
|
|
110
|
+
"concurrently": "^10.0.6",
|
|
111
111
|
"esbuild": "0.27.2",
|
|
112
112
|
"eslint": "^10.9.1",
|
|
113
113
|
"globals": "^17.8.0",
|
|
@@ -138,6 +138,7 @@
|
|
|
138
138
|
"node": ">=22.0.0"
|
|
139
139
|
},
|
|
140
140
|
"scripts": {
|
|
141
|
+
"db:setup": "node dist/db/setup.js",
|
|
141
142
|
"build": "pnpm backend:build && pnpm frontend:build",
|
|
142
143
|
"backend:build": "tsc && node scripts/build-mcp-client.js",
|
|
143
144
|
"start": "node dist/index.js",
|
|
@@ -147,6 +148,7 @@
|
|
|
147
148
|
"lint": "eslint .",
|
|
148
149
|
"format": "prettier --write \"src/**/*.ts\"",
|
|
149
150
|
"test": "jest",
|
|
151
|
+
"test:replicas": "sh scripts/test-replicas.sh",
|
|
150
152
|
"test:watch": "jest --watch",
|
|
151
153
|
"test:coverage": "jest --coverage",
|
|
152
154
|
"test:verbose": "jest --verbose",
|