@uteamup/mcp-server 2.6.7-beta.9 → 2.6.9-beta.9
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/CHANGELOG.md +24 -0
- package/lib/config.js +25 -6
- package/openapi-actions.json +1 -1
- package/package.json +1 -1
- package/server.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,30 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [2.6.9-beta.9](https://github.com/UteamUP/uteamup-mcp/compare/2.6.8-beta.9...2.6.9-beta.9) (2026-11-06)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* **security:** disallow UTEAMUP_INSECURE_TLS on production hosts ([32a786b](https://github.com/UteamUP/uteamup-mcp/commit/32a786b2b7ee1b99b79734c2f127271e05ef3f5f))
|
|
14
|
+
* **security:** honour UTEAMUP_INSECURE_TLS only for loopback hosts ([09cdc0e](https://github.com/UteamUP/uteamup-mcp/commit/09cdc0ec8c1ab834da6a6725f0e7da5648d2668e))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Tests
|
|
18
|
+
|
|
19
|
+
* **archive:** cover the archive and restore MCP tools of every archivable record ([db9ebfd](https://github.com/UteamUP/uteamup-mcp/commit/db9ebfd89e6ec4030a6692560d9077bf117aa184))
|
|
20
|
+
* cover the tenant lifecycle settings MCP tools ([1ad3964](https://github.com/UteamUP/uteamup-mcp/commit/1ad396448355cb2eeb752e00e8cb2ded75329d36))
|
|
21
|
+
* **inventory:** cover the archive and restore tools and asset-free bulk delete ([a4cd46d](https://github.com/UteamUP/uteamup-mcp/commit/a4cd46db50c828188c6b0b1ff5e7f70f92b21a26))
|
|
22
|
+
|
|
23
|
+
## [2.6.8-beta.9](https://github.com/UteamUP/uteamup-mcp/compare/2.6.7-beta.9...2.6.8-beta.9) (2026-11-05)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
### Tests
|
|
27
|
+
|
|
28
|
+
* Cover public part comment proxy contracts ([edb13ae](https://github.com/UteamUP/uteamup-mcp/commit/edb13ae1e8970c437c2c90c6ce1066728961937a))
|
|
29
|
+
* cover the tenant billing lifecycle MCP tools ([7b5ae4a](https://github.com/UteamUP/uteamup-mcp/commit/7b5ae4a6bc54bc79e7333abd217287c631b6f74e))
|
|
30
|
+
* **tenant-home:** enhance tenant tests to preserve memberships and handle API-key enumeration ([57853d9](https://github.com/UteamUP/uteamup-mcp/commit/57853d936ee066f7604ff53bd69d57a5866484be))
|
|
31
|
+
|
|
8
32
|
## [2.6.7-beta.9](https://github.com/UteamUP/uteamup-mcp/compare/2.6.6-beta.9...2.6.7-beta.9) (2026-11-04)
|
|
9
33
|
|
|
10
34
|
|
package/lib/config.js
CHANGED
|
@@ -3,8 +3,25 @@
|
|
|
3
3
|
* Validates environment variables and provides type-safe configuration
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
+
const net = require('net');
|
|
6
7
|
const { z } = require('zod');
|
|
7
8
|
const { normalizeBackendBaseUrl } = require('./transport-security');
|
|
9
|
+
const { warn } = require('./logger');
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Mirrors the CLI's skipTLSVerifyFor (uteamup_cli/internal/auth/oauth.go): a
|
|
13
|
+
* self-signed certificate is only normal on loopback, where there is no network
|
|
14
|
+
* path on which to intercept the bearer token.
|
|
15
|
+
*
|
|
16
|
+
* @param {string} hostname - WHATWG URL hostname (lower-cased, IPs canonicalized)
|
|
17
|
+
* @returns {boolean}
|
|
18
|
+
*/
|
|
19
|
+
function isLoopbackHost(hostname) {
|
|
20
|
+
if (hostname === 'localhost' || hostname === '[::1]') {
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
23
|
+
return net.isIPv4(hostname) && hostname.startsWith('127.');
|
|
24
|
+
}
|
|
8
25
|
|
|
9
26
|
// Configuration schema
|
|
10
27
|
const configSchema = z.object({
|
|
@@ -95,15 +112,17 @@ const configSchema = z.object({
|
|
|
95
112
|
|
|
96
113
|
// UTEAMUP-SEC-2026-05-02-008: explicit opt-in to disable TLS verification
|
|
97
114
|
// for self-signed dev certs. Without this flag the MCP proxy validates
|
|
98
|
-
// TLS like any other production HTTPS client.
|
|
99
|
-
//
|
|
115
|
+
// TLS like any other production HTTPS client. Even when set, the flag is
|
|
116
|
+
// honoured only for a loopback backend and ignored, with a warning, elsewhere.
|
|
100
117
|
insecureTLS: z.boolean()
|
|
101
118
|
.default(false)
|
|
102
|
-
.describe('Disable TLS certificate verification (
|
|
119
|
+
.describe('Disable TLS certificate verification (loopback backends only)')
|
|
103
120
|
}).transform(config => {
|
|
104
|
-
// Apply the
|
|
105
|
-
|
|
106
|
-
|
|
121
|
+
// Apply the policy after URL parsing has canonicalized the host.
|
|
122
|
+
if (config.insecureTLS && !isLoopbackHost(new URL(config.baseUrl).hostname)) {
|
|
123
|
+
warn('UTEAMUP_INSECURE_TLS ignored: TLS verification can only be disabled for a loopback backend', {
|
|
124
|
+
baseUrl: config.baseUrl
|
|
125
|
+
});
|
|
107
126
|
config.insecureTLS = false;
|
|
108
127
|
}
|
|
109
128
|
return config;
|
package/openapi-actions.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"info": {
|
|
4
4
|
"title": "UteamUP CMMS Read-Only Assistant Actions",
|
|
5
5
|
"description": "OpenAPI 3.1.0 Action schema for ChatGPT Custom GPTs (GPT Store) and Google Gemini / Vertex AI Extensions. Invokes the UteamUP read-only MCP endpoint (/mcp/read-only) to list and search assets and work orders using the caller's tenant-scoped permissions.",
|
|
6
|
-
"version": "2.6.
|
|
6
|
+
"version": "2.6.9-beta.9",
|
|
7
7
|
"x-logo": {
|
|
8
8
|
"url": "https://raw.githubusercontent.com/UteamUP/uteamup-mcp/main/assets/logo.png",
|
|
9
9
|
"altText": "UteamUP CMMS"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uteamup/mcp-server",
|
|
3
|
-
"version": "2.6.
|
|
3
|
+
"version": "2.6.9-beta.9",
|
|
4
4
|
"mcpName": "io.github.UteamUP/mcp-server",
|
|
5
5
|
"description": "MCP server client for UteamUP - enables Claude Desktop/Code integration with automatic OAuth 2.0 authentication",
|
|
6
6
|
"main": "index.js",
|
package/server.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"name": "io.github.UteamUP/mcp-server",
|
|
4
4
|
"title": "UteamUP CMMS",
|
|
5
5
|
"description": "Connect AI assistants to UteamUP CMMS for work orders, assets, maintenance, and inventory.",
|
|
6
|
-
"version": "2.6.
|
|
6
|
+
"version": "2.6.9-beta.9",
|
|
7
7
|
"websiteUrl": "https://uteamup.com",
|
|
8
8
|
"icons": [
|
|
9
9
|
{
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"registryType": "npm",
|
|
31
31
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
32
32
|
"identifier": "@uteamup/mcp-server",
|
|
33
|
-
"version": "2.6.
|
|
33
|
+
"version": "2.6.9-beta.9",
|
|
34
34
|
"transport": {
|
|
35
35
|
"type": "stdio"
|
|
36
36
|
},
|