# HaloPSA [Health: Active]

**Category:** 🎧 Support & Service Management  
**Repository:** https://github.com/WYRE-AI/halopsa-mcp  
**GitHub Stars:** 3  
**Views:** 3  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/halopsa-2

## Description
MCP server for HaloPSA — clients, tickets, and PSA workflows via the HaloPSA REST API.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "halopsa": {
    "command": "npx",
    "args": ["-y","@wyre-ai/halopsa-mcp"],
    "env": {
      "HALOPSA_CLIENT_ID": "",
      "HALOPSA_CLIENT_SECRET": "",
      "HALOPSA_TENANT": "",
      "HALOPSA_BASE_URL": ""
    }
  }
}
```

**Requires environment variables:** `HALOPSA_CLIENT_ID`, `HALOPSA_CLIENT_SECRET`, `HALOPSA_TENANT`, `HALOPSA_BASE_URL` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What HaloPSA MCP server does

The HaloPSA MCP server exposes selected HaloPSA service-management operations through the Model Context Protocol. It covers support tickets, ticket categories, clients, assets, agents, teams, and invoices. Depending on the domain, an agent can list, search, retrieve, create, update, or annotate records.

Ticket workflows include filtering ticket lists, reading individual tickets, creating tickets, changing existing tickets, and adding notes or actions. Client operations support listing, retrieval, creation, and name-based search. Asset tools provide filtered lists, detail lookup, search, and asset-type discovery. Agents and teams are viewable, while invoice tools provide filtered lists and detail records.

## How it works

The HaloPSA MCP server uses hierarchical tool loading rather than presenting every operation immediately. The initial navigation layer provides `halopsa_navigate`, `halopsa_status`, and, when applicable, `halopsa_back`. An agent selects a domain, after which the related tools become available. Domain handlers and the HaloPSA client are loaded when needed.

This model keeps the active tool set focused and gives the agent an explicit navigation state. For example, an agent can enter the tickets domain, list open tickets, return to the main menu, and then enter the clients domain.

The ticket retrieval tool can render an interactive card in MCP Apps hosts, including Claude Desktop and Claude web. The card supports an in-card note action through `halopsa_tickets_add_action`; other hosts receive the regular JSON behavior.

## Setup and configuration

Install the npm package from GitHub Packages after authenticating npm with a GitHub token that has the `read:packages` scope. The package can then be started with `npx @wyre-ai/halopsa-mcp`. A Docker image can also be built locally and run with the required credentials.

Set `HALOPSA_CLIENT_ID` and `HALOPSA_CLIENT_SECRET` for OAuth 2.0 authentication. Provide either `HALOPSA_TENANT`, such as `yourcompany`, or `HALOPSA_BASE_URL` with the explicit HaloPSA URL. Cloud build deployments also need package-registry authentication: Cloudflare Workers uses `NODE_AUTH_TOKEN`, while DigitalOcean App Platform uses a build-time `GITHUB_TOKEN`.

The DigitalOcean target runs the complete MCP server over HTTP. The Cloudflare Workers target currently exposes a thin entrypoint whose `/mcp` route returns HTTP 501 until its Workers transport adapter is available.

## Tools and capabilities

Available domains and representative operations include:

- Tickets: list, get, create, update, and add actions or notes.
- Categories: list a page of categories or retrieve one by ID.
- Clients: list, get, create, and search by name.
- Assets: list with filters, get, search, and list asset types.
- Agents: list agents, get an agent, and list teams.
- Invoices: list with filters and get invoice details.

Ticket listing accepts `category_1` filtering; deeper category filters are rejected for that operation. Category lookup helps assign category levels when creating or updating tickets.

## Limitations and notes

HaloPSA applies a limit of 500 requests per three-minute window. The underlying client performs request throttling automatically. The HaloPSA MCP server requires valid HaloPSA OAuth credentials and package access during npm installation. Interactive ticket cards depend on an MCP Apps-capable host; clients without that support receive plain JSON results. The project is licensed under Apache-2.0.

_Full upstream README: https://allmcps.com/mcp/halopsa-2/readme_

