Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added assets/uteamup-zcode/icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 8 additions & 0 deletions external_plugins/uteamup-zcode/.mcp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"mcpServers": {
"uteamup": {
"type": "http",
"url": "https://api.uteamup.com/mcp/read-only"
}
}
}
30 changes: 30 additions & 0 deletions external_plugins/uteamup-zcode/.zcode-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{
"name": "uteamup-zcode",
"version": "0.1.0",
"description": "Connect ZCode to UteamUP CMMS for read-only work orders, assets, and maintenance data via Model Context Protocol (MCP), signing in with your UteamUP account.",
"description_i18n": {
"en": "Connect ZCode to UteamUP CMMS for read-only work orders, assets, and maintenance data via Model Context Protocol (MCP), signing in with your UteamUP account.",
"zh-CN": "通过 Model Context Protocol(MCP)将 ZCode 连接到 UteamUP CMMS,以只读方式查询工单、资产和维保数据,并使用您自己的 UteamUP 账号登录授权。"
},
"author": {
"name": "UteamUP",
"email": "gisli@uteamup.com",
"url": "https://uteamup.com"
},
"homepage": "https://uteamup.com",
"repository": "https://github.com/UteamUP/uteamup-mcp",
"license": "MIT",
"supportUrl": "https://github.com/UteamUP/uteamup-mcp/issues",
"privacyPolicyUrl": "https://app.uteamup.com/privacypolicy",
"termsOfServiceUrl": "https://app.uteamup.com/terms",
"keywords": [
"mcp",
"uteamup",
"cmms",
"maintenance",
"work-orders",
"asset-management"
],
"mcpServers": "./.mcp.json",
"skills": "./skills"
}
60 changes: 60 additions & 0 deletions external_plugins/uteamup-zcode/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# UteamUP CMMS for ZCode

