TypeScript MCP server exposing 18 tools for querying a Halo PSA instance via OAuth 2.0 Client Credentials: - Tickets / actions (list, get, time entries) - Clients / sites (list, get) - Contracts (list, get — recurring service agreements) - Invoices — both one-off (list, get) and recurring (list, get) - Projects (list, get) - Assets / configuration items (list, get) - Agents, reports (list) - revenue_breakdown — composite tool that cross-references contracts, recurring invoices, and one-off invoices to separate recurring (MRR) from non-recurring revenue per client Build artefacts verified: npm install clean (0 vulnerabilities, 107 pkgs), npm run build produces dist/*.js with no TS errors, server boots and announces 'Halo PSA MCP server running on stdio'. Shipping with Dockerfile (multi-stage, alpine), .env.example, README.md (user-facing), and CLAUDE.md (deployment briefing for downstream Claude Code setup on customer machines). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
21 lines
516 B
JSON
21 lines
516 B
JSON
{
|
|
"name": "halo-psa-mcp",
|
|
"version": "1.0.0",
|
|
"description": "MCP server for Halo PSA — query tickets, clients, contracts, invoices, projects and more",
|
|
"main": "dist/index.js",
|
|
"scripts": {
|
|
"build": "tsc",
|
|
"start": "node dist/index.js",
|
|
"dev": "ts-node src/index.ts"
|
|
},
|
|
"dependencies": {
|
|
"@modelcontextprotocol/sdk": "^1.12.1",
|
|
"node-fetch": "^2.7.0"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "^20.11.0",
|
|
"@types/node-fetch": "^2.6.11",
|
|
"typescript": "^5.3.3"
|
|
}
|
|
}
|