# HaloITSM MCP connector

Connecting HaloITSM to Elaichi lets Claude, ChatGPT, Cursor, or any MCP client look up tickets, assets, users, agents, and appointments in HaloITSM, add actions to them, and book work, all inside each person's own HaloITSM access with every call logged.

Source: https://elaichi.ai/connectors/haloitsm/

## Facts

| | |
| --- | --- |
| Application | HaloITSM |
| Category | Helpdesk |
| AI tools | 84 |
| Authentication | App credentials |
| Needs your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. 84 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once HaloITSM is connected

- Show tickets opened this week by team.
- Which HaloITSM agents have the most open actions?
- List users added to the service desk team.

## Connect HaloITSM in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick HaloITSM.
2. Optionally set Share with, then press Connect.
3. Paste your HaloITSM app credentials. HaloITSM authenticates the app rather than a person. One person supplies the credentials once, and everyone else works through Share with.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which HaloITSM tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect HaloITSM to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect HaloITSM to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect HaloITSM to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect HaloITSM to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a HaloITSM tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with HaloITSM through Elaichi

### Catch a ticket up after a call

Service desk. Once the phone call ends, ask the assistant to add an action to the HaloITSM ticket with what was agreed, so the record is current before the next request comes in.

### See who is on which team

Support. Ask which HaloITSM agents sit on the network team, or pull up a single agent's details, without leaving the chat where you are already planning the shift.

### Register a new laptop as an asset

IT asset management. When kit arrives, describe the device in plain language and have it created as a HaloITSM asset, then look it up later by ID when a ticket mentions it.

### Book the site visit while talking

Field services. Ask the assistant to create a HaloITSM appointment for the engineer, or list the appointments already in the diary for tomorrow, so double bookings are caught early.

### Set up a new starter in HaloITSM

People operations. On day one, ask to create the new hire as a HaloITSM user and confirm which team they belong to, so their first request is not stuck on a missing account.

### Review the HaloITSM setup at a glance

IT management. List all HaloITSM teams, agents, and users in one place to spot leavers still active, empty teams, or agents who need reassigning, then tidy up from the same conversation.

## Frequently asked questions

### How do I connect HaloITSM to Claude?

Two steps. In Elaichi, choose HaloITSM and enter your HaloITSM app credentials when asked, then in Claude go to Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp. There is no client ID or secret to generate, and no OAuth application to register on the HaloITSM side.

### Does HaloITSM work with ChatGPT and Cursor as well as Claude?

Yes. Once HaloITSM is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent. You connect HaloITSM once and use it from whichever client you happen to be in.

### What can an AI agent actually do with my HaloITSM data?

With HaloITSM connected, an assistant can look up users, agents, teams, assets, appointments, and actions in HaloITSM by name or ID, list them, and create new ones, such as adding an action to a ticket, booking an appointment for an engineer, or registering a new asset. It can also remove records where your HaloITSM access allows it. Because HaloITSM offers a lot of options, short concrete asks like "list open appointments for tomorrow" work better than long paragraphs.

### Does connecting HaloITSM give the AI everything in my helpdesk?

No. Every request runs as the person who signed in to HaloITSM, so the assistant sees only the tickets, assets, and users that person can already see in HaloITSM. Elaichi can narrow that further for a team or a role, but it never grants anything HaloITSM itself would not allow.

### Can my team share one HaloITSM connection?

Yes. One person connects HaloITSM in Elaichi and shares it with a team, and nobody else has to handle the HaloITSM app credentials. Each teammate still signs in to Elaichi as themselves, so the audit log names the actual person behind every HaloITSM lookup or change.

### Can I stop an agent from deleting or changing things in HaloITSM?

Yes. In Elaichi you can restrict individual HaloITSM actions, for example allowing lookups of assets and appointments while blocking deletion of users or agents. A blocked action is never shown to Claude, ChatGPT, or any other client at all, so no prompt, however worded, can reach it.

