[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Security](https://cotlet.dev/security.md) · [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md) · [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [Contact](https://cotlet.dev/contact.md) · [Pricing](https://cotlet.dev/pricing.md) · [Sign up](https://cotlet.dev/signup)

# HaloPSA MCP server: Let your AI agent work your HaloPSA tickets.

> HaloPSA has an official REST API and its own MCP endpoint (checked 6 Nov 2026). A Halo admin turns each one on: an API application under Configuration > Integrations > Halo API, and "Enable the MCP Endpoint" under Configuration > AI > MCP Server. Cotlet adds 14 HaloPSA tools hosted, over MCP for agents and REST for scripts, with none of that setup.

Your agent reads tickets, adds notes, drafts replies from the knowledge base and logs time in HaloPSA. You sign in once with your own agent login, with no API application and no server to host. It works inside the ChatGPT and Claude apps.

- Free 7-day trial, no card
- Unofficial, not affiliated with Halo
- Page: https://cotlet.dev/integrations/halopsa-api-mcp-server

## What can your AI agent do in HaloPSA?

- Triage new tickets by your rules
- Add private notes with the next step
- Draft replies from the knowledge base
- Log time from your day
- Watch tickets close to their target
- Create tickets for a client

## Does HaloPSA have an MCP server or an API?

- Halo's MCP guide lists tools for tickets, notes, the knowledge base, users, assets and time. Replies, client lookups and timesheet reads are not in its list.
- The MCP endpoint needs a "Default AI Connection" chosen first. An admin can add custom tools for logging tickets, reports and runbooks.
- n8n has an official HaloPSA node. Community MCP servers on GitHub run on a Halo API application you create.

| What you need | Official REST API | Halo MCP endpoint | Cotlet |
|---|---|---|---|
| Find and read tickets with their history | Yes, you code it | Yes | Yes |
| Create a ticket | Yes, you code it | With an admin's custom tool | Yes, after your OK |
| Add a private note | Yes, you code it | Yes | Yes, after your OK |
| Reply to the user | Yes, you code it | Through a set-up action | Yes, after your OK |
| Log time | Yes, you code it | Yes, a quick entry | Yes, after your OK |
| Look up clients and read a timesheet | Yes, you code it | Not in the tool list | Yes |
| No admin setup before you start | No | No | Yes, your own sign-in |
| Runs in the ChatGPT and Claude apps, 24/7 | No, your own code | Needs admin setup | Yes, hosted |

Checked 6 Nov 2026. Sources: [Halo Guides: Halo MCP Server Connection](https://www.usehalo.com/guides/2597), [Halo Guides: MCP Server Settings](https://www.usehalo.com/guides/2911), [Halo Guides: Creating API Applications](https://www.usehalo.com/guides/1823), [n8n: HaloPSA integrations](https://n8n.io/integrations/halopsa/)

## How does the HaloPSA MCP server work?

1. **Sign in to HaloPSA.** Use your own agent login.
2. **Connect your AI agent.** Paste one Cotlet address.
3. **Ask in plain words.** Your agent works the tickets.

We never keep your HaloPSA password, and no reply, ticket change or logged time happens until you approve it.

## How to connect HaloPSA to your AI agent

Use MCP with your AI agent, or the same tools over REST in n8n, Make and scripts.

1. **Enable HaloPSA for agents.** Sign up, log in to Halo in its Cloud Browser, then press Enable for agents.
2. **Add the Cotlet address.** Add https://cotlet.dev/mcp/v1 as an MCP server or connector in your agent.
3. **Approve the connection.** Chat apps ask you to sign in to Cotlet. Editors, n8n and scripts use an API key from the console.

One shared address, `https://cotlet.dev/mcp/v1`, also carries HaloPSA next to your other apps. If you enable HaloPSA after connecting, refresh the connector so the new tools show up.

Claude:

```
Settings > Connectors > Add custom connector
URL: https://cotlet.dev/mcp/v1/connect

Claude Code:
claude mcp add --transport http cotlet-halopsa \
  https://cotlet.dev/mcp/v1 \
  --header "Authorization: Bearer $COTLET_API_KEY"
```

ChatGPT:

```
Settings > Apps & Connectors > Create
MCP server URL: https://cotlet.dev/mcp/v1/connect
Authentication: OAuth
```

Cursor:

```
// ~/.cursor/mcp.json
{
  "mcpServers": {
    "cotlet-halopsa": {
      "url": "https://cotlet.dev/mcp/v1",
      "headers": { "Authorization": "Bearer ${env:COTLET_API_KEY}" }
    }
  }
}
```

Codex:

```
# ~/.codex/config.toml
[mcp_servers.cotlet-halopsa]
url = "https://cotlet.dev/mcp/v1"
bearer_token_env_var = "COTLET_API_KEY"
```

n8n:

```
MCP Client Tool (inside an AI Agent)
Transport: HTTP Streamable
URL: https://cotlet.dev/mcp/v1
Auth: Bearer, <your key>
Tool: halopsa_read
```

Make, Zapier:

```
Make: MCP Client > Call a tool
Zapier: MCP Client by Zapier > Run Tool
Server URL: https://cotlet.dev/mcp/v1
Token: <your key>
Tool: halopsa_write
```

## All 14 HaloPSA MCP tools

### Tickets

Names of statuses, priorities and teams must match your Halo exactly. Read the ticket types first, because a type that agents may not log is refused.

- **List tickets** (`list_tickets`, read): Tickets matching a search, status, client, team or agent.
- **Get ticket** (`get_ticket`, read): One ticket with its details and every action on it.
- **List ticket types** (`list_ticket_types`, read): Ticket types with ID and name.
- **Create ticket** (`create_ticket`, write, asks first): Log a new ticket for a client and user.
- **Update ticket** (`update_ticket`, write, asks first): Change the status, priority, team or agent of a ticket.

### Notes and replies

A private note is seen by agents only. A reply reaches the user by email and cannot be recalled.

- **Add private note** (`add_note`, write, asks first): Add a private note to a ticket.
- **Reply to user** (`reply_to_user`, write, asks first): Send a reply on a ticket that the user sees.

### Knowledge base

Search with the ticket summary or the user's own words to find steps for a reply.

- **Search knowledge base** (`search_knowledge_base`, read): Knowledge base articles that match a question.

### Clients and assets

Look up the client ID before you filter or create tickets.

- **List clients** (`list_clients`, read): Clients with ID, name and number of open tickets.
- **Get client** (`get_client`, read): One client with its sites and users.
- **List assets** (`list_assets`, read): Assets matching a search or a client.

### Time and reports

Time can feed billing, so read the timesheet first and check the minutes. Reports are the saved ones you built in Halo.

- **Get timesheet** (`get_timesheet`, read): Time logged by an agent on one day.
- **Log time** (`log_time`, write, asks first): Log time spent on a ticket.
- **Get report data** (`get_report_data`, read): The rows of a saved report.

Inputs, REST path and example response of every tool: https://cotlet.dev/integrations/halopsa-api-mcp-server#tools

## Who can see my HaloPSA session, and how do I revoke it?

- **What we store.** Your logged-in HaloPSA profile, encrypted with AES-256-GCM, in Finland. Not the password.
- **What your agent gets.** The 14 HaloPSA tools. Never the cookie or your login.
- **What the session sees.** What your agent login sees: tickets, notes, clients, assets, time.
- **What no tool touches.** Billing, contracts, agent accounts, configuration and deleting.
- **If Halo asks to sign in.** You sign in again in your own browser, with your own second step if you use one. We never type it.
- **How to cut access.** Disable for agents, reset the browser, or end the session in Halo.

Our site scores A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory ([live results](https://cotlet.dev/security.md)).

## What can the agent do in my Halo?

You sign in with your own agent login, so the agent sees and changes only what that login can. If you cannot open a ticket type, a client or a report in Halo, your agent cannot either.

Replies are the only text a user receives, so they wait for your OK. Private notes stay with your team.

How your Halo stays in your hands:

- Your own login, signed in by you
- The agent works inside your agent permissions
- Replies, ticket changes and logged time wait for your OK by default
- No tool deletes a ticket, note or time entry
- You can switch the wait off per tool for a scheduled run

## What happens when HaloPSA changes?

- **12 h** between tests of the HaloPSA tools
- **$0** for a call to a HaloPSA tool paused for repair

When a Halo screen moves or a field is renamed, the fix happens on our side and your prompts keep working. [status.cotlet.dev](https://status.cotlet.dev) watches the site, console and API every 3 minutes.

## Approvals, undo and mistakes

1. **Reads the ticket.** The whole history, before it writes anything.
2. **Drafts the reply.** Steps taken from the best knowledge base article.
3. **Waits for your OK.** The reply shows up in your Cotlet console first.
4. **Reports the result.** Ticket ID, action ID, who got the email.

| Action | Undo |
|---|---|
| Create a ticket | Close or edit it in Halo |
| Update status, priority, team or agent | Set the old value again, if the workflow allows it |
| Add a private note | No tool removes it, an admin can in Halo |
| Reply to the user | No, the email is out |
| Log time | Delete the action in Halo before it is billed |

All 5 write tools ask first: create_ticket, update_ticket, add_note, reply_to_user, log_time. Reads reach nobody and run at once. Switch the wait off per tool for a scheduled run.

> A status change moves the ticket on in its workflow, and Halo may notify the user or the agent, so check your notification settings before you switch the wait off.

MCP call:

```
{
  "name": "log_time",
  "arguments": {
    "ticket_id": 4821,
    "minutes": 30,
    "note": "Re-added the printer by IP address",
    "billable": true
  }
}
```

REST:

```
curl -X POST https://cotlet.dev/api/v1/halopsa/tickets/4821/times \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"minutes":30,"note":"Re-added the printer by IP address","billable":true}'
```

Tool output:

```
{
  "ticket_id": 4821,
  "action_id": 4,
  "minutes": 30,
  "billable": true,
  "created_at": "2026-11-05T09:10:00Z"
}
```

Scripts and cron jobs reach the same tools over REST at `/api/v1/halopsa`, with the same key and price. A write over REST waits for your OK too and answers 202 until you approve it. A failed call costs nothing. The tools table lists the REST path of each tool.

## How much does the HaloPSA MCP server cost?

**About $56 a month** for one service desk agent at a small MSP, 9,580 credits. Your HaloPSA licence is billed by Halo as before.

| Job | Calls | Credits |
|---|---|---|
| Triage new tickets, daily | 13 × 22 | 2,860 |
| Watch tickets near their target, daily | 7 × 22 | 1,540 |
| Draft first replies, daily | 10 × 22 | 2,200 |
| Log time from your day, daily | 6 × 22 | 1,320 |
| Weekly report per client | 4 × 4 | 160 |
| Cloud Browser, 30 days |  | 1,500 |
| Total |  | 9,580 |

- Free 7-day trial, no card
- 10 credits per successful call, MCP or REST
- 50 credits a day for the Cloud Browser
- No Halo API application or MCP setup to wait on

The month is our example: 22 working days and about 160 tickets on one agent's desk. Published benchmarks run from 50 to 250 tickets per technician a month (Rewired MSP and Rallied, 2026). Dollars at the $29 pack rate. Halo's pricing page lists £66 per agent per month, billed annually (6 Nov 2026), and a 30-day free trial.

## HaloPSA MCP server on GitHub, n8n or hosted: which to use

| Option | What it does | Where it stops |
|---|---|---|
| [Halo MCP endpoint](https://www.usehalo.com/guides/2597) | Official. Tickets, private notes, knowledge base, users, assets, time, plus custom tools for logging tickets, reports and runbooks. | A Halo admin sets it up first. No tool for clients or timesheets in the guide. |
| [WYRE-AI/halopsa-mcp](https://github.com/WYRE-AI/halopsa-mcp) | Apache-2.0, TypeScript. Tickets, clients, assets, contracts and reporting. 3 stars, last commit 29 Oct 2026. | You host it and give it a Halo API application. |
| [redanthrax/halopsa-mcp](https://github.com/redanthrax/halopsa-mcp) | MIT, .NET. Tickets, agents, clients and reporting data, stdio or Streamable HTTP. 1 star, last commit 5 Nov 2026. | You run it in Docker or Helm with your own credentials. |
| [DTC-Inc/halopsa-mcp](https://github.com/DTC-Inc/halopsa-mcp) | Rust. Ticket management, workflow actions and semantic search, sign-in passed through to Halo. 1 star, last commit 30 Oct 2026. | No license listed, and you host it. |
| [ethergrade/ChatPSA](https://github.com/ethergrade/ChatPSA) | MIT. MCP server and agent desk for HaloPSA and Domotz troubleshooting. 1 star, last commit 21 Oct 2026. | Built for troubleshooting, and you host it. |
| [n8n HaloPSA node](https://n8n.io/integrations/halopsa/) | Official node with ready actions and HTTP Request for custom calls. | A workflow, not a chat agent. You build each flow on a Halo API application. |

Halo's own MCP endpoint is the right first look if your admin is happy to turn it on and its tools cover your job. The community servers suit a team that runs its own. Cotlet is for the service desk agent who wants the same jobs inside ChatGPT or Claude, plus clients and timesheets, with one sign-in and nothing to host.

## Who runs Cotlet

Take Group sp. z o.o. runs Cotlet. It is a software company registered in Poland, EU (VAT PL6342984273), working since 2019, founded by Bart Krawczyk (Co-founder, CTO) and Jake Slugocki (Co-founder, SEO, sales and marketing). Write to contact@cotlet.dev with questions about the HaloPSA tools.

## HaloPSA MCP server: questions

### How do I connect HaloPSA to ChatGPT or Claude?

Sign up at cotlet.dev, log in to HaloPSA once in its Cloud Browser and add Cotlet to ChatGPT or Claude, following the steps in your console. No API key is needed. ChatGPT and Claude then work in your HaloPSA account through Cotlet, in their phone apps too.

### What can ChatGPT do in HaloPSA?

With Cotlet, ChatGPT, Claude and other AI agents handle jobs like these in HaloPSA: triage new tickets; watch tickets close to their SLA target; draft a first reply from the knowledge base. You ask in plain words, and anything that reaches other people waits for your OK first.

### How do I get access?

Create a free account at https://cotlet.dev, open HaloPSA under Integrations in the console and log in to Halo in its Cloud Browser. The trial starts with your first app, no card asked.

### Does Halo's own MCP endpoint replace Cotlet?

It can, if a Halo admin turns it on and its tools cover your job. Halo's guide lists tools for tickets, the knowledge base, users, assets, reports and runbooks, set up under Configuration > AI > MCP Server with a Default AI Connection. Cotlet needs none of that setup and also reads clients and timesheets. Halo's guide says the MCP tools can run regardless of the agent's permissions when "Include all system tools" is on.

### Which Halo role does my agent need?

Cotlet works in your own agent login, so what your agent sees and changes follows the permissions Halo gives that login. If you cannot open a ticket type, a client or a report in Halo, your agent cannot either.

### Does it work with Claude and ChatGPT in the browser or on my phone?

Yes. Cotlet is hosted, so the chat apps reach it by the shared address. Nothing runs on your computer.

### Can I use it without an AI agent?

Yes. Call Cotlet's REST API from a script or an HTTP step in n8n or Make with your Cotlet key. The same tools, inputs and price as MCP.

### Is Cotlet affiliated with Halo?

No. Cotlet is independent and not affiliated with Halo.

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Pricing](https://cotlet.dev/pricing.md) · [Security](https://cotlet.dev/security.md)

**Resources:** [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [GitHub](https://github.com/cotletdev/cotlet)

**Solutions:** [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md)

**Company:** [About](https://cotlet.dev/about.md) · [AI info: company facts](https://cotlet.dev/ai-info.md) · [Contact](https://cotlet.dev/contact.md)

**Legal:** [Terms of service](https://cotlet.dev/terms) · [Privacy policy](https://cotlet.dev/privacy) · [Refund policy](https://cotlet.dev/refunds) · [Acceptable use](https://cotlet.dev/acceptable-use) · [Cookie policy](https://cotlet.dev/cookies) · [DPA](https://cotlet.dev/dpa) · [Subprocessors](https://cotlet.dev/subprocessors)

**Elsewhere:** [Status page](https://status.cotlet.dev) · [Cotlet on GitHub](https://github.com/cotletdev) · [Cotlet on X](https://x.com/cotletdev) · [Cotlet on LinkedIn](https://www.linkedin.com/company/cotletdev) · [Cotlet on Product Hunt](https://www.producthunt.com/products/cotlet) · [Cotlet on Crunchbase](https://www.crunchbase.com/organization/cotlet) · [Cotlet on SaaSHub](https://www.saashub.com/cotlet)

Cotlet.dev is built by Bart Krawczyk and Jake Slugocki, the founders of Take Group sp. z o.o., ul. Wincentego Janasa 4, 40-855 Katowice, Poland. KRS 0000871398, NIP 6342984273, VAT EU: PL6342984273. [About us](https://cotlet.dev/about.md)

Cotlet is an independent service. It is not affiliated with, endorsed by or sponsored by any of the products listed on this site. Product names are trademarks of their respective owners.