Connect ZCode to your [UteamUP](https://uteamup.com) workspace and ask about your
assets and work orders in natural language. The plugin ships one remote MCP
server and one skill; it contains no local code, hooks, or commands.

## How it works

The `uteamup` MCP server connects to the production read-only endpoint
`https://api.uteamup.com/mcp/read-only` and authenticates with your own UteamUP
account over OAuth 2.0 (the plugin registers itself automatically and ZCode
opens the UteamUP consent page on first use). The requested scope is `mcp:read`.

Prerequisites (one-time, done in UteamUP, not in ZCode):

1. A tenant administrator turns on **Allow members to connect AI assistants**
in the company's **API Keys** tab.
2. On first use, sign in on the UteamUP consent page and pick the company.
Only companies where you are the owner or hold a license are offered.

No API keys or secrets are needed. The connection uses the member's own
permissions in the chosen company. A member disconnects under
**Profile → Accounts**; an administrator sees and revokes every link in the
API Keys tab.

## Tools

- `uteamup_asset_list` — list assets in the connected workspace
- `uteamup_asset_get_by_guid` — fetch one asset by its GUID
- `uteamup_asset_search` — search assets (name, free text)
- `uteamup_workorder_list` — list work orders in the connected workspace
- `uteamup_workorder_search` — search work orders (title, description, free text)

Only these read tools are advertised; write or admin calls are denied
server-side. Reads do not invoke a UteamUP AI provider and spend no UteamUP AI
credits.

## Try it

- "List the first five assets in my workspace."
- "Find assets whose name contains pump."
- "Show my open work orders."

## Network access, side effects, and provenance

- Network: outbound HTTPS to `https://api.uteamup.com/mcp/read-only` and the
UteamUP OAuth endpoints (`/oauth/authorize`, `/oauth/token`, `/oauth/register`).
No other network destinations are configured.
- Local side effects: none. No file writes, no command execution, no hooks, no
bundled binaries. The plugin declares only an MCP server and a skill.
- Third-party services and code: UteamUP is the publisher of this plugin and
operates the only contacted service. No third-party code is bundled. The logo
asset is owned by UteamUP. Requests and responses are processed by Z.ai
(ZCode) and UteamUP under their respective policies; UteamUP retains stored
records under its privacy policy and workspace retention settings.
- License: MIT. Privacy policy: https://app.uteamup.com/privacypolicy.
Terms: https://app.uteamup.com/terms.
Support: https://github.com/UteamUP/uteamup-mcp/issues.
Canonical source maintained at https://github.com/UteamUP/uteamup-mcp
(`plugins/uteamup-zcode`), also installable from UteamUP's own marketplace.
55 changes: 55 additions & 0 deletions external_plugins/uteamup-zcode/README_CN.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# UteamUP CMMS(ZCode 版)

将 ZCode 连接到您的 [UteamUP](https://uteamup.com) 工作区,用自然语言查询资产和工单。
本插件只包含一个远程 MCP 服务和一个 Skill,不包含任何本地代码、钩子或命令。

## 工作原理

`uteamup` MCP 服务连接生产只读端点
`https://api.uteamup.com/mcp/read-only`,并通过您自己的 UteamUP 账号进行
OAuth 2.0 授权(插件自动完成客户端注册,首次使用时 ZCode 会打开 UteamUP
授权页面)。申请的权限范围为 `mcp:read`。

前置条件(一次性操作,在 UteamUP 中完成,与 ZCode 无关):

1. 租户管理员在公司的 **API Keys** 标签页开启 **Allow members to connect AI
assistants**(允许成员连接 AI 助手)。
2. 首次使用时,在 UteamUP 授权页面登录并选择公司。仅显示您作为所有者或持有
许可证的公司。

无需 API 密钥或密钥口令。连接使用成员本人在所选公司中的权限。成员可以在
**Profile → Accounts** 中断开连接;管理员可以在 API Keys 标签页查看并撤销
所有连接。

## 工具

- `uteamup_asset_list` — 列出所连接工作区中的资产
- `uteamup_asset_get_by_guid` — 按 GUID 获取单个资产
- `uteamup_asset_search` — 搜索资产(名称、全文)
- `uteamup_workorder_list` — 列出所连接工作区中的工单
- `uteamup_workorder_search` — 搜索工单(标题、描述、全文)

仅提供上述只读工具;写入或管理类调用会被服务端拒绝。读取操作不会调用
UteamUP 的 AI 服务,也不消耗 UteamUP AI 积分。

## 试一试

- "列出我工作区中的前五个资产。"
- "查找名称包含 pump 的资产。"
- "显示我未关闭的工单。"

## 网络访问、副作用与来源说明

- 网络访问:仅出站 HTTPS 访问 `https://api.uteamup.com/mcp/read-only` 及
UteamUP OAuth 端点(`/oauth/authorize`、`/oauth/token`、`/oauth/register`)。
未配置其他网络目标。
- 本地副作用:无。不写文件、不执行命令、无钩子、无内置二进制文件。插件仅
声明一个 MCP 服务和一个 Skill。
- 第三方服务与代码:UteamUP 是本插件的发布者,并运营唯一被访问的服务。未捆绑
第三方代码。Logo 素材归 UteamUP 所有。请求与响应由 Z.ai(ZCode)和 UteamUP
按各自政策处理;UteamUP 按其隐私政策和工作区保留设置保存记录。
- 许可证:MIT。隐私政策:https://app.uteamup.com/privacypolicy。
服务条款:https://app.uteamup.com/terms。
支持渠道:https://github.com/UteamUP/uteamup-mcp/issues。
源码维护于 https://github.com/UteamUP/uteamup-mcp(`plugins/uteamup-zcode`),
也可从 UteamUP 自有插件市场安装。
56 changes: 56 additions & 0 deletions external_plugins/uteamup-zcode/skills/uteamup/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
---
name: uteamup
description: Use when the user asks about their UteamUP CMMS data — assets, work orders, maintenance, or equipment lookups (e.g. "list my assets", "find work orders about pump", "what assets do we have in Building A"), or wants to search UteamUP records by name, GUID, status, or free text. Read-only; not for writing or updating records.
---

# UteamUP CMMS (read-only)

This skill uses the `uteamup` MCP server (tools prefixed `uteamup_`) to read the
user's UteamUP workspace: companies (tenants), assets, and work orders.

## Connection

The server connects to `https://api.uteamup.com/mcp/read-only` and authenticates
with the user's own UteamUP account over OAuth.

Prerequisites (one-time, done in UteamUP, not in ZCode):

1. A tenant administrator turns on **Allow members to connect AI assistants** in
the company's **API Keys** tab.
2. On first use ZCode opens the UteamUP consent page; the member signs in,
picks the company (only companies where they are owner or hold a license are
listed), and allows access.

No API key or secret is needed. The connection uses the member's own
permissions in the chosen company. A member disconnects under
**Profile → Accounts**; administrators can revoke links in the API Keys tab.

## Tools

- `uteamup_asset_list` — list assets in the connected workspace
- `uteamup_asset_get_by_guid` — fetch one asset by its GUID
- `uteamup_asset_search` — search assets (name, free text)
- `uteamup_workorder_list` — list work orders in the connected workspace
- `uteamup_workorder_search` — search work orders (title, description, free text)

Only these read tools are available; guessed write or admin calls are denied
server-side. Reads do not invoke a UteamUP AI provider and spend no AI credits.

## Usage notes

- Prefer `list` tools for browsing and `search` tools when the user names
something ("find assets containing 'pump'").
- Assets and work orders are identified by GUID in results; use
`uteamup_asset_get_by_guid` for follow-up detail on a specific asset.
- If a tool call returns 401 `invalid_token`, the member's license or the
company setting ended, or the link was revoked — tell the user to reconnect
or contact their administrator.
- If the tools are missing entirely, the plugin's MCP server is not connected
yet: ask the user to complete the sign-in flow (Settings → MCP → uteamup).

## Examples

- "List the first five assets in my workspace." → `uteamup_asset_list`
- "Find assets whose name contains pump." → `uteamup_asset_search`
- "Show my open work orders." → `uteamup_workorder_list` / `uteamup_workorder_search`
- "Give me details for asset with GUID …" → `uteamup_asset_get_by_guid`
24 changes: 24 additions & 0 deletions marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -1409,6 +1409,30 @@
"mcp",
"verification"
]
},
{
"name": "uteamup-zcode",
"source": "./external_plugins/uteamup-zcode",
"description": "Connect ZCode to UteamUP CMMS for read-only work orders, assets, and maintenance data via Model Context Protocol (MCP), signing in with your UteamUP account.",
"description_i18n": {
"en": "Connect ZCode to UteamUP CMMS for read-only work orders, assets, and maintenance data via Model Context Protocol (MCP), signing in with your UteamUP account.",
"zh-CN": "通过 Model Context Protocol(MCP)将 ZCode 连接到 UteamUP CMMS,以只读方式查询工单、资产和维保数据,并使用您自己的 UteamUP 账号登录授权。"
},
"version": "0.1.0",
"author": {
"name": "UteamUP",
"url": "https://uteamup.com"
},
"icon": "https://cdn-zcode.z.ai/zcode/official-plugin/assets/uteamup-zcode/icon.png",
"category": "productivity",
"keywords": [
"mcp",
"uteamup",
"cmms",
"maintenance",
"work-orders",
"asset-management"
]
}
]
}