### What happens to a HaloITSM connection when someone leaves?

Offboarding a person in Elaichi ends their access to HaloITSM through every client at once. If they had shared a HaloITSM connection with the team, it keeps working for everyone else. Disconnecting HaloITSM once in Elaichi removes it from Claude, ChatGPT, Cursor, and every other client in one step.

## All 84 HaloITSM tools

Every tool below is callable through https://api.elaichi.ai/mcp once HaloITSM is connected, subject to the toolbox it is in and the restrictions on the caller.

- **List all HaloITSM users** (List). List users in HaloITSM. Returns count and an array of user objects with key details such as name, email, and status.
- **Get single HaloITSM user by ID** (Get). Get details of a specific user in HaloITSM using id. Returns fields such as id, name, emailaddress, site_name, department, and related contact information.
- **Create a HaloITSM user** (Create). Create or update one or more users in HaloITSM. If id is included, the user record is updated; if not, a new user is created. Returns key user fields including id, name, emailaddress, site_name, department, and lastlogindate.
- **Delete a HaloITSM user by ID** (Delete). Delete a user in HaloITSM using id. Also removes related objects associated with the specified user. Returns status 200 upon successful deletion.
- **List all HaloITSM teams** (List). List teams in HaloITSM. Returns an array of teams with key details such as team name, type, and membership-related information.
- **Get single HaloITSM team by ID** (Get). Get details of a specific team in HaloITSM using id. Returns fields such as id, name, department_name, inactive, emailaddress, and agents.
- **Create a HaloITSM team** (Create). Create or update one or more teams in HaloITSM. If id is provided, updates the existing team; otherwise, creates a new team. Returns id, name, department_id, and other team configuration details in the response.
- **Delete a HaloITSM team by ID** (Delete). Delete a team in HaloITSM by id. Removes the team and related objects. Returns a success confirmation in the response.
- **List all HaloITSM actions** (List). List actions in HaloITSM. Returns count of actions and array of action objects. Requires no parameters.
- **Get single HaloITSM action by ID** (Get). Get details of a specific action in HaloITSM using id and ticket_id. Returns key fields describing the action, such as identifiers, metadata, and related ticket information.
- **Create a HaloITSM action** (Create). Create or update one or more actions in HaloITSM. If id is provided, updates the action; otherwise creates a new one. Requires ticket_id. Returns action details including id, ticket_id, outcome, datetime, and action status fields.
- **Delete a HaloITSM action by ID** (Delete). Delete an action in HaloITSM using ticket_id and id. Removes the action and related objects. Returns status confirming deletion.
- **List all HaloITSM agents** (List). List all agents in HaloITSM. Returns an array of agent objects including key fields such as name, email, and role.
- **Get single HaloITSM agent by ID** (Get). Get details about a specific agent in HaloITSM using id. Returns key agent fields such as name, email, status, and role information.
- **Create a HaloITSM agent** (Create). Create or update one or more agents in HaloITSM. If id is included, the agent is updated; if not, a new agent is created. Returns key agent details such as id, name, email, and status in the response.
- **Delete a HaloITSM agent by ID** (Delete). Delete an agent in HaloITSM using id. Removes the agent and all related objects. Requires id.
- **List all HaloITSM appointments** (List). List appointments in HaloITSM. Returns an array of appointments including key fields such as appointment details, assigned agents, dates, and related entities.
- **Get single HaloITSM appointment by ID** (Get). Get a specific appointment in HaloITSM using id. Returns key fields such as id, subject, confirmed, start_date, end_date, agent_name, client_name, and status.
- **Create a HaloITSM appointment** (Create). Create or update one or more appointments in HaloITSM. If id is included, the appointment is updated. If not, a new appointment is created. Returns appointment details including updated or newly created records.
- **Delete a HaloITSM appointment by ID** (Delete). Delete an appointment in HaloITSM by id. Requires id. Deletes the appointment and all related objects. Returns a success status upon completion.
- **List all HaloITSM assets** (List). List assets in HaloITSM. Returns record_count, page_no, page_size, and an array of asset objects with key fields such as id, inventory_number, client_id, site_id, and assettype_id.
- **Get single HaloITSM asset by ID** (Get). Get a specific asset in HaloITSM by id. Returns key details such as id, inventory_number, client_name, assettype_name, warranty dates, and related counts.
- **Create a HaloITSM asset** (Create). Create or update one or more assets in HaloITSM. If id is included in the request, the asset is updated; if omitted, a new asset is created. Returns an array of created or updated asset details in the response.
- **Delete a HaloITSM asset by ID** (Delete). Delete an asset in HaloITSM using the specified id. This operation removes the asset and its related objects. Returns confirmation of deletion.
- **List all HaloITSM clients** (List). List clients in HaloITSM. Returns count and an array of client objects including id, name, colour, inactive, toplevel_id, toplevel_name, and customfields.
- **Get single HaloITSM client by ID** (Get). Get details about a specific client in HaloITSM using id. Returns fields such as id, name, inactive status, colour, customfields, notes, invoice settings, contact details, and statistics including ticket counts.
- **Create a HaloITSM client** (Create). Create or update one or more clients in HaloITSM. If id is included, the client is updated; if id is not included, a new client is created. Returns details of the updated or newly created clients in the response.
- **Delete a HaloITSM client by ID** (Delete). Delete a specific client in HaloITSM with the given id. Deletes the client and related objects. Returns status 200 upon successful deletion.
- **List all HaloITSM contracts** (List). List contracts in HaloITSM. Returns contract details such as contract identifiers, associated client information, and contract attributes.
- **Get single HaloITSM contract by ID** (Get). Get details of a specific contract in HaloITSM using id. Returns key fields such as client_name, ref, start_date, end_date, status, and billing details for the contract.
- **Create a HaloITSM contract** (Create). Create or update one or more contracts in HaloITSM. If id is included, updates the existing record; if not, creates a new one. Returns contract details including key fields like id and name.
- **Delete a HaloITSM contract by ID** (Delete). Delete a contract in HaloITSM by id. Removes the contract and all related objects associated with the specified id. Returns confirmation of deletion in the response.
- **List all HaloITSM invoices** (List). List invoices in HaloITSM. Returns count and an array of invoice objects. Each invoice includes key fields such as id, client_id, invoicenumber, name, invoice_date, amountdue, and invoicevalue.
- **Get single HaloITSM invoice by ID** (Get). Get a specific invoice in HaloITSM using id. Returns detailed invoice information including key fields describing the invoice record.
- **Create a HaloITSM invoice** (Create). Create or update one or more invoices in HaloITSM. If id is included, the invoice is updated; otherwise, a new invoice is created. Returns details of the created or updated invoices in the response.
- **Delete a HaloITSM invoice by ID** (Delete). Delete an invoice in HaloITSM with the specified id. The response confirms successful deletion of the invoice and its related objects.
- **List all HaloITSM items** (List). List items in HaloITSM. Returns record_count and an array of item objects including key fields like id, name, status, assetgroup_name, quantity_on_order, and pricing details.
- **Get single HaloITSM item by ID** (Get). Get details for a specific item in HaloITSM using id. Returns key item fields in the response root object.
- **Create a HaloITSM item** (Create). Create or update one or more items in HaloITSM. If id is included, updates the existing item; otherwise, creates a new item. Returns root array with item details including id and update status.
- **Delete a HaloITSM item by ID** (Delete). Delete an item in HaloITSM by id. Requires id. The response confirms deletion of the item and related objects.
- **List all HaloITSM knowledge base** (List). List all knowledge-base articles in HaloITSM. Returns an array of articles with key fields containing article metadata and content details.
- **Get single HaloITSM knowledge base by ID** (Get). Get a specific knowledge base article in HaloITSM using id. Returns key fields describing the article such as title, content, and metadata.
- **Create a HaloITSM knowledge base** (Create). Create or update a knowledge base article in HaloITSM. If id is provided, the article is updated; if not, a new article is created. The response returns the created or updated article details including id and key metadata fields.
- **Delete a HaloITSM knowledge base by ID** (Delete). Delete the knowledge base article with the specified id in HaloITSM. Removes the article and related objects. Returns a success status in the response.
- **List all HaloITSM opportunites** (List). List opportunities in HaloITSM. Returns count and an array of opportunity objects in the root field of the response.
- **Get single HaloITSM opportunite by ID** (Get). Get details of a specific opportunity in HaloITSM using id. Returns key fields such as id, summary, details, status_id, client_name, team, opportunity type, value, and related dates providing full opportunity context.
- **Create a HaloITSM opportunite** (Create). Create or update one or more opportunities in HaloITSM. If id is provided, updates the existing opportunity; if not, creates a new one. Returns the updated or newly created opportunity records in the response.
- **Delete a HaloITSM opportunite by ID** (Delete). Delete an opportunity in HaloITSM with the specified id. Returns confirmation of deletion including the removed opportunity details.
- **List all HaloITSM projects** (List). List projects in HaloITSM. Returns count of projects (record_count) and an array of project objects (tickets) containing detailed project information.
- **Get single HaloITSM project by ID** (Get). Get details of a specific project in HaloITSM using id. Returns fields such as id, summary, status_id, client_name, sla_id, priority_id, datecreated, lastactiondate, and more, providing full project information.
- **Create a HaloITSM project** (Create). Create or update one or more projects in HaloITSM. If id is provided, updates an existing project; if not, creates a new one. Returns project details including key fields such as id and name.
- **Delete a HaloITSM project by ID** (Delete). Delete a specific project in HaloITSM with the given id. Deletes the project and related objects. Returns confirmation of successful deletion.
- **List all HaloITSM quotes** (List). List quotes in HaloITSM. Returns the total record_count, pagination details (page_no, page_size), and an array of quote objects containing fields such as id, dateoccurred, summary, client_name, status_id, and priority_id.
- **Get single HaloITSM quote by ID** (Get). Get details for a specific quote in HaloITSM using id. Returns key fields including title, ticket_id, status, po_ref, date, expiry_date, revenue, total, cost, profit, user details, and line items in the response.
- **Create a HaloITSM quote** (Create). Create or update one or more quotes in HaloITSM. If id is provided, the quote is updated; otherwise, a new quote is created. Returns quote details including id, status, and associated information.
- **Delete a HaloITSM quote by ID** (Delete). Delete a specific quote in HaloITSM using the id. Removes the quote and related objects. Returns status 200 on success.
- **List all HaloITSM reports** (List). List reports in HaloITSM. Returns fields including page_no, page_size, record_count, columns_id, columns, and an array of report objects in tickets.
- **Get single HaloITSM report by ID** (Get). Get a specific report in HaloITSM using id. Returns fields such as id, name, sql, reportingperiod, charttitle, charttype, count, client, includesummary, and schedule details in the response.
- **Create a HaloITSM report** (Create). Create or update one or more reports in HaloITSM. If id is provided, updates the existing report; otherwise, creates a new report. Returns details of the reports including their ids and updated information.
- **Delete a HaloITSM report by ID** (Delete). Delete a specific report in HaloITSM using id. The operation removes the report and all related objects. Returns a status 200 response upon successful deletion.
- **List all HaloITSM sites** (List). List Sites in HaloITSM. Returns each site's id, name, client_id, inactive status, phonenumber, sla_id, client_name, colour, and customfields in the response.
- **Get single HaloITSM site by ID** (Get). Get details of a specific site in HaloITSM. Requires id. Returns key fields describing the site, including its configuration and properties.
- **Create a HaloITSM site** (Create). Create or update one or more sites in HaloITSM. If id is included, the site is updated; if not, a new site is created. The response returns details of the processed sites including their identifiers and properties.
- **Delete a HaloITSM site by ID** (Delete). Delete a specific site in HaloITSM using id. Deletes the site and its related objects. Returns confirmation of successful deletion.
- **List all HaloITSM status** (List). List all statuses in HaloITSM. Returns an array of statuses with key fields such as name, id, and type that describe each available status.
- **Get single HaloITSM status by ID** (Get). Get details of a specific status in HaloITSM using id. Returns key fields of the status object such as name, id, and settings relevant to the status configuration.
- **Create a HaloITSM status** (Create). Create or update one or more status in HaloITSM. If id is included, updates existing status; if not, creates new. Returns the list of created or updated statuses in the response.
- **Delete a HaloITSM status by ID** (Delete). Delete a specific status in HaloITSM using id. Deletes the status and related objects. Returns confirmation of deletion in the response.
- **List all HaloITSM suppliers** (List). List suppliers in HaloITSM. Returns an array of suppliers containing key details such as supplier names and identifiers. Requires no path parameters.
- **Get single HaloITSM supplier by ID** (Get). Get details of a specific supplier in HaloITSM using id. Returns key supplier fields such as id, name, contact_name, email_address, phone_number, inactive status, and customfields in the response.
- **Create a HaloITSM supplier** (Create). Create or update one or more suppliers in HaloITSM. If id is included, updates that supplier; otherwise, creates a new supplier. Returns details of created or updated suppliers.
- **Delete a HaloITSM supplier by ID** (Delete). Delete a supplier in HaloITSM using id. This operation removes the supplier and related objects. Returns confirmation of successful deletion.
- **List all HaloITSM ticket types** (List). List all ticket-types in HaloITSM. Returns id, name, ticket_count, use, and sequence for each ticket type.
- **Get single HaloITSM ticket type by ID** (Get). Get a specific ticket type in HaloITSM using id. Returns details including name, ticket_count, workflow_name, approval_process_name, default_team, default_agent_name, default_priority, and related configuration fields.
- **Create a HaloITSM ticket type** (Create). Create or update one or more ticket-types in HaloITSM. If id is provided, updates the existing record; if not, creates a new one. Returns an array of ticket-type objects with their details in the root of the response.
- **Delete a HaloITSM ticket type by ID** (Delete). Delete a specific ticket type in HaloITSM using id. Deletes the ticket type and related objects with the specified id. Returns status 200 upon successful deletion.
- **List all HaloITSM tickets** (List). List tickets in HaloITSM. Returns ticket objects with key fields such as ticket ID, status, client, and SLA details in the response. No required parameters.
- **Get single HaloITSM ticket by ID** (Get). Get details of a specific ticket in HaloITSM using id. Returns key fields such as ticket ID, SLA ID, Status ID, Client ID, Name, and LastIncomingEmailDate.
- **Create a HaloITSM ticket** (Create). Create or update one or more tickets in HaloITSM. If id is included, the ticket is updated; if not, new tickets are created. Returns each ticket's status and details in the response.
- **Delete a HaloITSM ticket by ID** (Delete). Delete a specific ticket in HaloITSM by id. Removes the ticket and related objects. Returns confirmation of deletion in the response.
- **List all HaloITSM attachments** (List). List attachments in HaloITSM using ticket_id. Returns an array of attachments in Base64 format with fields describing file metadata and encoding details.
- **Get single HaloITSM attachment by ID** (Get). Get details of a specific attachment in HaloITSM using id. Returns a single attachment object in Base64 format in the response.
- **Create a HaloITSM attachment** (Create). Create or update one or more attachments in HaloITSM. If id is included, updates the attachment; otherwise, creates a new one. Attachments must be provided in Base64 format. Returns attachment details in response.
- **Delete a HaloITSM attachment by ID** (Delete). Delete an attachment in HaloITSM using id. Removes the attachment and related objects. Returns confirmation of successful deletion in the response.
