Model Context Protocol server for ConnectWise Manage API
Server has 10 tools with basic schemas and descriptions, but significant gaps prevent production use. Tool names follow verb_noun convention (good), but descriptions are generic (avg 45 chars, well below 194-char baseline). Most parameters lack descriptions entirely. No output schemas documented. Error handling is minimal, errors return raw messages without recovery guidance. Schemas present but incomplete: many parameters undescribed, no enums for constrained inputs, no pagination metadata. The codebase mixes mcp-server.js (STDIO) and src/client.ts (TypeScript), suggesting incomplete migration. Overall: functional but well below production baseline.
Create a new ticket
Get service boards
Get a specific company by ID
Get a specific contact by ID
Get members
Get a service ticket by ID
Search for companies in ConnectWise Manage
Search for contacts
No output schemas documented. LLMs cannot predict response structure, forcing them to guess field names and types. This breaks downstream tool chaining and increases hallucination risk.
Parameter descriptions missing or trivial. 'Conditions to filter tickets' does not explain the ConnectWise query format, syntax, or examples. LLMs cannot construct valid queries without guidance.
No pagination guidance in search tools. Results default to 25 items; no indication of total count, next_cursor, or max results. Large result sets will blow context windows.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 40 | 2026-07-28+ | v2 |
Search for service tickets in ConnectWise Manage
Update an existing ticket
Error handling returns raw exception messages ('Error searching tickets: error.message') without recovery guidance. LLMs cannot determine if errors are retryable or require user intervention.
No input validation or enum constraints. 'status' and 'priority' accept arbitrary objects; no guidance on valid IDs or structure. LLMs will hallucinate invalid values.