MCP server for PIA API - agents, automations, clients, source control, and file-tree sync
24 tools with consistent naming (verb_noun pattern: list_, get_, activate_, etc.) and present descriptions. However, descriptions are minimal (10-50 chars, well below the 194-char baseline), lack context on WHEN to use each tool, and omit prerequisites. Parameter schemas are properly typed with Zod but descriptions are sparse. Output schemas are undocumented, LLMs cannot predict response structure. Error handling is absent; piaFetch returns raw API responses without recovery guidance. No tool annotations (readOnlyHint/destructiveHint) despite clear risk levels. Composition is sound (single responsibility per tool), but parameter descriptions fail to explain constraints, formats, or dependencies.
Activate a PIA agent
Deactivate a PIA agent
Get activity logs by event correlation ID
Get execution status by event correlation ID
Get activity logs for a package execution
Get execution status of a package instance
Export a PIA repository (agents, automations, clients, source control) to local filesystem
Output schemas completely undocumented. LLMs cannot predict response structure, field names, or types. All 24 tools return JSON via piaFetch but no schema is declared.
Descriptions are minimal (10-50 chars, far below 194-char baseline). They state WHAT but not WHEN to use or prerequisites. E.g., 'List all PIA agents with optional pagination' lacks context on when to call this vs get_agent.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | 2026-07-28+ | v2 |
Get detailed info for a specific PIA agent
Get detailed info for a specific PIA client
Import a PIA repository from local filesystem
List all PIA agents with optional pagination
List all PIA clients with optional pagination
List all local PIA activities in the workspace
List all local PIA forms in the workspace
List all local PIA packages in the workspace
List all PIA SmartForms
List all TechAssist automations
List all currently running PIA automations
Get SmartForms for a specific PIA client
Get SmartForms for a PSA company
Get TechAssist automations for a PIA client
Get TechAssist automations for a PSA company
Trigger a PIA automation package
Uninstall a PIA agent
No error handling or recovery guidance. piaFetch returns raw API errors (status, statusText, body) without actionable next steps. LLMs cannot self-correct or retry intelligently.
No tool annotations despite clear risk levels. pia_uninstall_agent, pia_activate_agent, pia_deactivate_agent, pia_trigger_automation, pia_export_repository, pia_import_repository should declare destructiveHint or idempotentHint.
Parameter descriptions lack format/constraint details. E.g., 'agentId' is described as 'Agent ID' but does not specify if it is numeric, range, or how to discover valid IDs. 'variableInputs' in pia_trigger_automation is 'Array of variable input objects' but structure is undocumented.