@wilnertech/halopsa-mcp-server 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +3 -4
- package/LICENSE +1 -1
- package/README.md +44 -109
- package/dist/api/client.js +2 -2
- package/dist/api/client.js.map +1 -1
- package/dist/api/errors.js +1 -1
- package/dist/api/errors.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/schemas/common.d.ts +1 -1
- package/dist/schemas/common.js +1 -1
- package/dist/types/halopsa.d.ts +1 -1
- package/dist/types/halopsa.js +1 -1
- package/package.json +7 -7
package/.env.example
CHANGED
|
@@ -9,10 +9,9 @@ HALOPSA_CLIENT_ID=your-client-id-here
|
|
|
9
9
|
# HaloPSA OAuth2 Client Secret (required)
|
|
10
10
|
HALOPSA_CLIENT_SECRET=your-client-secret-here
|
|
11
11
|
|
|
12
|
-
# HaloPSA Base URL (
|
|
13
|
-
#
|
|
14
|
-
|
|
15
|
-
HALOPSA_BASE_URL=https://support.wilnertech.com
|
|
12
|
+
# HaloPSA Base URL (required)
|
|
13
|
+
# Your HaloPSA instance URL (e.g., https://your-instance.halopsa.com)
|
|
14
|
+
HALOPSA_BASE_URL=https://your-instance.halopsa.com
|
|
16
15
|
|
|
17
16
|
# Test Client ID (required for smoke tests only)
|
|
18
17
|
# A client ID to scope test resource creation/cleanup
|
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -1,111 +1,79 @@
|
|
|
1
1
|
# HaloPSA MCP Server
|
|
2
2
|
|
|
3
|
-
Model Context Protocol server for HaloPSA API integration
|
|
3
|
+
Model Context Protocol server for HaloPSA API integration with asset, user, and site management.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Key Features
|
|
6
6
|
|
|
7
|
-
**
|
|
7
|
+
- **31 tools** for managing HaloPSA assets, users, sites, clients, and reference data
|
|
8
|
+
- **Deduplication** with confidence scoring to prevent duplicate billing entities
|
|
9
|
+
- **OAuth2 Client Credentials** authentication with automatic token refresh
|
|
10
|
+
- **Rate limiting** with exponential backoff (60 requests/minute)
|
|
11
|
+
- **In-memory caching** with configurable TTLs and cache prewarm on startup
|
|
12
|
+
- **Inflight request dedup** prevents concurrent duplicate API calls
|
|
13
|
+
- **Token optimization** via format_options (compact/standard/detailed modes)
|
|
14
|
+
|
|
15
|
+
## Important: Billing Context
|
|
16
|
+
|
|
17
|
+
HaloPSA asset and user counts are commonly used for billing calculations in MSP environments.
|
|
8
18
|
|
|
9
|
-
- **Accurate data = Accurate billing = Revenue protection**
|
|
10
|
-
- **Duplicates = Billing errors = Revenue loss**
|
|
11
19
|
- **Only ACTIVE assets (status_id=1) count toward billing**
|
|
12
20
|
- **Only ACTIVE users (inactive=false) count toward billing**
|
|
21
|
+
- **Duplicates = Billing errors** — use the deduplication tools before creating new records
|
|
13
22
|
|
|
14
|
-
##
|
|
23
|
+
## Installation
|
|
15
24
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
- In-memory caching with configurable TTLs
|
|
20
|
-
- Token optimization via format_options (compact/standard/detailed modes)
|
|
21
|
-
- Deduplication tools with confidence scoring
|
|
22
|
-
- Custom field inspection for assets
|
|
25
|
+
```bash
|
|
26
|
+
npm install halopsa-mcp-server
|
|
27
|
+
```
|
|
23
28
|
|
|
24
|
-
|
|
29
|
+
Or from source:
|
|
25
30
|
|
|
26
31
|
```bash
|
|
27
|
-
|
|
32
|
+
git clone https://github.com/SuperGaco/halopsa-mcp-server.git
|
|
33
|
+
cd halopsa-mcp-server
|
|
28
34
|
npm install
|
|
29
35
|
npm run build
|
|
30
36
|
```
|
|
31
37
|
|
|
32
38
|
## Configuration
|
|
33
39
|
|
|
34
|
-
### HaloPSA API Agent Setup (Security Best Practice)
|
|
35
|
-
|
|
36
|
-
**WilnerTech uses a dedicated API-only agent for Claude MCP integration** following HaloPSA security best practices:
|
|
37
|
-
|
|
38
|
-
1. **Create Dedicated Agent in HaloPSA:**
|
|
39
|
-
- Navigate to: Configuration > Agents & Teams > Agents
|
|
40
|
-
- Create new agent: `claude_mcp` (API-only account)
|
|
41
|
-
- Agent Type: API Only
|
|
42
|
-
- Status: Active
|
|
43
|
-
- Generate OAuth2 Client Credentials
|
|
44
|
-
|
|
45
|
-
2. **Security Benefits:**
|
|
46
|
-
- **Audit Trail:** All API actions appear under `claude_mcp` agent in HaloPSA audit logs
|
|
47
|
-
- **Principle of Least Privilege:** Grant only necessary permissions (read-only for Phase 1)
|
|
48
|
-
- **Easy Revocation:** Disable `claude_mcp` agent to immediately terminate MCP access
|
|
49
|
-
- **No Personal Credential Exposure:** Keeps personal HaloPSA accounts separate from automation
|
|
50
|
-
|
|
51
|
-
3. **Configure Permissions (Minimal Approach):**
|
|
52
|
-
|
|
53
|
-
**Phase 1 - Read-Only Inspection (✅ Current):**
|
|
54
|
-
- `read:assets` - Asset inspection, custom field analysis, deduplication
|
|
55
|
-
- `read:customers` - User/site/client inspection and deduplication (includes sites and clients)
|
|
56
|
-
|
|
57
|
-
**What Works with Phase 1 Permissions:**
|
|
58
|
-
- ✅ All asset inspection tools (list, search, get, batch)
|
|
59
|
-
- ✅ Asset deduplication tools (find matches, scan duplicates)
|
|
60
|
-
- ✅ Custom field analysis tools
|
|
61
|
-
- ✅ All user/site/client inspection tools
|
|
62
|
-
- ✅ User/site deduplication tools
|
|
63
|
-
- ✅ Reference data tools (asset types, statuses)
|
|
64
|
-
|
|
65
|
-
**Phase 2 - Write Operations (When Ready):**
|
|
66
|
-
- `edit:assets` - Enables create/update/delete asset operations (3 tools)
|
|
67
|
-
- `edit:customers` - Enables create/update user/site operations (4 tools)
|
|
68
|
-
|
|
69
|
-
**Note:** Start minimal and expand permissions as needed. All 31 tools are implemented; write operations will return permission errors until Phase 2 permissions are granted.
|
|
70
|
-
|
|
71
40
|
### Environment Variables
|
|
72
41
|
|
|
73
42
|
| Variable | Required | Description |
|
|
74
43
|
|----------|----------|-------------|
|
|
75
|
-
| `HALOPSA_CLIENT_ID` | Yes | OAuth2 Client ID
|
|
76
|
-
| `HALOPSA_CLIENT_SECRET` | Yes | OAuth2 Client Secret
|
|
77
|
-
| `HALOPSA_BASE_URL` |
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
44
|
+
| `HALOPSA_CLIENT_ID` | Yes | OAuth2 Client ID |
|
|
45
|
+
| `HALOPSA_CLIENT_SECRET` | Yes | OAuth2 Client Secret |
|
|
46
|
+
| `HALOPSA_BASE_URL` | Yes | Your HaloPSA instance URL (e.g., `https://your-instance.halopsa.com`) |
|
|
47
|
+
|
|
48
|
+
### HaloPSA API Setup
|
|
49
|
+
|
|
50
|
+
1. In HaloPSA, navigate to **Configuration > Integrations > API Applications**
|
|
51
|
+
2. Create a new application with OAuth2 Client Credentials
|
|
52
|
+
3. Grant appropriate permissions:
|
|
53
|
+
- `read:assets` and `read:customers` for read-only access
|
|
54
|
+
- `edit:assets` and `edit:customers` for write operations
|
|
55
|
+
4. Note the Client ID and Client Secret
|
|
86
56
|
|
|
87
57
|
### Claude Desktop Configuration
|
|
88
58
|
|
|
89
|
-
Add to
|
|
59
|
+
Add to your Claude Desktop config:
|
|
90
60
|
|
|
91
61
|
```json
|
|
92
62
|
{
|
|
93
63
|
"mcpServers": {
|
|
94
64
|
"halopsa": {
|
|
95
65
|
"command": "node",
|
|
96
|
-
"args": ["
|
|
66
|
+
"args": ["path/to/halopsa-mcp-server/dist/index.js"],
|
|
97
67
|
"env": {
|
|
98
|
-
"HALOPSA_CLIENT_ID": "
|
|
99
|
-
"HALOPSA_CLIENT_SECRET": "
|
|
100
|
-
"HALOPSA_BASE_URL": "https://
|
|
68
|
+
"HALOPSA_CLIENT_ID": "your_client_id",
|
|
69
|
+
"HALOPSA_CLIENT_SECRET": "your_client_secret",
|
|
70
|
+
"HALOPSA_BASE_URL": "https://your-instance.halopsa.com"
|
|
101
71
|
}
|
|
102
72
|
}
|
|
103
73
|
}
|
|
104
74
|
}
|
|
105
75
|
```
|
|
106
76
|
|
|
107
|
-
**Security Note:** These credentials are for the dedicated `claude_mcp` agent, not personal credentials. All actions are audited under the `claude_mcp` agent in HaloPSA.
|
|
108
|
-
|
|
109
77
|
## Tools Reference
|
|
110
78
|
|
|
111
79
|
### Asset Tools (11)
|
|
@@ -197,16 +165,6 @@ Add to `%APPDATA%\Claude\claude_desktop_config.json` (Windows) or `~/Library/App
|
|
|
197
165
|
| Fuzzy name only | 85% | Manual review |
|
|
198
166
|
| No match | 0% | Create new |
|
|
199
167
|
|
|
200
|
-
## Caching TTLs
|
|
201
|
-
|
|
202
|
-
| Data Type | TTL | Rationale |
|
|
203
|
-
|-----------|-----|-----------|
|
|
204
|
-
| Assets | 1 min | Billing-critical, frequent changes |
|
|
205
|
-
| Users | 1 min | Billing-critical, frequent changes |
|
|
206
|
-
| Sites | 5 min | Moderate change rate |
|
|
207
|
-
| Clients | 5 min | Moderate change rate |
|
|
208
|
-
| Reference data | 1 hour | Rarely changes |
|
|
209
|
-
|
|
210
168
|
## Token Optimization
|
|
211
169
|
|
|
212
170
|
All tools support `format_options` for reducing response size:
|
|
@@ -233,38 +191,15 @@ All tools support `format_options` for reducing response size:
|
|
|
233
191
|
- **Retry:** Exponential backoff on 429 errors (1s, 2s, 4s)
|
|
234
192
|
- **Token refresh:** 5 minutes before expiration
|
|
235
193
|
|
|
236
|
-
## Error Handling
|
|
237
|
-
|
|
238
|
-
The server provides detailed error responses:
|
|
239
|
-
|
|
240
|
-
```json
|
|
241
|
-
{
|
|
242
|
-
"error": true,
|
|
243
|
-
"error_type": "RateLimitExceeded",
|
|
244
|
-
"message": "HaloPSA API rate limit exceeded",
|
|
245
|
-
"details": {
|
|
246
|
-
"retry_after_seconds": 30
|
|
247
|
-
},
|
|
248
|
-
"suggestion": "Wait 30 seconds before retrying."
|
|
249
|
-
}
|
|
250
|
-
```
|
|
251
|
-
|
|
252
194
|
## Development
|
|
253
195
|
|
|
254
196
|
```bash
|
|
255
|
-
# Build
|
|
256
|
-
npm run
|
|
257
|
-
|
|
258
|
-
#
|
|
259
|
-
npm run dev
|
|
260
|
-
|
|
261
|
-
# Start server
|
|
262
|
-
npm start
|
|
197
|
+
npm run build # Build
|
|
198
|
+
npm run dev # Watch mode
|
|
199
|
+
npm start # Start server
|
|
200
|
+
npm run test:smoke # Run smoke tests (requires live API credentials)
|
|
263
201
|
```
|
|
264
202
|
|
|
265
|
-
##
|
|
203
|
+
## License
|
|
266
204
|
|
|
267
|
-
|
|
268
|
-
- [HaloPSA API Agent](/.claude/agents/halopsa-api-agent.md)
|
|
269
|
-
- [ITGlue MCP Server](/.claude/mcp-servers/itglue/) (reference implementation)
|
|
270
|
-
- [Official HaloPSA API Docs](https://halo.haloservicedesk.com/apidoc/index.html)
|
|
205
|
+
MIT
|
package/dist/api/client.js
CHANGED
|
@@ -30,13 +30,13 @@ export class HaloPSAAPIClient {
|
|
|
30
30
|
this.maxRetries = config.maxRetries ?? 3;
|
|
31
31
|
this.retryDelay = config.retryDelay ?? 1000;
|
|
32
32
|
// Create auth client (for token requests)
|
|
33
|
-
// Auth server is at: baseUrl/auth (e.g., https://
|
|
33
|
+
// Auth server is at: baseUrl/auth (e.g., https://your-instance.halopsa.com/auth)
|
|
34
34
|
this.authClient = axios.create({
|
|
35
35
|
baseURL: `${this.baseUrl}/auth`,
|
|
36
36
|
timeout: 30000,
|
|
37
37
|
});
|
|
38
38
|
// Create API client (for data requests)
|
|
39
|
-
// Resource server is at: baseUrl/api (e.g., https://
|
|
39
|
+
// Resource server is at: baseUrl/api (e.g., https://your-instance.halopsa.com/api)
|
|
40
40
|
this.client = axios.create({
|
|
41
41
|
baseURL: `${this.baseUrl}/api`,
|
|
42
42
|
headers: {
|
package/dist/api/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAoC,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,YAAY,GACb,MAAM,aAAa,CAAC;AAuBrB,MAAM,OAAO,gBAAgB;IACnB,MAAM,CAAgB;IACtB,UAAU,CAAgB;IAC1B,QAAQ,CAAS;IACjB,YAAY,CAAS;IACrB,OAAO,CAAS;IAChB,UAAU,CAAS;IACnB,UAAU,CAAS;IAE3B,mBAAmB;IACX,WAAW,GAAkB,IAAI,CAAC;IAClC,cAAc,GAAW,CAAC,CAAC;IAC3B,kBAAkB,GAAW,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,sCAAsC;IAE1F,gBAAgB;IACR,YAAY,GAAW,CAAC,CAAC;IACzB,eAAe,GAAW,CAAC,CAAC;IACnB,oBAAoB,GAAG,IAAI,CAAC,CAAC,2CAA2C;IAEzF,iCAAiC;IACzB,QAAQ,GAAkC,IAAI,GAAG,EAAE,CAAC;IAE5D,YAAY,MAA2B;QACrC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC;QAE5C,0CAA0C;QAC1C,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
|
package/dist/api/errors.js
CHANGED
|
@@ -62,7 +62,7 @@ export function createAuthError(message = 'Authentication failed') {
|
|
|
62
62
|
return new HaloPSAError('AuthError', message, {
|
|
63
63
|
auth_method: 'OAuth2 Client Credentials',
|
|
64
64
|
}, 'Verify your HALOPSA_CLIENT_ID and HALOPSA_CLIENT_SECRET environment variables are correct. ' +
|
|
65
|
-
'
|
|
65
|
+
'Verify your HALOPSA_CLIENT_ID and HALOPSA_CLIENT_SECRET environment variables.', 401);
|
|
66
66
|
}
|
|
67
67
|
/**
|
|
68
68
|
* Create token expired error
|
package/dist/api/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/api/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAgBH,MAAM,OAAO,YAAa,SAAQ,KAAK;IAE5B;IAEA;IACA;IACA;IALT,YACS,SAAoB,EAC3B,OAAe,EACR,OAAsB,EACtB,UAAmB,EACnB,UAAmB;QAE1B,KAAK,CAAC,OAAO,CAAC,CAAC;QANR,cAAS,GAAT,SAAS,CAAW;QAEpB,YAAO,GAAP,OAAO,CAAe;QACtB,eAAU,GAAV,UAAU,CAAS;QACnB,eAAU,GAAV,UAAU,CAAS;QAG1B,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO;YACL,KAAK,EAAE,IAAI;YACX,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;YAC9C,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;YACvD,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;SACzD,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,aAAqB,EAAE;IAC1D,OAAO,IAAI,YAAY,CACrB,mBAAmB,EACnB,iCAAiC,EACjC;QACE,mBAAmB,EAAE,UAAU;QAC/B,aAAa,EAAE,iBAAiB;QAChC,YAAY,EAAE,UAAU;KACzB,EACD,QAAQ,UAAU,6GAA6G,EAC/H,GAAG,CACJ,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,YAAoB,EACpB,UAAkB,EAClB,QAAgB;IAEhB,OAAO,IAAI,YAAY,CACrB,UAAU,EACV,GAAG,YAAY,aAAa,UAAU,aAAa,EACnD;QACE,aAAa,EAAE,YAAY;QAC3B,WAAW,EAAE,UAAU;QACvB,QAAQ;KACT,EACD,cAAc,YAAY,iGAAiG,EAC3H,GAAG,CACJ,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,UAAkB,uBAAuB;IACvE,OAAO,IAAI,YAAY,CACrB,WAAW,EACX,OAAO,EACP;QACE,WAAW,EAAE,2BAA2B;KACzC,EACD,6FAA6F;QAC7F
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/api/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* HaloPSA MCP Server v1.0
|
|
4
4
|
* Provides direct API access to HaloPSA for Claude Code with token optimization
|
|
5
5
|
*
|
|
6
|
-
* CRITICAL: HaloPSA is
|
|
6
|
+
* CRITICAL: HaloPSA is commonly used as a billing backbone
|
|
7
7
|
* - Asset/user counts determine client charges
|
|
8
8
|
* - Accuracy is essential for revenue protection
|
|
9
9
|
* - Deduplication prevents billing errors
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* HaloPSA MCP Server v1.0
|
|
4
4
|
* Provides direct API access to HaloPSA for Claude Code with token optimization
|
|
5
5
|
*
|
|
6
|
-
* CRITICAL: HaloPSA is
|
|
6
|
+
* CRITICAL: HaloPSA is commonly used as a billing backbone
|
|
7
7
|
* - Asset/user counts determine client charges
|
|
8
8
|
* - Accuracy is essential for revenue protection
|
|
9
9
|
* - Deduplication prevents billing errors
|
|
@@ -21,7 +21,11 @@ import { prewarmCache } from './cache/prewarm.js';
|
|
|
21
21
|
// =============================================================================
|
|
22
22
|
const HALOPSA_CLIENT_ID = process.env.HALOPSA_CLIENT_ID;
|
|
23
23
|
const HALOPSA_CLIENT_SECRET = process.env.HALOPSA_CLIENT_SECRET;
|
|
24
|
-
const HALOPSA_BASE_URL = process.env.HALOPSA_BASE_URL
|
|
24
|
+
const HALOPSA_BASE_URL = process.env.HALOPSA_BASE_URL;
|
|
25
|
+
if (!HALOPSA_BASE_URL) {
|
|
26
|
+
console.error('Error: HALOPSA_BASE_URL environment variable is required');
|
|
27
|
+
process.exit(1);
|
|
28
|
+
}
|
|
25
29
|
if (!HALOPSA_CLIENT_ID) {
|
|
26
30
|
console.error('Error: HALOPSA_CLIENT_ID environment variable is required');
|
|
27
31
|
process.exit(1);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,gFAAgF;AAChF,kCAAkC;AAClC,gFAAgF;AAEhF,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;AACxD,MAAM,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;AAChE,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/schemas/common.d.ts
CHANGED
|
@@ -195,7 +195,7 @@ export declare const AssetStatusId: {
|
|
|
195
195
|
};
|
|
196
196
|
/**
|
|
197
197
|
* Confidence thresholds for deduplication
|
|
198
|
-
*
|
|
198
|
+
* Deduplication confidence thresholds
|
|
199
199
|
*/
|
|
200
200
|
export declare const ConfidenceThresholds: {
|
|
201
201
|
readonly ASSET_SERIAL_EXACT: 1;
|
package/dist/schemas/common.js
CHANGED
package/dist/types/halopsa.d.ts
CHANGED
package/dist/types/halopsa.js
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wilnertech/halopsa-mcp-server",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "Model Context Protocol server for HaloPSA API integration
|
|
3
|
+
"version": "1.0.1",
|
|
4
|
+
"description": "Model Context Protocol server for HaloPSA API integration with asset, user, and site management",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"bin": {
|
|
@@ -43,17 +43,17 @@
|
|
|
43
43
|
"halopsa",
|
|
44
44
|
"api",
|
|
45
45
|
"psa",
|
|
46
|
-
"
|
|
46
|
+
"claude"
|
|
47
47
|
],
|
|
48
|
-
"author": "
|
|
48
|
+
"author": "Yisroel Wilner",
|
|
49
49
|
"license": "MIT",
|
|
50
50
|
"repository": {
|
|
51
51
|
"type": "git",
|
|
52
|
-
"url": "https://github.com/
|
|
52
|
+
"url": "https://github.com/SuperGaco/halopsa-mcp-server.git"
|
|
53
53
|
},
|
|
54
|
-
"homepage": "https://github.com/
|
|
54
|
+
"homepage": "https://github.com/SuperGaco/halopsa-mcp-server#readme",
|
|
55
55
|
"bugs": {
|
|
56
|
-
"url": "https://github.com/
|
|
56
|
+
"url": "https://github.com/SuperGaco/halopsa-mcp-server/issues"
|
|
57
57
|
},
|
|
58
58
|
"publishConfig": {
|
|
59
59
|
"access": "public"
|