{"name":"io.github.Servosity/halopsa-mcp","slug":"servosity-halopsa-mcp","title":"HaloPSA MCP","description":"HaloPSA ticket triage, SLA-breach pre-emption, and cross-client analytics for any MCP agent.","url":"https://mcp.market/server/servosity-halopsa-mcp","rating":null,"grade":"B","score":75,"certified":false,"status":"active","category":"ai","tags":["ai"],"presence":{"score":31,"stars":41,"forks":9,"downloads_week":null,"last_push_at":"2026-09-18T21:32:08.000Z","license":"NOASSERTION"},"uptime":null,"claimed":false,"transport":"mcpb","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/servosity/msp-skills","website":null,"version":"0.2.16","remotes":[],"packages":[{"registryType":"mcpb","identifier":"https://github.com/Servosity/msp-skills/releases/download/halopsa-v0.2.16/halopsa-mcp.mcpb","version":"0.2.16","fileSha256":"9e36e3d0f84c7368beae97e8f85e8a0395a833ed9ca3fc649f4eb194311cf316","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"}]}],"tools":[],"scan":{"score":75,"grade":"B","scanned_at":"2026-09-19T19:11:21.977Z","report":{"scannerVersion":"0.1.5","scannedAt":"2026-09-19T19:11:21.991Z","components":{"code":{"score":-1,"max":25,"notes":["package could not be scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 1 days ago"]},"identity":{"score":9,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[],"repo":{"found":true,"owner":"servosity","repo":"msp-skills","archived":false,"pushedAt":"2026-09-18T21:32:08Z","stars":41,"forks":9,"openIssues":6,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/3374481?v=4","ownerCreatedAt":"2013-01-24T22:07:17Z","license":"NOASSERTION"},"icon":{"url":"https://raw.githubusercontent.com/servosity/msp-skills/main/docs/assets/social/halopsa/halopsa-512x512.png","source":"registry","width":512,"height":512},"presence":{"stars":41,"forks":9,"downloadsWeek":null,"license":"NOASSERTION","lastPushAt":"2026-09-18T21:32:08.000Z","score":31}}}},"grade_history":[],"reviews":[]}