HaloPSA MCP
A Model Context Protocol server that enables AI assistants to interact with HaloPSA via its REST API. It supports managing tickets, clients, assets, contracts, and generating reports. The server uses a hierarchical tool loading architecture to reduce cognitive load and improve performance by exposing domain-specific tools on demand.
Package and access
Local package with source-attributed installation metadata. Koskamo does not execute packages during review.
What you can do with it
- Retrieve and manage support tickets
- View and update client information
- Manage IT assets and contracts
- Generate operational reports
Source and maintenance
- Maintenance checked
Packages and installation
Source-provided package data. Koskamo has not executed or live-probed this package.
ghcr.io/wyre-technology/halopsa-mcp:v1.7.11
{
"transport": "stdio",
"identifier": "ghcr.io/wyre-technology/halopsa-mcp:v1.7.11",
"registryType": "oci",
"environmentVariables": [
{
"name": "HALOPSA_CLIENT_ID",
"format": "string",
"isRequired": true,
"description": "HaloPSA OAuth client ID"
},
{
"name": "HALOPSA_CLIENT_SECRET",
"format": "string",
"isRequired": true,
"description": "HaloPSA OAuth client secret"
},
{
"name": "HALOPSA_TENANT",
"format": "string",
"description": "HaloPSA tenant identifier (subdomain). Provide this or HALOPSA_BASE_URL."
},
{
"name": "HALOPSA_BASE_URL",
"format": "string",
"description": "HaloPSA base URL (e.g. https://your-instance.halopsa.com). Provide this or HALOPSA_TENANT."
},
{
"name": "MCP_TRANSPORT",
"format": "string",
"default": "stdio",
"description": "Transport mode for the server. Set to 'stdio' for local CLI use; the image defaults to 'http' for gateway hosting."
},
{
"name": "AUTH_MODE",
"format": "string",
"default": "env",
"description": "Credential source: 'env' reads vars locally, 'gateway' expects header injection from the WYRE MCP Gateway."
},
{
"name": "LOG_LEVEL",
"format": "string",
"default": "info",
"description": "Log verbosity: debug, info, warn, error"
}
]
}Tools
Reported by the attributed source; not independently observed by Koskamo.
Connect from your client
Each snippet configures the same source-provided package; replace placeholders before use.
Cursor
{
"mcpServers": {
"halopsa-mcp-v1-7-11": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"HALOPSA_CLIENT_ID=<YOUR_HALOPSA_CLIENT_ID>",
"-e",
"HALOPSA_CLIENT_SECRET=<YOUR_HALOPSA_CLIENT_SECRET>",
"-e",
"HALOPSA_TENANT=<YOUR_HALOPSA_TENANT>",
"-e",
"HALOPSA_BASE_URL=<YOUR_HALOPSA_BASE_URL>",
"-e",
"MCP_TRANSPORT=<YOUR_MCP_TRANSPORT>",
"-e",
"AUTH_MODE=<YOUR_AUTH_MODE>",
"-e",
"LOG_LEVEL=<YOUR_LOG_LEVEL>",
"ghcr.io/wyre-technology/halopsa-mcp:v1.7.11"
],
"env": {
"HALOPSA_CLIENT_ID": "<YOUR_HALOPSA_CLIENT_ID>",
"HALOPSA_CLIENT_SECRET": "<YOUR_HALOPSA_CLIENT_SECRET>",
"HALOPSA_TENANT": "<YOUR_HALOPSA_TENANT>",
"HALOPSA_BASE_URL": "<YOUR_HALOPSA_BASE_URL>",
"MCP_TRANSPORT": "<YOUR_MCP_TRANSPORT>",
"AUTH_MODE": "<YOUR_AUTH_MODE>",
"LOG_LEVEL": "<YOUR_LOG_LEVEL>"
}
}
}
}Cline
{
"mcpServers": {
"halopsa-mcp-v1-7-11": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"HALOPSA_CLIENT_ID=<YOUR_HALOPSA_CLIENT_ID>",
"-e",
"HALOPSA_CLIENT_SECRET=<YOUR_HALOPSA_CLIENT_SECRET>",
"-e",
"HALOPSA_TENANT=<YOUR_HALOPSA_TENANT>",
"-e",
"HALOPSA_BASE_URL=<YOUR_HALOPSA_BASE_URL>",
"-e",
"MCP_TRANSPORT=<YOUR_MCP_TRANSPORT>",
"-e",
"AUTH_MODE=<YOUR_AUTH_MODE>",
"-e",
"LOG_LEVEL=<YOUR_LOG_LEVEL>",
"ghcr.io/wyre-technology/halopsa-mcp:v1.7.11"
],
"env": {
"HALOPSA_CLIENT_ID": "<YOUR_HALOPSA_CLIENT_ID>",
"HALOPSA_CLIENT_SECRET": "<YOUR_HALOPSA_CLIENT_SECRET>",
"HALOPSA_TENANT": "<YOUR_HALOPSA_TENANT>",
"HALOPSA_BASE_URL": "<YOUR_HALOPSA_BASE_URL>",
"MCP_TRANSPORT": "<YOUR_MCP_TRANSPORT>",
"AUTH_MODE": "<YOUR_AUTH_MODE>",
"LOG_LEVEL": "<YOUR_LOG_LEVEL>"
}
}
}
}VS Code
{
"servers": {
"halopsa-mcp-v1-7-11": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"HALOPSA_CLIENT_ID=<YOUR_HALOPSA_CLIENT_ID>",
"-e",
"HALOPSA_CLIENT_SECRET=<YOUR_HALOPSA_CLIENT_SECRET>",
"-e",
"HALOPSA_TENANT=<YOUR_HALOPSA_TENANT>",
"-e",
"HALOPSA_BASE_URL=<YOUR_HALOPSA_BASE_URL>",
"-e",
"MCP_TRANSPORT=<YOUR_MCP_TRANSPORT>",
"-e",
"AUTH_MODE=<YOUR_AUTH_MODE>",
"-e",
"LOG_LEVEL=<YOUR_LOG_LEVEL>",
"ghcr.io/wyre-technology/halopsa-mcp:v1.7.11"
],
"env": {
"HALOPSA_CLIENT_ID": "<YOUR_HALOPSA_CLIENT_ID>",
"HALOPSA_CLIENT_SECRET": "<YOUR_HALOPSA_CLIENT_SECRET>",
"HALOPSA_TENANT": "<YOUR_HALOPSA_TENANT>",
"HALOPSA_BASE_URL": "<YOUR_HALOPSA_BASE_URL>",
"MCP_TRANSPORT": "<YOUR_MCP_TRANSPORT>",
"AUTH_MODE": "<YOUR_AUTH_MODE>",
"LOG_LEVEL": "<YOUR_LOG_LEVEL>"
}
}
}
}Claude Desktop
{
"mcpServers": {
"halopsa-mcp-v1-7-11": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"HALOPSA_CLIENT_ID=<YOUR_HALOPSA_CLIENT_ID>",
"-e",
"HALOPSA_CLIENT_SECRET=<YOUR_HALOPSA_CLIENT_SECRET>",
"-e",
"HALOPSA_TENANT=<YOUR_HALOPSA_TENANT>",
"-e",
"HALOPSA_BASE_URL=<YOUR_HALOPSA_BASE_URL>",
"-e",
"MCP_TRANSPORT=<YOUR_MCP_TRANSPORT>",
"-e",
"AUTH_MODE=<YOUR_AUTH_MODE>",
"-e",
"LOG_LEVEL=<YOUR_LOG_LEVEL>",
"ghcr.io/wyre-technology/halopsa-mcp:v1.7.11"
],
"env": {
"HALOPSA_CLIENT_ID": "<YOUR_HALOPSA_CLIENT_ID>",
"HALOPSA_CLIENT_SECRET": "<YOUR_HALOPSA_CLIENT_SECRET>",
"HALOPSA_TENANT": "<YOUR_HALOPSA_TENANT>",
"HALOPSA_BASE_URL": "<YOUR_HALOPSA_BASE_URL>",
"MCP_TRANSPORT": "<YOUR_MCP_TRANSPORT>",
"AUTH_MODE": "<YOUR_AUTH_MODE>",
"LOG_LEVEL": "<YOUR_LOG_LEVEL>"
}
}
}
}Let your agent find its tools
Find servers like HaloPSA MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.