MCP server for Chatwoot - connect Claude to your Chatwoot instance
16 tools with consistent verb-noun naming (list_, get_, create_, update_, delete_). All have descriptions (10-200 chars, within baseline). Input schemas present for all tools with proper JSON Schema types. However, parameter descriptions are minimal (5-20 chars), falling well below the 72-char baseline. Output schemas are not documented, LLMs cannot predict response structure. No error handling guidance. Risk annotations (READ_ONLY, WRITE, DESTRUCTIVE) are present but not exposed in tool definitions. Missing idempotency and chaining-ID guidance.
Create a new agent bot. Requires name and outgoing_url. Optional: description, bot_type.
Delete an agent bot by ID.
Get the current account details including name, locale, domain, and settings.
Get detailed information about a specific agent bot.
Get the authenticated user's profile information.
Get detailed information about a specific team.
Output schemas not documented. LLMs cannot predict response structure, forcing them to guess field names for downstream tool calls. Breaks tool chaining.
Parameter descriptions are minimal (5-20 chars), far below 72-char baseline. E.g., 'team_id' has description 'The ID of the team' (18 chars). Missing format hints, constraints, and dependency documentation.
No pagination guidance for list tools. list_audit_logs accepts 'page' but no limit/offset, total_count, or next_cursor documented. Large result sets risk context window exhaustion.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2026-07-28+ | v2 |
List all agent bots in the account.
List all agents in the Chatwoot account.
List audit log entries showing who did what and when. Supports pagination.
List all agents assigned to a specific inbox.
List all inboxes (channels) in the Chatwoot account.
List all labels available in the Chatwoot account.
List all agents in a specific team.
List all teams in the Chatwoot account.
Update the current account's name, locale, domain, support email, or auto_resolve_after (minutes of inactivity before a conversation auto-resolves). Provide only the fields you want to change.
Update an agent bot. Provide only fields you want to change.
No error handling guidance. Tools lack recovery hints (e.g., 'If team not found, call list_teams() first'). LLMs cannot self-correct on failures.
Risk annotations (READ_ONLY, WRITE, DESTRUCTIVE) are metadata but not exposed in tool definitions. LLMs cannot see which tools are safe to retry or have side effects.