HaloPSA API Gateway MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@HaloPSA API Gateway MCP ServerShow me open tickets for MicroTech"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
HaloPSA API Gateway MCP Server
A Model Context Protocol (MCP) server that provides seamless integration with the HaloPSA API. Built for Claude Desktop to interact with HaloPSA — search tickets, manage clients, execute API calls, and more.
Features
🔐 OAuth2 Authentication — Client credentials flow with automatic token refresh
🎫 Smart Ticket Tools — Search, create, update tickets and add actions with dedicated tools
👥 Client & User Management — Search clients, users, agents, sites
📦 Asset Management — Search and manage assets
📋 Project & Contract Tools — Search projects, contracts, invoices
🔧 Generic API Access — Execute any HaloPSA API call with
execute_api_call💾 Fast Memory — Save frequently used queries for instant reuse
📚 Built-in Endpoint Reference — No database or swagger file needed — all 29 endpoints documented inline
Related MCP server: claude-halopsa-mcp
Architecture
Unlike traditional approaches that require downloading a swagger.json and building a database, this server has the complete HaloPSA API endpoint catalog built right in. This means:
No database build step — works immediately after install
No swagger file needed — endpoint reference is always available
Pure Python — no Node.js wrapper layer
Smart tools for common operations + generic tools for anything else
Installation
Prerequisites
Python 3.10+
pippackage manager
Quick Setup
Clone the repo:
git clone https://github.com/jasondsmith72/HALO-PSA-API-Gateway-MCP.git cd HALO-PSA-API-Gateway-MCPInstall dependencies:
pip install -r requirements.txtConfigure Claude Desktop — Add to your
claude_desktop_config.json:{ "mcpServers": { "halo-psa-api": { "command": "python", "args": ["C:/path/to/HALO-PSA-API-Gateway-MCP/halo_api_gateway_server.py"], "env": { "HALO_BASE_URL": "https://yourtenant.halopsa.com", "HALO_CLIENT_ID": "your-client-id", "HALO_CLIENT_SECRET": "your-client-secret", "HALO_TENANT": "yourtenant", "HALO_SCOPE": "all" } } } }Restart Claude Desktop and the MCP server will be available.
Environment Variables
Variable | Required | Description |
| Yes | Your HaloPSA instance URL (e.g. |
| Yes | OAuth2 Client ID from HaloPSA API application |
| Yes | OAuth2 Client Secret |
| No* | Tenant name (required for cloud-hosted instances) |
| No | Override auth token URL (defaults to |
| No | API scope (defaults to |
Getting API Credentials
Login to HaloPSA → Configuration → Integrations → HaloPSA API
Click View Applications → New
Set Authentication Method to
Client ID and Secret (Services)Set Login Type to
Agentand select an agent accountUnder Permissions, set to
all(or configure specific permissions)Save and note your Client ID and Client Secret
Available Tools (22 total)
Smart Tools (High-Level)
Tool | Description |
| Search tickets with filters (client, agent, status, etc.) |
| Get a single ticket by ID |
| Create a new ticket |
| Update an existing ticket |
| Add a note/action to a ticket |
| Search clients/customers |
| Get a single client by ID |
| Search end-users/contacts |
| Search IT assets |
| Search agents/technicians |
| Search projects |
| Search contracts |
| Search invoices |
Generic Tools (Power User)
Tool | Description |
| Execute any HaloPSA API call with full control |
| Send raw API request string (e.g. |
Reference Tools
Tool | Description |
| Browse available API endpoints by category |
| Get detailed info about any endpoint |
Fast Memory Tools
Tool | Description |
| Save a query for quick reuse |
| List saved queries |
| Delete a saved query |
| Clear all saved queries |
Usage Examples
In Claude Desktop, you can ask:
"Show me all open tickets for client ID 42"
"Create a ticket for MicroTech USA about a VPN issue"
"Search for all assets belonging to client 15"
"What agents do we have?"
"Add a note to ticket 1234 saying the issue has been resolved"
"List all HaloPSA API endpoints"
"Show me details about the Tickets endpoint"
"Execute GET /Tickets with open_only=true and count=5"
Project Structure
HALO-PSA-API-Gateway-MCP/
├── halo_api_gateway_server.py # Main entry point
├── requirements.txt # Python dependencies
├── README.md # This file
└── api_gateway/
├── __init__.py
├── server.py # MCP server implementation
├── endpoints.py # Built-in API endpoint reference (29 endpoints)
└── fast_memory_db.py # Fast Memory storageLicense
UNLICENSED — Private use
Author
Jason Smith — MicroTech USA
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Microtechusa/HALO-PSA-API-Gateway-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server