Interact with PulseAgent — AI digital workforce platform. Manage agents, CRM contacts, pipelines, and SDR trials.
Server has 6 tools with clear verb-noun naming (list_*, create_*, get_*) and reasonable descriptions (avg ~120 chars). All tools have input schemas with typed parameters and descriptions. However, output schemas are not formally documented, responses are inferred from code. Parameter descriptions lack constraints (enums, ranges, formats). Error handling is minimal: HTTP errors are raised but not caught with recovery guidance. No tool annotations (readOnlyHint, destructiveHint). Missing pagination documentation for list_crm_contacts despite accepting page/size params. Overall: functional but below production baseline.
Send a message to an agent and get a response. Creates a new chat session and sends the message. Returns the agent's reply.
Create a new CRM contact.
Get CRM pipeline statistics. Returns total contacts, total deals, and a breakdown by pipeline stage with count and value for each stage.
Check SDR (Sales Development Representative) trial status. Returns the current state of the WhatsApp SDR trial for your tenant, including status, endpoint, expiration, and days remaining.
List all AI digital workers (agents) for the current tenant. Returns a list of agents with their id, name, type, status, model, and description.
List CRM contacts with optional filters.
Output schemas not documented. Code infers responses (e.g., list_agents returns dict with id/name/type/status/model/description), but no formal schema definition visible. LLMs cannot plan downstream tool calls without knowing response structure.
Parameter constraints missing. list_crm_contacts accepts 'source' (e.g., 'linkedin', 'website', 'referral') but no enum declared. create_crm_contact accepts 'source' with examples in description, not formal constraints. LLMs may hallucinate invalid values.
Error handling lacks recovery guidance. HTTP errors (r.raise_for_status()) are raised but not caught. No error messages tell the LLM what to do next (e.g., 'Agent not found. Try list_agents() first'). chat_with_agent has a fallback but no structured error response.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
No tool annotations. Tools lack readOnlyHint (list_*, get_*) and destructiveHint (create_*). MCP spec supports these; absence means clients cannot infer safety properties or warn users before destructive calls.
Pagination not documented. list_crm_contacts accepts page/size params and returns total/page, but description does not explain pagination behavior, max page size (100), or when to use pagination. Users may not know results are capped.