Skip to main content
Glama
mohnori

Chatwoot MCP Server

by mohnori

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CHATWOOT_EMAILNoEmail for JWT auth (alternative method)
CHATWOOT_BASE_URLYesYour Chatwoot instance URL (no trailing slash)
CHATWOOT_PASSWORDNoPassword for JWT auth (needed for token refresh)
CHATWOOT_API_TOKENNoAPI access token (recommended method)
CHATWOOT_ACCOUNT_IDYesYour Chatwoot account ID (numeric)

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
chatwoot_list_conversationsA

List conversations from a Chatwoot account with filtering options.

This tool retrieves conversations from Chatwoot, allowing you to filter by status, assignee, and inbox. Supports pagination for large result sets.

Args:

  • page (number): Page number for pagination, starts at 1 (default: 1)

  • status (string): Filter by conversation status - "open", "resolved", "pending", "snoozed", or "all" (default: "open")

  • assignee_type (string): Filter by assignee - "me", "unassigned", or "all" (optional)

  • inbox_id (number): Filter by specific inbox ID (optional)

  • response_format (string): Output format - "markdown" or "json" (default: "markdown")

Returns: A list of conversations with details including:

  • Conversation ID, status, and inbox

  • Contact information (name, email)

  • Assignee details

  • Message count and unread count

  • Last activity timestamp

Examples:

  • List all open conversations: { status: "open" }

  • List unassigned conversations: { assignee_type: "unassigned" }

  • List conversations in specific inbox: { inbox_id: 5 }

chatwoot_get_conversationA

Get detailed information about a specific Chatwoot conversation.

This tool retrieves full details for a single conversation including contact info, assignee, labels, and custom attributes.

Args:

  • conversation_id (number): The ID of the conversation to retrieve (required)

  • response_format (string): Output format - "markdown" or "json" (default: "markdown")

Returns: Full conversation details including:

  • Status, inbox, and metadata

  • Complete contact information

  • Assignee details

  • Labels and custom attributes

  • Message statistics

Examples:

  • Get conversation details: { conversation_id: 123 }

chatwoot_list_messagesA

List all messages in a Chatwoot conversation.

This tool retrieves all messages from a specific conversation, including message content, sender information, timestamps, and attachments.

Args:

  • conversation_id (number): The ID of the conversation (required)

  • response_format (string): Output format - "markdown" or "json" (default: "markdown")

Returns: List of messages with:

  • Message ID and content

  • Message type (incoming/outgoing)

  • Sender information (name, type)

  • Timestamp

  • Attachment information

  • Private flag (for internal notes)

Examples:

  • List all messages: { conversation_id: 123 }

chatwoot_create_messageA

Create a new message in a Chatwoot conversation.

This tool sends a message in an existing conversation. Can be used for outgoing messages to customers or private internal notes.

Args:

  • conversation_id (number): The ID of the conversation (required)

  • content (string): The message content (required)

  • message_type (string): Type of message - "outgoing" or "incoming" (default: "outgoing")

  • private (boolean): Whether this is a private internal note (default: false)

Returns: Created message details including ID and confirmation

Examples:

  • Send a reply: { conversation_id: 123, content: "Thank you for contacting us!" }

  • Add internal note: { conversation_id: 123, content: "Customer called for follow-up", private: true }

chatwoot_filter_conversationsA

Filter conversations using advanced criteria including date ranges, status, assignee, and labels.

This tool uses Chatwoot's filter API to find conversations by creation date, last activity date, status, and more. Supports pagination (25 results per page) or auto-pagination to fetch all results at once.

IMPORTANT - Date format must be YYYY-MM-DD only (no time component). Date filters use exclusive boundaries: date_from='2026-02-20' means conversations created AFTER Feb 20 (i.e., Feb 21+). For a single day like Feb 21: use date_from='2026-02-20' and date_to='2026-02-22'.

Args:

  • date_from (string): Start date YYYY-MM-DD - conversations created after this date (optional)

  • date_to (string): End date YYYY-MM-DD - conversations created before this date (optional)

  • activity_from (string): Filter by last activity after this date YYYY-MM-DD (optional)

  • activity_to (string): Filter by last activity before this date YYYY-MM-DD (optional)

  • status (string): Filter by status - "open", "resolved", "pending", "snoozed" (optional)

  • assignee_id (number): Filter by assignee agent ID (optional)

  • inbox_id (number): Filter by inbox ID (optional)

  • label (string): Filter by label name (optional)

  • all_pages (boolean): Fetch ALL pages automatically, returns every matching conversation (default: false)

  • page (number): Page number, 25 results per page - ignored when all_pages is true (default: 1)

  • response_format (string): "markdown" or "json" (default: "markdown")

Returns: Filtered conversations with meta counts (all_count, mine_count, unassigned_count, assigned_count).

Examples:

  • Get all conversations from Feb 21: { date_from: "2026-02-20", date_to: "2026-02-22" }

  • Get ALL conversations from a date range: { date_from: "2026-02-17", date_to: "2026-03-21", all_pages: true }

  • Get resolved conversations from Feb 21: { date_from: "2026-02-20", date_to: "2026-02-22", status: "resolved" }

  • Get conversations with activity on Feb 21: { activity_from: "2026-02-20", activity_to: "2026-02-22" }

  • Get open conversations with a label: { status: "open", label: "urgent" }

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mohnori/chatwoot-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server