# Odichat (remote · mcp.odichat.app)

Manage your Odichat WhatsApp/IG/FB inbox from Claude: conversations, contacts, pipeline, reports.

- Trust score: 0/100 (low)
- Change this week: −63
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-03

## Components

- remote · `mcp.odichat.app`: 0/100 (this document), [markdown](https://verifymcp.io/servers/odichat-mcp-odichat/mcp.md), [page](https://verifymcp.io/servers/odichat-mcp-odichat/mcp)

## Channel facts

- Endpoint: `https://mcp.odichat.app/mcp?token={token}`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-03.

- **Endpoint Security**: 0/100
  - TLS not yet verified: the listed URL is a template whose token variable has no value or default, so there was no address for us to check.
  - Authorisation not yet verified: the listed URL is a template whose token variable has no value or default, so there was no address for us to check.
  - HTTPS not yet verified: the listed URL is a template whose token variable has no value or default, so there was no address for us to check.
  - HSTS not yet verified: the listed URL is a template whose token variable has no value or default, so there was no address for us to check.
  - DNSSEC not yet verified: the listed URL is a template whose token variable has no value or default, so there was no address for us to check.
- **Transport & Reachability**: 0/100
  - Transport not yet verified: the listed URL is a template whose token variable has no value or default, so there is no address for us to connect to.
- **Schema Quality & AI Usability**: 0/100
  - Schema not yet verified: we couldn't read the endpoint's schema, or could read only part of its tool list.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 0/100
  - Tool coverage not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.
- **Tool Safety**: 0/100
  - Tool safety not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.
- **Capabilities**: 0/100
  - Capabilities not yet verified: we couldn't read the endpoint's capabilities.

**Unverified: 7 categories.** Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.

## Install

### How do I install the Odichat MCP server?

Odichat is a hosted endpoint at https://mcp.odichat.app/mcp?token={token}, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http odichat-mcp-odichat 'https://mcp.odichat.app/mcp?token={token}'
```

### Cursor

```json
{
  "mcpServers": {
    "odichat-mcp-odichat": {
      "url": "https://mcp.odichat.app/mcp?token={token}"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "odichat-mcp-odichat": {
      "type": "http",
      "url": "https://mcp.odichat.app/mcp?token={token}"
    }
  }
}
```

### Codex

```toml
[mcp_servers.odichat-mcp-odichat]
url = "https://mcp.odichat.app/mcp?token={token}"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "odichat-mcp-odichat": {
      "type": "remote",
      "url": "https://mcp.odichat.app/mcp?token={token}",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add odichat-mcp-odichat --url 'https://mcp.odichat.app/mcp?token={token}' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  odichat-mcp-odichat:
    url: "https://mcp.odichat.app/mcp?token={token}"
```

### Netclaw

```json
{
  "McpServers": {
    "odichat-mcp-odichat": {
      "Transport": "http",
      "Url": "https://mcp.odichat.app/mcp?token={token}"
    }
  }
}
```

### Vellum

```bash
assistant mcp add odichat-mcp-odichat -t streamable-http -u 'https://mcp.odichat.app/mcp?token={token}'
```

### Other

```json
{
  "mcpServers": {
    "odichat-mcp-odichat": {
      "type": "http",
      "url": "https://mcp.odichat.app/mcp?token={token}"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-28 (score 0, −63)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-09-27 (score 63, 0)

- [functional improvement] Stability: unverified → 0.03

### 2026-09-26 (score 63)

First indexed and scored.

## MCP tools (130)

### `account_get` (~29 tokens)

Get Account

Retrieve information about the specified Odichat account

Input parameters:

- `account_id` (number, required): The account ID

### `account_update` (~38 tokens)

Update Account

Update attributes of the specified Odichat account

Input parameters:

- `account_id` (number, required): The account ID
- `name` (string): Account name

### `agent_bots_list` (~29 tokens)

List Agent Bots

List all agent bots for the account

Input parameters:

- `account_id` (number, required): The account ID

### `agent_bots_create` (~64 tokens)

Create Agent Bot

Create a new agent bot for the account

Input parameters:

- `account_id` (number, required): The account ID
- `description` (string): Description
- `name` (string, required): Name of the agent bot
- `outgoing_url` (string): Webhook URL for the bot

### `agent_bots_get` (~39 tokens)

Get Agent Bot

Get details of a specific agent bot

Input parameters:

- `account_id` (number, required): The account ID
- `id` (number, required): Agent bot ID

### `agent_bots_update` (~71 tokens)

Update Agent Bot

Update an existing agent bot

Input parameters:

- `account_id` (number, required): The account ID
- `description` (string): Description
- `id` (number, required): Agent bot ID
- `name` (string): Name of the agent bot
- `outgoing_url` (string): Webhook URL for the bot

### `agent_bots_delete` (~39 tokens)

Delete Agent Bot

Delete an agent bot from the account

Input parameters:

- `account_id` (number, required): The account ID
- `id` (number, required): Agent bot ID

### `agents_list` (~26 tokens)

List Agents

List all agents in the account

Input parameters:

- `account_id` (number, required): The account ID

### `agents_create` (~54 tokens)

Create Agent

Add a new agent to the account

Input parameters:

- `account_id` (number, required): The account ID
- `email` (string, required): Agent email
- `name` (string, required): Agent name
- `role` (string): Agent role

### `agents_update` (~62 tokens)

Update Agent

Update an agent in the account

Input parameters:

- `account_id` (number, required): The account ID
- `availability` (string): Availability status
- `id` (number, required): Agent ID
- `name` (string): Agent name
- `role` (string): Agent role

### `agents_delete` (~35 tokens)

Delete Agent

Remove an agent from the account

Input parameters:

- `account_id` (number, required): The account ID
- `id` (number, required): Agent ID

### `audit_logs_list` (~37 tokens)

List Audit Logs

List audit log events for the account

Input parameters:

- `account_id` (number, required): The account ID
- `page` (number): Page number

### `automation_rules_list` (~37 tokens)

List Automation Rules

List all automation rules for the account

Input parameters:

- `account_id` (number, required): The account ID
- `page` (number): Page number

### `automation_rules_create` (~86 tokens)

Create Automation Rule

Create a new automation rule

Input parameters:

- `account_id` (number, required): The account ID
- `actions`: JSON actions for the rule
- `conditions`: JSON conditions for the rule
- `description` (string): Rule description
- `event_name` (string, required): Event that triggers the rule (e.g. conversation_created, message_created)
- `name` (string, required): Rule name

### `automation_rules_get` (~36 tokens)

Get Automation Rule

Get a specific automation rule

Input parameters:

- `account_id` (number, required): The account ID
- `id` (number, required): Automation rule ID

### `automation_rules_update` (~78 tokens)

Update Automation Rule

Update an existing automation rule

Input parameters:

- `account_id` (number, required): The account ID
- `actions`: JSON actions
- `conditions`: JSON conditions
- `description` (string): Rule description
- `event_name` (string): Event trigger
- `id` (number, required): Automation rule ID
- `name` (string): Rule name

### `automation_rules_delete` (~35 tokens)

Delete Automation Rule

Delete an automation rule

Input parameters:

- `account_id` (number, required): The account ID
- `id` (number, required): Automation rule ID

### `scheduled_messages_create_call_reminders` (~207 tokens)

Schedule Call Reminders

[Odichat] Schedule the two WhatsApp call reminders for a booked call: "call_reminder_1h" one hour before, and "call_ongoing_now" at the call time. Give the call time as a naive local time plus an IANA timezone; the tool converts to UTC. The no-show follow-up is not scheduled — a human sends that one manually.

Input parameters:

- `account_id` (number, required): The account ID
- `call_time_local` (string, required): Local wall-clock time of the call as YYYY-MM-DDTHH:mm, with no offset and no trailing Z (e.g. 2026-09-09T10:00)
- `conversation_id` (number, required): Conversation ID (display_id)
- `iana_timezone` (string, required): IANA timezone identifier for the local time, e.g. America/Caracas. Translate the contact's country or city into an identifier before calling; this tool validates but does not guess.

### `canned_responses_list` (~31 tokens)

List Canned Responses

List all pre-defined canned responses for the account

Input parameters:

- `account_id` (number, required): The account ID

### `canned_responses_create` (~51 tokens)

Create Canned Response

Create a new canned response

Input parameters:

- `account_id` (number, required): The account ID
- `content` (string, required): The response content
- `short_code` (string, required): Short code to trigger the response

### `canned_responses_update` (~57 tokens)

Update Canned Response

Update an existing canned response

Input parameters:

- `account_id` (number, required): The account ID
- `content` (string): Response content
- `id` (number, required): Canned response ID
- `short_code` (string): Short code

### `canned_responses_delete` (~37 tokens)

Delete Canned Response

Delete a canned response

Input parameters:

- `account_id` (number, required): The account ID
- `id` (number, required): Canned response ID

### `contact_labels_list` (~38 tokens)

List Contact Labels

List all labels assigned to a contact

Input parameters:

- `account_id` (number, required): The account ID
- `contact_id` (number, required): Contact ID

### `contact_labels_set` (~56 tokens)

Set Contact Labels

Replace all labels on a contact with the provided list of labels

Input parameters:

- `account_id` (number, required): The account ID
- `contact_id` (number, required): Contact ID
- `labels` (array, required): Array of label names to set

### `contacts_list` (~59 tokens)

List Contacts

List contacts in the account with pagination

Input parameters:

- `account_id` (number, required): The account ID
- `order_by` (string): Sort direction
- `page` (number): Page number (default 1)
- `sort` (string): Sort field

### `contacts_create` (~104 tokens)

Create Contact

Create a new contact with name, phone (E.164), email, and custom attributes

Input parameters:

- `account_id` (number, required): The account ID
- `custom_attributes` (object): Custom attributes as key-value pairs
- `email` (string): Contact email
- `identifier` (string): External identifier
- `name` (string): Contact name
- `phone_number` (string): Phone number in E.164 format (e.g. +5511999999999)

### `contacts_get` (~35 tokens)

Get Contact

Get a specific contact by ID

Input parameters:

- `account_id` (number, required): The account ID
- `id` (number, required): Contact ID

### `contacts_update` (~84 tokens)

Update Contact

Update an existing contact

Input parameters:

- `account_id` (number, required): The account ID
- `custom_attributes` (object): Custom attributes
- `email` (string): Contact email
- `id` (number, required): Contact ID
- `identifier` (string): External identifier
- `name` (string): Contact name
- `phone_number` (string): Phone in E.164 format

### `contacts_delete` (~32 tokens)

Delete Contact

Delete a contact

Input parameters:

- `account_id` (number, required): The account ID
- `id` (number, required): Contact ID

### `contacts_conversations` (~37 tokens)

List Contact Conversations

List all conversations for a specific contact

Input parameters:

- `account_id` (number, required): The account ID
- `id` (number, required): Contact ID

### `contacts_search` (~53 tokens)

Search Contacts

Search contacts by query string (searches name, email, phone, identifier)

Input parameters:

- `account_id` (number, required): The account ID
- `page` (number): Page number
- `q` (string, required): Search query

### `contacts_filter` (~52 tokens)

Filter Contacts

Filter contacts using advanced filter conditions (POST with payload)

Input parameters:

- `account_id` (number, required): The account ID
- `payload` (array, required): Array of filter objects with attribute_key, filter_operator, values, query_operator

### `contacts_create_contact_inbox` (~52 tokens)

Create Contact Inbox

Create a contact inbox association (link contact to inbox)

Input parameters:

- `account_id` (number, required): The account ID
- `id` (number, required): Contact ID
- `inbox_id` (number, required): Inbox ID

### `contacts_contactable_inboxes` (~46 tokens)

List Contactable Inboxes

Get list of inboxes that can be used to reach a specific contact

Input parameters:

- `account_id` (number, required): The account ID
- `id` (number, required): Contact ID

### `contacts_merge` (~71 tokens)

Merge Contacts

Merge two contacts together. The base contact is kept y the mergee is merged into it.

Input parameters:

- `account_id` (number, required): The account ID
- `base_contact_id` (number, required): The contact ID to keep (base)
- `mergee_contact_id` (number, required): The contact ID to merge and remove

### `conversation_assignments_assign` (~76 tokens)

Assign Conversation

Assign a conversation to an agent and/or team

Input parameters:

- `account_id` (number, required): The account ID
- `assignee_id` (number): Agent ID to assign (null to unassign)
- `conversation_id` (number, required): Conversation ID
- `team_id` (number): Team ID to assign (null to unassign)

### `conversations_meta` (~36 tokens)

Conversations Meta

Get conversation metadata (counts by status: open, unassigned, assigned, etc.)

Input parameters:

- `account_id` (number, required): The account ID

### `conversations_list` (~93 tokens)

List Conversations

List conversations with optional filters

Input parameters:

- `account_id` (number, required): The account ID
- `assignee_type` (string): Filter by assignee type
- `inbox_id` (number): Filter by inbox ID
- `labels` (array): Filter by label names
- `page` (number): Page number
- `status` (string): Filter by status
- `team_id` (number): Filter by team ID

### `conversations_create` (~106 tokens)

Create Conversation

Create a new conversation

Input parameters:

- `account_id` (number, required): The account ID
- `assignee_id` (number): Agent to assign the conversation to
- `contact_id` (number, required): Contact ID
- `inbox_id` (number, required): Inbox ID
- `message` (object): Initial message to send
- `source_id` (string): Source ID of the contact
- `status` (string): Initial status
- `team_id` (number): Team to assign the conversation to

### `conversations_filter` (~57 tokens)

Filter Conversations

Filter conversations with advanced filter conditions

Input parameters:

- `account_id` (number, required): The account ID
- `page` (number): Page number
- `payload` (array, required): Array of filter objects with attribute_key, filter_operator, values, query_operator

### `conversations_get` (~37 tokens)

Get Conversation

Get a specific conversation by ID

Input parameters:

- `account_id` (number, required): The account ID
- `conversation_id` (number, required): The conversation ID

### `conversations_update` (~44 tokens)

Update Conversation

Update conversation attributes

Input parameters:

- `account_id` (number, required): The account ID
- `conversation_id` (number, required): The conversation ID
- `custom_attributes` (object): Custom attributes

### `conversations_toggle_status` (~54 tokens)

Toggle Conversation Status

Change conversation status (open, resolved, pending, snoozed)

Input parameters:

- `account_id` (number, required): The account ID
- `conversation_id` (number, required): The conversation ID
- `status` (string, required): New status

### `conversations_toggle_priority` (~47 tokens)

Set Conversation Priority

Set the priority of a conversation

Input parameters:

- `account_id` (number, required): The account ID
- `conversation_id` (number, required): The conversation ID
- `priority` (string, required): Priority level

### `conversations_set_custom_attributes` (~53 tokens)

Set Conversation Custom Attributes

Set custom attributes on a conversation

Input parameters:

- `account_id` (number, required): The account ID
- `conversation_id` (number, required): The conversation ID
- `custom_attributes` (object, required): Custom attributes as key-value pairs

### `conversations_get_labels` (~38 tokens)

Get Conversation Labels

Get labels assigned to a conversation

Input parameters:

- `account_id` (number, required): The account ID
- `conversation_id` (number, required): The conversation ID

### `conversations_set_labels` (~51 tokens)

Set Conversation Labels

Replace all labels on a conversation

Input parameters:

- `account_id` (number, required): The account ID
- `conversation_id` (number, required): The conversation ID
- `labels` (array, required): Array of label names to set

### `conversations_reporting_events` (~38 tokens)

List Conversation Reporting Events

Get reporting events for a conversation

Input parameters:

- `account_id` (number, required): The account ID
- `conversation_id` (number, required): The conversation ID

### `custom_attributes_list` (~41 tokens)

List Custom Attributes

List all custom attribute definitions for the account

Input parameters:

- `account_id` (number, required): The account ID
- `attribute_model` (string): Filter by model type

### `custom_attributes_create` (~121 tokens)

Create Custom Attribute

Create a custom attribute definition (text, number, date, list, checkbox, link)

Input parameters:

- `account_id` (number, required): The account ID
- `attribute_description` (string): Description of the attribute
- `attribute_display_name` (string, required): Display name of the attribute
- `attribute_display_type` (string, required): The data type of the attribute
- `attribute_key` (string, required): Unique key for the attribute
- `attribute_model` (string, required): Whether this applies to conversations or contacts
- `attribute_values` (array): Possible values (for list type)

### `custom_attributes_get` (~38 tokens)

Get Custom Attribute

Get a specific custom attribute definition

Input parameters:

- `account_id` (number, required): The account ID
- `id` (number, required): Custom attribute definition ID

### `custom_attributes_update` (~57 tokens)

Update Custom Attribute

Update a custom attribute definition

Input parameters:

- `account_id` (number, required): The account ID
- `attribute_description` (string): Description
- `attribute_display_name` (string): Display name
- `id` (number, required): Custom attribute definition ID

### `custom_attributes_delete` (~37 tokens)

Delete Custom Attribute

Delete a custom attribute definition

Input parameters:

- `account_id` (number, required): The account ID
- `id` (number, required): Custom attribute definition ID

### `custom_filters_list` (~38 tokens)

List Custom Filters

List all saved custom filters for conversations

Input parameters:

- `account_id` (number, required): The account ID
- `filter_type` (string): Filter type

### `custom_filters_create` (~57 tokens)

Create Custom Filter

Create a new custom filter for conversations

Input parameters:

- `account_id` (number, required): The account ID
- `filter_type` (string, required): Filter type
- `name` (string, required): Filter name
- `query` (required): Filter query definition (JSON)

### `custom_filters_get` (~38 tokens)

Get Custom Filter

Get a specific custom filter

Input parameters:

- `account_id` (number, required): The account ID
- `custom_filter_id` (number, required): Custom filter ID

### `custom_filters_update` (~57 tokens)

Update Custom Filter

Update an existing custom filter

Input parameters:

- `account_id` (number, required): The account ID
- `custom_filter_id` (number, required): Custom filter ID
- `name` (string): Filter name
- `query`: Filter query definition (JSON)

### `custom_filters_delete` (~37 tokens)

Delete Custom Filter

Delete a custom filter

Input parameters:

- `account_id` (number, required): The account ID
- `custom_filter_id` (number, required): Custom filter ID

### `help_center_portals_list` (~28 tokens)

List Portals

List all help center portals

Input parameters:

- `account_id` (number, required): The account ID

### `help_center_portals_create` (~89 tokens)

Create Portal

Create a new help center portal

Input parameters:

- `account_id` (number, required): The account ID
- `color` (string): Brand color
- `header_text` (string): Header text
- `homepage_link` (string): Homepage link
- `name` (string, required): Portal name
- `page_title` (string): Page title
- `slug` (string, required): URL slug for the portal

### `help_center_portals_update` (~86 tokens)

Update Portal

Update a help center portal

Input parameters:

- `account_id` (number, required): The account ID
- `color` (string): Brand color
- `header_text` (string): Header text
- `homepage_link` (string): Homepage link
- `name` (string): Portal name
- `page_title` (string): Page title
- `portal_id` (number, required): Portal ID

### `help_center_categories_create` (~80 tokens)

Create Category

Create a category in a help center portal

Input parameters:

- `account_id` (number, required): The account ID
- `description` (string): Category description
- `locale` (string): Locale (e.g. en)
- `name` (string, required): Category name
- `portal_id` (number, required): Portal ID
- `position` (number): Sort position

### `help_center_articles_create` (~101 tokens)

Create Article

Create an article in a help center portal

Input parameters:

- `account_id` (number, required): The account ID
- `author_id` (number): Author agent ID
- `category_id` (number): Category ID
- `content` (string): Article content (HTML)
- `description` (string): Short description / excerpt
- `portal_id` (number, required): Portal ID
- `status` (string): Article status
- `title` (string, required): Article title

### `inboxes_list` (~30 tokens)

List Inboxes

List all communication channel inboxes in the account

Input parameters:

- `account_id` (number, required): The account ID

### `inboxes_get` (~36 tokens)

Get Inbox

Get information about a specific inbox

Input parameters:

- `account_id` (number, required): The account ID
- `id` (number, required): Inbox ID

### `inboxes_create` (~67 tokens)

Create Inbox

Create a new inbox (channel). The channel object varies by type.

Input parameters:

- `account_id` (number, required): The account ID
- `channel` (object, required): Channel configuration object (varies by type: web_widget, api, email, etc.)
- `name` (string, required): Inbox name

### `inboxes_update` (~64 tokens)

Update Inbox

Update an inbox

Input parameters:

- `account_id` (number, required): The account ID
- `channel` (object): Channel configuration
- `enable_auto_assignment` (boolean): Enable auto-assignment
- `id` (number, required): Inbox ID
- `name` (string): Inbox name

### `inboxes_get_agent_bot` (~40 tokens)

Get Inbox Agent Bot

Get the agent bot associated with an inbox

Input parameters:

- `account_id` (number, required): The account ID
- `id` (number, required): Inbox ID

### `inboxes_set_agent_bot` (~54 tokens)

Set Inbox Agent Bot

Set or unset the agent bot for an inbox

Input parameters:

- `account_id` (number, required): The account ID
- `agent_bot` (required): Agent bot ID (null to unset)
- `id` (number, required): Inbox ID

### `inbox_members_list` (~37 tokens)

List Inbox Members

List agents assigned to an inbox

Input parameters:

- `account_id` (number, required): The account ID
- `inbox_id` (number, required): Inbox ID

### `inbox_members_create` (~50 tokens)

Add Inbox Members

Add agents to an inbox

Input parameters:

- `account_id` (number, required): The account ID
- `inbox_id` (number, required): Inbox ID
- `user_ids` (array, required): Array of agent IDs to add

### `inbox_members_update` (~61 tokens)

Update Inbox Members

Replace all agents in an inbox (removes agents not in list)

Input parameters:

- `account_id` (number, required): The account ID
- `inbox_id` (number, required): Inbox ID
- `user_ids` (array, required): Array of agent IDs (replaces existing list)

### `inbox_members_delete` (~50 tokens)

Remove Inbox Members

Remove agents from an inbox

Input parameters:

- `account_id` (number, required): The account ID
- `inbox_id` (number, required): Inbox ID
- `user_ids` (array, required): Array of agent IDs to remove

### `integrations_list_apps` (~28 tokens)

List Integration Apps

List all available third-party integration apps

Input parameters:

- `account_id` (number, required): The account ID

### `integrations_create_hook` (~50 tokens)

Create Integration Hook

Create an integration hook (webhook for integration)

Input parameters:

- `account_id` (number, required): The account ID
- `app_id` (string, required): Integration app ID
- `settings` (object): Integration settings

### `integrations_update_hook` (~44 tokens)

Update Integration Hook

Update an integration hook

Input parameters:

- `account_id` (number, required): The account ID
- `hook_id` (number, required): Hook ID
- `settings` (object): Integration settings

### `integrations_delete_hook` (~35 tokens)

Delete Integration Hook

Delete an integration hook

Input parameters:

- `account_id` (number, required): The account ID
- `hook_id` (number, required): Hook ID

### `kanban_audit_events_list` (~62 tokens)

List Kanban Audit Events

[Odichat] List audit events (activity log) for a kanban task

Input parameters:

- `account_id` (number, required): The account ID
- `page` (number): Page number
- `task_id` (number, required): Kanban task ID

### `kanban_audit_events_get` (~62 tokens)

Get Kanban Audit Event

[Odichat] Get a specific audit event from a kanban task

Input parameters:

- `account_id` (number, required): The account ID
- `event_id` (number, required): Audit event ID
- `task_id` (number, required): Kanban task ID

### `kanban_boards_list` (~45 tokens)

List Kanban Boards

[Odichat] List all kanban boards in the account

Input parameters:

- `account_id` (number, required): The account ID
- `page` (number): Page number

### `kanban_boards_create` (~52 tokens)

Create Kanban Board

[Odichat] Create a new kanban board

Input parameters:

- `account_id` (number, required): The account ID
- `description` (string): Board description
- `name` (string, required): Board name

### `kanban_boards_get` (~46 tokens)

Get Kanban Board

[Odichat] Get a specific kanban board

Input parameters:

- `account_id` (number, required): The account ID
- `board_id` (number, required): Kanban board ID

### `kanban_boards_update` (~63 tokens)

Update Kanban Board

[Odichat] Update a kanban board

Input parameters:

- `account_id` (number, required): The account ID
- `board_id` (number, required): Kanban board ID
- `description` (string): Board description
- `name` (string): Board name

### `kanban_boards_delete` (~45 tokens)

Delete Kanban Board

[Odichat] Delete a kanban board

Input parameters:

- `account_id` (number, required): The account ID
- `board_id` (number, required): Kanban board ID

### `kanban_boards_update_agents` (~67 tokens)

Update Board Agents

[Odichat] Update the agents assigned to a kanban board

Input parameters:

- `account_id` (number, required): The account ID
- `agent_ids` (array, required): Array of agent IDs to assign to the board
- `board_id` (number, required): Kanban board ID

### `kanban_steps_list` (~47 tokens)

List Kanban Steps

[Odichat] List all steps in a kanban board

Input parameters:

- `account_id` (number, required): The account ID
- `board_id` (number, required): Kanban board ID

### `kanban_steps_create` (~94 tokens)

Create Kanban Step

[Odichat] Create a new step (column) in a kanban board

Input parameters:

- `account_id` (number, required): The account ID
- `board_id` (number, required): Kanban board ID
- `cancelled` (boolean): Whether this step represents a cancelled state
- `color` (string): Step color (hex)
- `description` (string): Step description
- `name` (string, required): Step name

### `kanban_steps_get` (~58 tokens)

Get Kanban Step

[Odichat] Get a specific step in a kanban board

Input parameters:

- `account_id` (number, required): The account ID
- `board_id` (number, required): Kanban board ID
- `step_id` (number, required): Step ID

### `kanban_steps_update` (~96 tokens)

Update Kanban Step

[Odichat] Update a step in a kanban board

Input parameters:

- `account_id` (number, required): The account ID
- `board_id` (number, required): Kanban board ID
- `cancelled` (boolean): Cancelled state
- `color` (string): Step color (hex)
- `description` (string): Step description
- `name` (string): Step name
- `step_id` (number, required): Step ID

### `kanban_steps_delete` (~57 tokens)

Delete Kanban Step

[Odichat] Delete a step from a kanban board

Input parameters:

- `account_id` (number, required): The account ID
- `board_id` (number, required): Kanban board ID
- `step_id` (number, required): Step ID

### `kanban_tasks_list` (~69 tokens)

List Kanban Tasks

[Odichat] List tasks in a kanban board

Input parameters:

- `account_id` (number, required): The account ID
- `board_id` (number): Filter by kanban board ID
- `page` (number): Page number
- `step_id` (number): Filter by step ID

### `kanban_tasks_create` (~132 tokens)

Create Kanban Task

[Odichat] Create a new task in a kanban board

Input parameters:

- `account_id` (number, required): The account ID
- `assigned_agent_ids` (array): Array of assigned agent IDs
- `board_id` (number, required): Kanban board ID
- `board_step_id` (number, required): Step ID to place task in
- `conversation_ids` (array): Array of linked conversation IDs
- `description` (string): Task description
- `due_date` (string): Due date (ISO 8601)
- `priority` (string): Task priority
- `title` (string, required): Task title

### `kanban_tasks_get` (~41 tokens)

Get Kanban Task

[Odichat] Get a specific task

Input parameters:

- `account_id` (number, required): The account ID
- `task_id` (number, required): Task ID

### `kanban_tasks_update` (~118 tokens)

Update Kanban Task

[Odichat] Update a kanban task

Input parameters:

- `account_id` (number, required): The account ID
- `assigned_agent_ids`: Array of assigned agent IDs (null to unassign)
- `board_step_id` (number): Move to a different step
- `description` (string): Task description
- `due_date`: Due date (ISO 8601) or null to clear
- `priority` (string): Task priority
- `task_id` (number, required): Task ID
- `title` (string): Task title

### `kanban_tasks_delete` (~42 tokens)

Delete Kanban Task

[Odichat] Delete a kanban task

Input parameters:

- `account_id` (number, required): The account ID
- `task_id` (number, required): Task ID

### `kanban_tasks_move` (~79 tokens)

Move Kanban Task

[Odichat] Move a kanban task to a different step and/or position

Input parameters:

- `account_id` (number, required): The account ID
- `board_step_id` (number, required): Target step ID
- `insert_before_task_id` (number): Task ID to insert before (for ordering)
- `task_id` (number, required): Task ID

### `labels_list` (~27 tokens)

List Labels

List all labels defined in the account

Input parameters:

- `account_id` (number, required): The account ID

### `labels_create` (~85 tokens)

Create Label

Create a label in the account so it can be applied to conversations and contacts

Input parameters:

- `account_id` (number, required): The account ID
- `color` (string): Label color (hex)
- `description` (string): Label description
- `show_on_sidebar` (boolean): Show the label in the sidebar
- `title` (string, required): Label name (lowercase, no spaces)

### `labels_update` (~77 tokens)

Update Label

Update an existing label

Input parameters:

- `account_id` (number, required): The account ID
- `color` (string): Label color (hex)
- `description` (string): Label description
- `id` (number, required): Label ID
- `show_on_sidebar` (boolean): Show the label in the sidebar
- `title` (string): Label name

### `labels_delete` (~43 tokens)

Delete Label

Delete a label and remove it from every conversation and contact that carries it

Input parameters:

- `account_id` (number, required): The account ID
- `id` (number, required): Label ID

### `messages_list` (~36 tokens)

List Messages

List messages in a conversation

Input parameters:

- `account_id` (number, required): The account ID
- `conversation_id` (number, required): The conversation ID

### `messages_create` (~97 tokens)

Send Message

Send a message in a conversation

Input parameters:

- `account_id` (number, required): The account ID
- `content` (string, required): Message content
- `content_attributes` (object): Content attributes for rich messages
- `content_type` (string): Content type
- `conversation_id` (number, required): The conversation ID
- `message_type` (string): Message type (default: outgoing)
- `private` (boolean): Whether this is a private/internal note

### `messages_delete` (~47 tokens)

Delete Message

Delete a message from a conversation

Input parameters:

- `account_id` (number, required): The account ID
- `conversation_id` (number, required): The conversation ID
- `message_id` (number, required): Message ID

### `message_templates_list` (~78 tokens)

List Message Templates

[Odichat] List the WhatsApp message templates available on an inbox. Templates are scoped per inbox, not per account. The response includes unapproved templates — only those with status 'approved' can be sent.

Input parameters:

- `account_id` (number, required): The account ID
- `inbox_id` (number, required): Inbox ID to list templates for

### `profile_get` (~19 tokens)

Get Profile

Get the profile of the currently authenticated user/agent

### `reports_account_overview` (~40 tokens)

Account Metrics

Get account-level conversation metrics

Input parameters:

- `account_id` (number, required): The account ID
- `type` (string): Report type (always 'account')

### `reports_account_summary` (~72 tokens)

Account Summary

Get account summary (conversations count, incoming messages, etc.) for a time range

Input parameters:

- `account_id` (number, required): The account ID
- `since` (string, required): Start date/time (epoch or ISO 8601)
- `until` (string, required): End date/time (epoch or ISO 8601)

### `reports_agent_summary` (~50 tokens)

Agent Summary

Get agent-level summary statistics for a time range

Input parameters:

- `account_id` (number, required): The account ID
- `since` (string, required): Start date/time
- `until` (string, required): End date/time

### `reports_conversation_metrics` (~45 tokens)

Conversation Metrics

Get conversation-level metrics (resolution time, first response, etc.)

Input parameters:

- `account_id` (number, required): The account ID
- `type` (string): Group results by type

### `reports_v2_agents` (~67 tokens)

Reports V2 Agents

Get v2 agent performance reports

Input parameters:

- `account_id` (number, required): The account ID
- `group_by` (string): Grouping interval
- `since` (string, required): Start date (ISO 8601)
- `until` (string, required): End date (ISO 8601)

### `reports_v2_inboxes` (~68 tokens)

Reports V2 Inboxes

Get v2 inbox performance reports

Input parameters:

- `account_id` (number, required): The account ID
- `group_by` (string): Grouping interval
- `since` (string, required): Start date (ISO 8601)
- `until` (string, required): End date (ISO 8601)

### `reports_v2_teams` (~68 tokens)

Reports V2 Teams

Get v2 team performance reports

Input parameters:

- `account_id` (number, required): The account ID
- `group_by` (string): Grouping interval
- `since` (string, required): Start date (ISO 8601)
- `until` (string, required): End date (ISO 8601)

### `scheduled_messages_list` (~45 tokens)

List Scheduled Messages

[Odichat] List scheduled messages for a conversation

Input parameters:

- `account_id` (number, required): The account ID
- `conversation_id` (number, required): Conversation ID (display_id)

### `scheduled_messages_create` (~182 tokens)

Create Scheduled Message

[Odichat] Schedule a message to be sent later in a conversation. Defaults to status 'pending' so the message is actually delivered — a 'draft' is stored but never sent.

Input parameters:

- `account_id` (number, required): The account ID
- `content` (string, required): Message content
- `conversation_id` (number, required): Conversation ID (display_id)
- `hold_on_reply` (boolean): Cancel the scheduled message if the contact replies first (server default is false)
- `message_type` (string): Message type
- `scheduled_at` (string, required): ISO 8601 datetime for when to send the message
- `status` (string): 'pending' schedules the message for delivery (default); 'draft' stores it without ever sending it
- `template_params` (object): WhatsApp template payload: { name, language, category, processed_params }

### `scheduled_messages_create_from_template` (~215 tokens)

Schedule a Template Message

[Odichat] Schedule an approved WhatsApp template message in a conversation. Looks the template up by its friendly_name on the conversation's own inbox, fills in the contact's name automatically, and schedules it for delivery. Only Twilio-backed WhatsApp inboxes are supported. Use message_templates_list to see the available names.

Input parameters:

- `account_id` (number, required): The account ID
- `conversation_id` (number, required): Conversation ID (display_id)
- `extra_params` (object): Literal values for placeholders {{2}} and up, keyed by placeholder number. Never include "1" — that is the contact's name and is filled in automatically.
- `hold_on_reply` (boolean): Cancel the scheduled message if the contact replies first
- `scheduled_at` (string, required): Absolute ISO 8601 UTC datetime, must be in the future (e.g. 2026-09-09T15:30:00Z)
- `template_name` (string, required): The template's friendly_name; must be approved

### `scheduled_messages_update` (~115 tokens)

Update Scheduled Message

[Odichat] Update a scheduled message

Input parameters:

- `account_id` (number, required): The account ID
- `content` (string): Message content
- `conversation_id` (number, required): Conversation ID (display_id)
- `hold_on_reply` (boolean): Cancel the scheduled message if the contact replies first
- `scheduled_at` (string): ISO 8601 datetime
- `scheduled_message_id` (number, required): Scheduled message ID
- `status` (string): 'pending' to schedule for delivery, 'draft' to hold

### `scheduled_messages_delete` (~55 tokens)

Delete Scheduled Message

[Odichat] Delete a scheduled message

Input parameters:

- `account_id` (number, required): The account ID
- `conversation_id` (number, required): Conversation ID (display_id)
- `scheduled_message_id` (number, required): Scheduled message ID

### `teams_list` (~26 tokens)

List Teams

List all teams in the account

Input parameters:

- `account_id` (number, required): The account ID

### `teams_create` (~58 tokens)

Create Team

Create a new team

Input parameters:

- `account_id` (number, required): The account ID
- `allow_auto_assign` (boolean): Allow auto-assignment to this team
- `description` (string): Team description
- `name` (string, required): Team name

### `teams_get` (~34 tokens)

Get Team

Get a specific team

Input parameters:

- `account_id` (number, required): The account ID
- `team_id` (number, required): Team ID

### `teams_update` (~64 tokens)

Update Team

Update a team

Input parameters:

- `account_id` (number, required): The account ID
- `allow_auto_assign` (boolean): Allow auto-assignment
- `description` (string): Team description
- `name` (string): Team name
- `team_id` (number, required): Team ID

### `teams_delete` (~33 tokens)

Delete Team

Delete a team

Input parameters:

- `account_id` (number, required): The account ID
- `team_id` (number, required): Team ID

### `team_members_list` (~36 tokens)

List Team Members

List agents in a team

Input parameters:

- `account_id` (number, required): The account ID
- `team_id` (number, required): Team ID

### `team_members_add` (~50 tokens)

Add Team Members

Add agents to a team

Input parameters:

- `account_id` (number, required): The account ID
- `team_id` (number, required): Team ID
- `user_ids` (array, required): Array of agent IDs to add

### `team_members_update` (~56 tokens)

Update Team Members

Replace all agents in a team (removes agents not in list)

Input parameters:

- `account_id` (number, required): The account ID
- `team_id` (number, required): Team ID
- `user_ids` (array, required): Array of agent IDs

### `team_members_delete` (~50 tokens)

Remove Team Members

Remove agents from a team

Input parameters:

- `account_id` (number, required): The account ID
- `team_id` (number, required): Team ID
- `user_ids` (array, required): Array of agent IDs to remove

### `webhooks_list` (~29 tokens)

List Webhooks

List all webhooks configured in the account

Input parameters:

- `account_id` (number, required): The account ID

### `webhooks_create` (~65 tokens)

Create Webhook

Create a new webhook that receives event notifications at the given URL

Input parameters:

- `account_id` (number, required): The account ID
- `subscriptions` (array): Event types to subscribe to (e.g. conversation_created, message_created)
- `url` (string, required): Webhook endpoint URL

### `webhooks_update` (~61 tokens)

Update Webhook

Update a webhook URL or subscriptions

Input parameters:

- `account_id` (number, required): The account ID
- `subscriptions` (array): Event types to subscribe to
- `url` (string): Webhook endpoint URL
- `webhook_id` (number, required): Webhook ID

### `webhooks_delete` (~35 tokens)

Delete Webhook

Delete a webhook

Input parameters:

- `account_id` (number, required): The account ID
- `webhook_id` (number, required): Webhook ID

## Diagnostics

Captured diagnostic sections: Transports. The full working is on the page: https://verifymcp.io/servers/odichat-mcp-odichat/mcp#diagnostics

## Score history

- 2026-10-03: 0
- 2026-10-02: 0
- 2026-10-01: 0
- 2026-09-30: 0
- 2026-09-29: 0
- 2026-09-28: 0
- 2026-09-27: 63
- 2026-09-26: 63

## Common questions

### What is the Odichat MCP server?

Odichat is an MCP server listed in the public MCP registry as io.github.odichat/mcp-odichat. Manage your Odichat WhatsApp/IG/FB inbox from Claude: conversations, contacts, pipeline, reports. This page covers its hosted endpoint (https://mcp.odichat.app/mcp?token={token}).

### Is the Odichat MCP server safe to use?

Odichat scores 0 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Odichat MCP server expose?

Odichat exposes 130 tools: account_get, account_update, agent_bots_list, agent_bots_create, agent_bots_get, and 125 more. Their descriptions and schemas cost roughly 7,581 tokens of context every time the server is loaded.

### Does the Odichat MCP server require authentication?

Its publisher declares no required credentials for Odichat. We have not been able to confirm that against the live endpoint, and a server can require authorisation without declaring it here.

### Is the Odichat MCP server still maintained?

Odichat is still listed as active in the MCP registry. We last reached this channel on 27 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://mcp.odichat.app/mcp?token={token}
- Repository: https://github.com/odichat/mcp-odichat
- Website: https://odichat.app/blog/odichat-mcp-claude
- Changelog RSS feed: https://verifymcp.io/servers/odichat-mcp-odichat/mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/odichat-mcp-odichat/mcp.json
- HTML version of this page: https://verifymcp.io/servers/odichat-mcp-odichat/mcp
