{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.Servosity/halopsa-mcp","description":"HaloPSA ticket triage, SLA-breach pre-emption, and cross-client analytics for any MCP agent.","title":"HaloPSA MCP","repository":{"url":"https://github.com/servosity/msp-skills","source":"github","subfolder":"skills/halopsa"},"version":"0.2.15","icons":[{"src":"https://raw.githubusercontent.com/servosity/msp-skills/main/docs/assets/social/halopsa/halopsa-512x512.png","mimeType":"image/png","sizes":["512x512"]}],"packages":[{"registryType":"mcpb","identifier":"https://github.com/Servosity/msp-skills/releases/download/halopsa-v0.2.15/halopsa-mcp.mcpb","version":"0.2.15","fileSha256":"23a468f8c0178f17bde7b40d39f34503fbe137097a453695aae8cb9884417649","transport":{"type":"stdio"},"environmentVariables":[{"description":"Full API base URL. Leave blank: the CLI builds it from HALOPSA_TENANT and HALOPSA_DOMAIN. Set it only to point at a different host.","name":"HALOPSA_BASE_URL"},{"description":"OAuth2 client_credentials ID from Configuration → Integrations → Halo PSA API.","isRequired":true,"isSecret":true,"name":"HALOPSA_CLIENT_ID"},{"description":"OAuth2 client_credentials secret.","isRequired":true,"isSecret":true,"name":"HALOPSA_CLIENT_SECRET"},{"description":"Domain template variable. Defaults to halopsa.com.","default":"halopsa.com","name":"HALOPSA_DOMAIN"},{"description":"Sets HALOPSA_OAUTH_SCOPE for the HaloPSA MCP server. Required by the generated client for credential refresh or hand-written auth flow.","isRequired":true,"isSecret":true,"name":"HALOPSA_OAUTH_SCOPE"},{"description":"Optional. OAuth2 scope (defaults to \"all\"); set to a narrower scope when your API application requires it","name":"HALOPSA_SCOPE"},{"description":"Your HaloPSA tenant identifier.","isRequired":true,"default":"demo","name":"HALOPSA_TENANT"},{"description":"Optional. Pre-issued Bearer access token. Overrides the client_credentials flow when set.","isSecret":true,"name":"HALOPSA_TOKEN"},{"description":"Token endpoint the client-credentials exchange posts to. Leave blank: the CLI derives it from the base URL.","name":"HALOPSA_TOKEN_URL"},{"description":"Set to 1 to keep credentials off disk. The token cache becomes a no-op, so the connector mints a fresh token each run instead of writing one to config.toml. Leave blank for the default cached behaviour.","name":"HALOPSA_NO_CONFIG_WRITE"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-06T18:57:21.100851Z","publishedAt":"2026-09-06T18:57:21.100851Z","updatedAt":"2026-09-06T18:57:21.100851Z","isLatest":true}}}
