
HaloPSA
io.github.wyre-technology由 GitHub 账号 wyre-technology 发布v1.7.11更新于 Oct 24, 2026
MCP server for HaloPSA — clients, tickets, and PSA workflows via the HaloPSA REST API.
概览
面向 HaloPSA 的本地 MCP 服务器,让助手通过 HaloPSA REST API 浏览和管理工单、客户、资产、客服人员与发票。
- 可以做什么
- 在 HaloPSA 各领域(工单、客户、资产、客服人员、发票、分类)之间切换导航,并查看当前状态与凭据状态,工具按领域按需加载。列出、查看、创建和更新支持工单,并为工单添加备注或操作记录。分页或按 ID 查询工单分类,便于在分诊时指定分类层级。列出、查看、创建和搜索客户,以及列出、查看和搜索资产与资产类型。列出客服人员、团队和发票,并查看发票详情。
- 适用场景
- 适合让助手直接在 HaloPSA 服务台中工作:分诊和更新工单、添加备注、查询客户及其资产,或查看账单与团队信息,而无需切换到 HaloPSA 网页界面。
- 运行要求
- 以本地进程方式运行(npx 包或容器镜像),使用 stdio 传输。需要 HaloPSA OAuth 凭据 HALOPSA_CLIENT_ID 和 HALOPSA_CLIENT_SECRET,以及 HALOPSA_TENANT 或 HALOPSA_BASE_URL 之一。安装 npm 包需要具备 read:packages 权限的 GitHub 令牌,通过 NODE_AUTH_TOKEN 提供。需要能访问 HaloPSA 实例的网络。
安装
在 SourceWeft 中
- 打开 控制台中的 HaloPSA,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
HaloPSA MCP Server
A Model Context Protocol (MCP) server for interacting with HaloPSA, featuring a decision tree architecture for efficient tool loading.
One-Click Deployment
[!IMPORTANT] Before you click: this server depends on
@wyre-technology/node-halopsa, which is hosted on the GitHub Packages npm registry. GitHub Packages has no anonymous access — even though the package is public, everynpm installneeds a token. The cloud builder runsnpm installfor you, so you must give it one, or the build fails withnpm error 401 Unauthorized ... npm.pkg.github.com.
- Create a GitHub Personal Access Token with the
read:packagesscope (classic token). Any GitHub account works — you do not need to be a member of thewyre-technologyorg to read its public packages.- Add it as a build variable when prompted by the deploy flow:
- Cloudflare Workers → set a build variable named
NODE_AUTH_TOKENto your PAT (Workers → Settings → Build → Variables and Secrets).- DigitalOcean App Platform → set an encrypted env var named
GITHUB_TOKENwith scope Build Time to your PAT (the.do/app.yamlalready declares it).
[Deploy to Cloudflare Workers]
[!NOTE] The DigitalOcean target builds the full Docker image and runs the complete MCP server over HTTP — this is the recommended path for operators. The Cloudflare Workers target is currently a thin entrypoint (the
/mcproute returns 501 until the Workers transport adapter lands) and is best suited to gateway-style deployments; for a full self-hosted server prefer DigitalOcean or the prebuilt container image (ghcr.io/wyre-ai/halopsa-mcp).
Architecture
This MCP server uses a hierarchical tool loading approach instead of exposing all tools upfront:
- Navigation Phase: Initially exposes only a navigation tool (
halopsa_navigate) - Domain Selection: User selects a domain (tickets, clients, assets, agents, invoices, categories)
- Domain Tools: Server exposes domain-specific tools after selection
- Lazy Loading: Domain handlers and the HaloPSA client are loaded on-demand
This architecture provides:
- Reduced cognitive load (fewer tools to choose from)
- Faster initial load times
- Better organization of related operations
- Clear navigation state
Interactive Ticket Card (MCP Apps)
halopsa_tickets_get renders as an interactive card in MCP Apps hosts
(Claude Desktop/web) with an in-card "Add note" round-trip via
halopsa_tickets_add_action; plain-JSON behavior is unchanged in other hosts.
The card is neutral by default and brandable via window.__BRAND__ injection
or MCP_BRAND_* env vars (MCP_BRAND_NAME, MCP_BRAND_LOGO_URL,
MCP_BRAND_PRIMARY_COLOR, MCP_BRAND_ACCENT_COLOR, MCP_BRAND_BG,
MCP_BRAND_TEXT) — no rebuild needed.
Installation
This package is published to the GitHub Packages npm registry, which requires a token even for public packages. Authenticate once, then install:
The repo's .npmrc already points the @wyre-technology scope at GitHub Packages and
reads the token from NODE_AUTH_TOKEN, so no further config is needed.
Configuration
Set the following environment variables:
Usage
Running Standalone
Claude Desktop Configuration
Add to your Claude Desktop claude_desktop_config.json:
Docker
Available Domains
Tickets
Manage support tickets, create new tickets, update status, add actions/notes.
Tools:
halopsa_tickets_list- List tickets with filters (category_1only;category_2–category_4are rejected)halopsa_tickets_get- Get ticket detailshalopsa_tickets_create- Create a new ticket (optionalcategory_1–category_4)halopsa_tickets_update- Update an existing ticket (optionalcategory_1–category_4)halopsa_tickets_add_action- Add a note/action to a ticket
Categories
Look up Halo ticket categories so triage can assign category_1–category_4 (the category name, matched to its level).
Tools:
halopsa_categories_list- List one page of ticket categories (limitdefaults to 50;page_nostarts at 1)halopsa_categories_get- Get a category by ID
Clients
Manage companies/clients in HaloPSA.
Tools:
halopsa_clients_list- List clientshalopsa_clients_get- Get client detailshalopsa_clients_create- Create a new clienthalopsa_clients_search- Search clients by name
Assets
Manage configuration items/assets.
Tools:
halopsa_assets_list- List assets with filtershalopsa_assets_get- Get asset detailshalopsa_assets_search- Search assetshalopsa_assets_list_types- List available asset types
Agents
View technicians and teams.
Tools:
halopsa_agents_list- List agents/technicianshalopsa_agents_get- Get agent detailshalopsa_teams_list- List teams
Invoices
View billing and invoices.
Tools:
halopsa_invoices_list- List invoices with filtershalopsa_invoices_get- Get invoice details
Navigation Tools
Always available:
halopsa_navigate- Select a domain to work withhalopsa_status- Show current state and credential statushalopsa_back- Return to main menu (when in a domain)
Example Workflow
Rate Limiting
HaloPSA has a rate limit of 500 requests per 3-minute window. The underlying @asachs01/node-halopsa client handles this automatically with request throttling.
License
Apache-2.0
来源:README.md,提交 9a99f35
工具
0版本历史
1- v1.7.11最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分