Chatwoot MCP by usefulapi
Read conversations and contacts; add replies or notes, set status and assign in Chatwoot.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (5)
- LOWin chatwoot_assign_conversation
- LOWin chatwoot_get_conversation_counts
- LOWin chatwoot_list_contact_conversations
- LOWin chatwoot_set_conversation_status
- LOWin chatwoot_set_conversation_priority
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"chatwoot": {
"url": "https://chatwoot.usefulapi.io/mcp"
}
}
}Remote-Endpunkte
https://chatwoot.usefulapi.io/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (18)
🟢chatwoot_get_account
Get the configured Chatwoot account: name, locale, features and plan. Chatwoot API: GET /api/v1/accounts/{account_id}.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢chatwoot_list_conversations(status, assignee_type, inbox_id, team_id, labels, ...)
List conversations, 25 per page, filtered by status, assignee, inbox, team, labels or a text query. Chatwoot API: GET /api/v1/accounts/{account_id}/conversations.
Eingabe-Schema
{
"type": "object",
"properties": {
"status": {
"description": "Default open.",
"type": "string",
"enum": [
"all",
"open",
"resolved",
"pending",
"snoozed"
]
},
"assignee_type": {
"description": "Default all.",
"type": "string",
"enum": [
"all",
"assigned",
"unassigned",
"me"
]
},
"inbox_id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"team_id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"labels": {
"description": "Only conversations with all these label titles.",
"type": "array",
"items": {
"type": "string"
}
},
"q": {
"description": "Free-text search.",
"type": "string"
},
"page": {
"description": "Page number, starting at 1.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢chatwoot_get_conversation_counts(status, inbox_id, team_id, q)
Get the open, unassigned and total conversation counts for a status, inbox or team. Chatwoot API: GET /api/v1/accounts/{account_id}/conversations/meta.
Eingabe-Schema
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"all",
"open",
"resolved",
"pending",
"snoozed"
]
},
"inbox_id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"team_id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"q": {
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢chatwoot_get_conversation(conversation_id)
Get one conversation with its status, priority, assignee, team, labels and contact. Chatwoot API: GET .../conversations/{conversation_id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"conversation_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Conversation id (from chatwoot_list_conversations)."
}
},
"required": [
"conversation_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢chatwoot_list_messages(conversation_id, before, after)
List the messages of one conversation, oldest first. Chatwoot API: GET .../conversations/{conversation_id}/messages.
Eingabe-Schema
{
"type": "object",
"properties": {
"conversation_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"before": {
"description": "Only messages with an id below this value.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"after": {
"description": "Only messages with an id above this value.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"conversation_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢chatwoot_list_contacts(page, sort)
List resolved contacts (those with an email, phone number or identifier), 15 per page. Chatwoot API: GET .../contacts.
Eingabe-Schema
{
"type": "object",
"properties": {
"page": {
"description": "Page number, starting at 1.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"sort": {
"type": "string",
"enum": [
"name",
"email",
"phone_number",
"last_activity_at",
"-name",
"-email",
"-phone_number",
"-last_activity_at"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢chatwoot_search_contacts(q, page, sort)
Search resolved contacts by a text key (name, email or phone). Chatwoot API: GET .../contacts/search.
Eingabe-Schema
{
"type": "object",
"properties": {
"q": {
"type": "string",
"minLength": 1,
"description": "Search text."
},
"page": {
"description": "Page number, starting at 1.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"sort": {
"type": "string",
"enum": [
"name",
"email",
"phone_number",
"last_activity_at",
"-name",
"-email",
"-phone_number",
"-last_activity_at"
]
}
},
"required": [
"q"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢chatwoot_get_contact(contact_id)
Get one contact with its attributes, labels and custom attributes. Chatwoot API: GET .../contacts/{id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"contact_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Contact id (from chatwoot_list_contacts or chatwoot_search_contacts)."
}
},
"required": [
"contact_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢chatwoot_list_contact_conversations(contact_id)
List all conversations of one contact. Chatwoot API: GET .../contacts/{id}/conversations.
Eingabe-Schema
{
"type": "object",
"properties": {
"contact_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"contact_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢chatwoot_list_labels
List all labels of the account. Chatwoot API: GET .../labels.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢chatwoot_list_inboxes
List the inboxes (channels) of the account. Chatwoot API: GET .../inboxes.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢chatwoot_list_agents
List the agents of the account with their roles. Chatwoot API: GET .../agents.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢chatwoot_list_teams
List the teams of the account. Chatwoot API: GET .../teams.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢chatwoot_list_canned_responses
List the saved reply templates (canned responses) of the account. Chatwoot API: GET .../canned_responses.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴chatwoot_send_message(conversation_id, content, private)
Add a message to a conversation. Default: a private note that the customer never sees. Set private to false to send a reply that the customer receives by email or chat. Chatwoot API: POST .../conversations/{conversation_id}/messages.
Eingabe-Schema
{
"type": "object",
"properties": {
"conversation_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"content": {
"type": "string",
"minLength": 1,
"description": "The message text."
},
"private": {
"description": "true (default) = internal note; false = customer-visible reply.",
"type": "boolean"
}
},
"required": [
"conversation_id",
"content"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡chatwoot_set_conversation_status(conversation_id, status, snoozed_until)
Set a conversation to open, resolved, pending or snoozed. For snoozed, snoozed_until is a Unix time in seconds (optional). Chatwoot API: POST .../conversations/{conversation_id}/toggle_status.
Eingabe-Schema
{
"type": "object",
"properties": {
"conversation_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"status": {
"type": "string",
"enum": [
"open",
"resolved",
"pending",
"snoozed"
]
},
"snoozed_until": {
"description": "Unix time in seconds; only with status snoozed.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"conversation_id",
"status"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡chatwoot_set_conversation_priority(conversation_id, priority)
Set a conversation priority: urgent, high, medium, low, or none (clears it). Chatwoot API: PATCH .../conversations/{conversation_id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"conversation_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"priority": {
"type": "string",
"enum": [
"urgent",
"high",
"medium",
"low",
"none"
]
}
},
"required": [
"conversation_id",
"priority"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡chatwoot_assign_conversation(conversation_id, assignee_id, team_id)
Assign a conversation to an agent (assignee_id) or to a team (team_id). Give exactly one. Chatwoot API: POST .../conversations/{conversation_id}/assignments.
Eingabe-Schema
{
"type": "object",
"properties": {
"conversation_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"assignee_id": {
"description": "Agent user id (from chatwoot_list_agents).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"team_id": {
"description": "Team id (from chatwoot_list_teams).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"conversation_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Nachweis