@mintmcp/private-network-reverse-proxy 0.1.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.md ADDED
@@ -0,0 +1,94 @@
1
+ # MintMCP Private Network Reverse Proxy Server
2
+
3
+ This package contains the customer-side reverse proxy server for MintMCP private
4
+ network tunnels. It runs inside a customer's network and opens an outbound
5
+ WebSocket connection to the MintMCP tunnel proxy URL. MintMCP then forwards HTTP
6
+ requests for private MCP server origins through that outbound connection.
7
+
8
+ The reverse proxy server does not require inbound firewall access and does not
9
+ expose a Kubernetes Service.
10
+
11
+ ## NPM
12
+
13
+ Run the reverse proxy server with Node 22 or newer:
14
+
15
+ ```bash
16
+ MINTMCP_TUNNEL_PROXY_URL='https://<tunnel proxy host>' \
17
+ MINTMCP_TUNNEL_REVERSE_PROXY_SHARED_SECRET='<reverse proxy shared secret>' \
18
+ npx @mintmcp/private-network-reverse-proxy
19
+ ```
20
+
21
+ ## Helm Install
22
+
23
+ Create a namespace and store the shared secret from MintMCP in Kubernetes:
24
+
25
+ ```bash
26
+ kubectl create namespace mintmcp
27
+ kubectl -n mintmcp create secret generic mintmcp-private-network-reverse-proxy \
28
+ --from-literal=reverse-proxy-shared-secret='<reverse proxy shared secret>'
29
+ ```
30
+
31
+ Install the chart:
32
+
33
+ ```bash
34
+ helm install mintmcp-private-network-reverse-proxy \
35
+ oci://ghcr.io/mintmcp/charts/mintmcp-private-network-reverse-proxy \
36
+ --namespace mintmcp \
37
+ --set tunnel.proxyUrl='https://<tunnel proxy host>' \
38
+ --set tunnel.existingSecret.name='mintmcp-private-network-reverse-proxy'
39
+ ```
40
+
41
+ For local testing, the chart can also create the Secret from values:
42
+
43
+ ```bash
44
+ helm install mintmcp-private-network-reverse-proxy ./helm \
45
+ --namespace mintmcp \
46
+ --create-namespace \
47
+ --set tunnel.proxyUrl='https://<tunnel proxy host>' \
48
+ --set tunnel.reverseProxySharedSecret='<reverse proxy shared secret>'
49
+ ```
50
+
51
+ Avoid the inline-secret form for production installs because Helm stores values
52
+ in release history.
53
+
54
+ ## Values
55
+
56
+ Required values:
57
+
58
+ - `tunnel.proxyUrl`: MintMCP tunnel proxy URL shown in the Enterprise settings UI.
59
+ - One of:
60
+ - `tunnel.existingSecret.name`
61
+ - `tunnel.reverseProxySharedSecret`
62
+
63
+ Common optional values:
64
+
65
+ - `image.repository`: reverse proxy image repository.
66
+ - `image.tag`: reverse proxy image tag. Defaults to the chart app version.
67
+ - `imagePullSecrets`: pull secrets for custom private registries.
68
+ - `resources`: pod resource requests and limits.
69
+ - `extraEnv`: additional container environment variables.
70
+ - `envFrom`: additional `envFrom` sources.
71
+ - `nodeSelector`, `tolerations`, `affinity`: scheduling controls.
72
+
73
+ ## Operations
74
+
75
+ Check rollout:
76
+
77
+ ```bash
78
+ kubectl -n mintmcp rollout status deployment/mintmcp-private-network-reverse-proxy
79
+ ```
80
+
81
+ Check logs:
82
+
83
+ ```bash
84
+ kubectl -n mintmcp logs deployment/mintmcp-private-network-reverse-proxy
85
+ ```
86
+
87
+ Expected startup log:
88
+
89
+ ```text
90
+ reverse proxy server connected to MintMCP tunnel proxy
91
+ ```
92
+
93
+ If the shared secret is wrong, the proxy reconnects and MintMCP will show the
94
+ tunnel as disconnected.
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ import "../dist/index.js";
package/package.json ADDED
@@ -0,0 +1,36 @@
1
+ {
2
+ "name": "@mintmcp/private-network-reverse-proxy",
3
+ "version": "0.1.1",
4
+ "type": "module",
5
+ "bin": {
6
+ "mintmcp-private-network-reverse-proxy": "bin/mintmcp-private-network-reverse-proxy.js"
7
+ },
8
+ "files": [
9
+ "bin/",
10
+ "dist/",
11
+ "README.md"
12
+ ],
13
+ "engines": {
14
+ "node": ">=22"
15
+ },
16
+ "publishConfig": {
17
+ "access": "public"
18
+ },
19
+ "scripts": {
20
+ "build": "tsc -p tsconfig.build.json",
21
+ "prepack": "npm run build",
22
+ "start": "tsx src/index.ts",
23
+ "typecheck": "tsc --noEmit"
24
+ },
25
+ "dependencies": {
26
+ "pino": "10.3.1",
27
+ "ws": "8.20.0",
28
+ "zod": "4.4.1"
29
+ },
30
+ "devDependencies": {
31
+ "@types/node": "20.19.39",
32
+ "@types/ws": "8.18.1",
33
+ "tsx": "4.21.0",
34
+ "typescript": "5.9.3"
35
+ }
36
+ }