# Kommo — MCP server on mcp.ai > Kommo CRM (formerly amoCRM), the conversation-first sales CRM (WhatsApp, Instagram, Telegram) used by SMBs and agencies. Read and write leads, contacts, companies, tasks, notes, pipelines, tags, custom fields, users, events, conversations and catalogs through the official v4 API. You provide your account subdomain and a Long-Lived Token and the platform operates on your account. Includes a raw call tool for any API endpoint. By: mcp.ai · official Page: https://mcp.ai/kommo ## Connect (MCP protocol) Remote MCP endpoint (HTTP, streamable): https://api.mcp.ai/p_kommo?ms=1786694040000 Add it as a custom/remote MCP connector, then authenticate when prompted. ## REST API (no MCP client required) Every tool is also a REST endpoint, authed with a workspace API key. Discover: GET https://api.mcp.ai/api/kommo/_endpoints # public; lists every endpoint Call: POST https://api.mcp.ai/api/kommo/ Authorization: Bearer sk_live_… # create one at https://mcp.ai/settings/api-keys Content-Type: application/json Body: { …args } → { "ok": true, "tool": "", "result": { … } } ## Developer docs How to use (MCP or REST), markdown: https://mcp.ai/kommo/skill.md Postman collection (v2.1): https://mcp.ai/kommo/postman.json ## Tools - kommo_account(with?: string, account?: string) — Dados da conta Kommo conectada (id, nome, subdomínio, moeda, fuso, e opcionalmente usuários/campos/pipelines via `with`). - kommo_catalogs_elements(catalog_id?: integer|string, page?: integer, limit?: integer, query?: string, filter?: string, account?: string, catalog_ids?: integer|string[]) — Catálogos (listas: produtos, etc.). action: list (todos os catálogos) | elements (itens de um catálogo, filtrável/buscável). - kommo_catalogs_list(catalog_id?: integer|string, page?: integer, limit?: integer, query?: string, filter?: string, account?: string, catalog_ids?: integer|string[]) — Catálogos (listas: produtos, etc.). action: list (todos os catálogos) | elements (itens de um catálogo, filtrável/buscável). - kommo_companies_create(id?: integer|string, page?: integer, limit?: integer, query?: string, with?: string, filter?: string, order?: string, data?: string, account?: string, ids?: integer|string[]) — Companies do Kommo. action: list (busca paginada com filtros), get (por id), create (cria, body em `data`), update (atualiza; com `id` = 1 item, sem `id` = bulk com array em `data`). - kommo_companies_get(id?: integer|string, page?: integer, limit?: integer, query?: string, with?: string, filter?: string, order?: string, data?: string, account?: string, ids?: integer|string[]) — Companies do Kommo. action: list (busca paginada com filtros), get (por id), create (cria, body em `data`), update (atualiza; com `id` = 1 item, sem `id` = bulk com array em `data`). - kommo_companies_list(id?: integer|string, page?: integer, limit?: integer, query?: string, with?: string, filter?: string, order?: string, data?: string, account?: string, ids?: integer|string[]) — Companies do Kommo. action: list (busca paginada com filtros), get (por id), create (cria, body em `data`), update (atualiza; com `id` = 1 item, sem `id` = bulk com array em `data`). - kommo_companies_update(id?: integer|string, page?: integer, limit?: integer, query?: string, with?: string, filter?: string, order?: string, data?: string, account?: string, ids?: integer|string[]) — Companies do Kommo. action: list (busca paginada com filtros), get (por id), create (cria, body em `data`), update (atualiza; com `id` = 1 item, sem `id` = bulk com array em `data`). - kommo_contacts_create(id?: integer|string, page?: integer, limit?: integer, query?: string, with?: string, filter?: string, order?: string, data?: string, account?: string, ids?: integer|string[]) — Contacts do Kommo. action: list (busca paginada com filtros), get (por id), create (cria, body em `data`), update (atualiza; com `id` = 1 item, sem `id` = bulk com array em `data`). - kommo_contacts_get(id?: integer|string, page?: integer, limit?: integer, query?: string, with?: string, filter?: string, order?: string, data?: string, account?: string, ids?: integer|string[]) — Contacts do Kommo. action: list (busca paginada com filtros), get (por id), create (cria, body em `data`), update (atualiza; com `id` = 1 item, sem `id` = bulk com array em `data`). - kommo_contacts_list(id?: integer|string, page?: integer, limit?: integer, query?: string, with?: string, filter?: string, order?: string, data?: string, account?: string, ids?: integer|string[]) — Contacts do Kommo. action: list (busca paginada com filtros), get (por id), create (cria, body em `data`), update (atualiza; com `id` = 1 item, sem `id` = bulk com array em `data`). - kommo_contacts_update(id?: integer|string, page?: integer, limit?: integer, query?: string, with?: string, filter?: string, order?: string, data?: string, account?: string, ids?: integer|string[]) — Contacts do Kommo. action: list (busca paginada com filtros), get (por id), create (cria, body em `data`), update (atualiza; com `id` = 1 item, sem `id` = bulk com array em `data`). - kommo_custom_fields(entity_type: string, page?: integer, limit?: integer, account?: string) — Campos personalizados de um tipo de entidade (leads/contacts/companies/customers). Use os codes/ids retornados nos bodies de create/update. - kommo_customers_create(id?: integer|string, page?: integer, limit?: integer, query?: string, with?: string, filter?: string, order?: string, data?: string, account?: string, ids?: integer|string[]) — Clientes (módulo de vendas recorrentes/RFM do Kommo). action: list | get | create | update. Requer o módulo de clientes ativo na conta. - kommo_customers_get(id?: integer|string, page?: integer, limit?: integer, query?: string, with?: string, filter?: string, order?: string, data?: string, account?: string, ids?: integer|string[]) — Clientes (módulo de vendas recorrentes/RFM do Kommo). action: list | get | create | update. Requer o módulo de clientes ativo na conta. - kommo_customers_list(id?: integer|string, page?: integer, limit?: integer, query?: string, with?: string, filter?: string, order?: string, data?: string, account?: string, ids?: integer|string[]) — Clientes (módulo de vendas recorrentes/RFM do Kommo). action: list | get | create | update. Requer o módulo de clientes ativo na conta. - kommo_customers_update(id?: integer|string, page?: integer, limit?: integer, query?: string, with?: string, filter?: string, order?: string, data?: string, account?: string, ids?: integer|string[]) — Clientes (módulo de vendas recorrentes/RFM do Kommo). action: list | get | create | update. Requer o módulo de clientes ativo na conta. - kommo_events(page?: integer, limit?: integer, with?: string, filter?: string, order?: string, account?: string) — Eventos/atividades da conta (mudança de estágio, criação, etc.). Filtrável por tipo, entidade e período (`filter` JSON). - kommo_leads_create(id?: integer|string, page?: integer, limit?: integer, query?: string, with?: string, filter?: string, order?: string, data?: string, account?: string, ids?: integer|string[]) — Leads do Kommo. action: list (busca paginada com filtros), get (por id), create (cria, body em `data`), update (atualiza; com `id` = 1 item, sem `id` = bulk com array em `data`). - kommo_leads_get(id?: integer|string, page?: integer, limit?: integer, query?: string, with?: string, filter?: string, order?: string, data?: string, account?: string, ids?: integer|string[]) — Leads do Kommo. action: list (busca paginada com filtros), get (por id), create (cria, body em `data`), update (atualiza; com `id` = 1 item, sem `id` = bulk com array em `data`). - kommo_leads_list(id?: integer|string, page?: integer, limit?: integer, query?: string, with?: string, filter?: string, order?: string, data?: string, account?: string, ids?: integer|string[]) — Leads do Kommo. action: list (busca paginada com filtros), get (por id), create (cria, body em `data`), update (atualiza; com `id` = 1 item, sem `id` = bulk com array em `data`). - kommo_leads_update(id?: integer|string, page?: integer, limit?: integer, query?: string, with?: string, filter?: string, order?: string, data?: string, account?: string, ids?: integer|string[]) — Leads do Kommo. action: list (busca paginada com filtros), get (por id), create (cria, body em `data`), update (atualiza; com `id` = 1 item, sem `id` = bulk com array em `data`). - kommo_links_link(entity_type: string, entity_id: integer|string, page?: integer, limit?: integer, filter?: string, data?: string, account?: string, entity_ids?: integer|string[]) — Vínculos entre entidades (ex.: ligar um contato a um lead). action: list (vínculos de um registro) | link | unlink (`data` = JSON com to_entity_id/to_entity_type). - kommo_links_list(entity_type: string, entity_id: integer|string, page?: integer, limit?: integer, filter?: string, data?: string, account?: string, entity_ids?: integer|string[]) — Vínculos entre entidades (ex.: ligar um contato a um lead). action: list (vínculos de um registro) | link | unlink (`data` = JSON com to_entity_id/to_entity_type). - kommo_links_unlink(entity_type: string, entity_id: integer|string, page?: integer, limit?: integer, filter?: string, data?: string, account?: string, entity_ids?: integer|string[]) — Vínculos entre entidades (ex.: ligar um contato a um lead). action: list (vínculos de um registro) | link | unlink (`data` = JSON com to_entity_id/to_entity_type). - kommo_list_accounts(account?: string) — Lista as contas Kommo conectadas a este install (id/subdomínio, label). Use o id/subdomínio em `account` nas outras tools. - kommo_notes_create(entity_type: string, entity_id?: integer|string, page?: integer, limit?: integer, filter?: string, order?: string, data?: string, account?: string, entity_ids?: integer|string[]) — Notas de uma entidade. action: list (todas as notas do tipo de entidade), list_by_entity (notas de 1 registro), create (adiciona nota; `data` = JSON). Tipos comuns: common, call_in, call_out, sms_in/o - kommo_notes_list(entity_type: string, entity_id?: integer|string, page?: integer, limit?: integer, filter?: string, order?: string, data?: string, account?: string, entity_ids?: integer|string[]) — Notas de uma entidade. action: list (todas as notas do tipo de entidade), list_by_entity (notas de 1 registro), create (adiciona nota; `data` = JSON). Tipos comuns: common, call_in, call_out, sms_in/o - kommo_notes_list_by_entity(entity_type: string, entity_id?: integer|string, page?: integer, limit?: integer, filter?: string, order?: string, data?: string, account?: string, entity_ids?: integer|string[]) — Notas de uma entidade. action: list (todas as notas do tipo de entidade), list_by_entity (notas de 1 registro), create (adiciona nota; `data` = JSON). Tipos comuns: common, call_in, call_out, sms_in/o - kommo_pipelines_get(pipeline_id?: integer|string, page?: integer, limit?: integer, account?: string, pipeline_ids?: integer|string[]) — Funis (pipelines) e seus estágios. action: list (todos os funis) | get (funil por id) | statuses (estágios de um funil). - kommo_pipelines_list(pipeline_id?: integer|string, page?: integer, limit?: integer, account?: string, pipeline_ids?: integer|string[]) — Funis (pipelines) e seus estágios. action: list (todos os funis) | get (funil por id) | statuses (estágios de um funil). - kommo_pipelines_statuses(pipeline_id?: integer|string, page?: integer, limit?: integer, account?: string, pipeline_ids?: integer|string[]) — Funis (pipelines) e seus estágios. action: list (todos os funis) | get (funil por id) | statuses (estágios de um funil). - kommo_request(method: string, path: string, query_params?: string, body?: string, account?: string) — Chamada crua à API v4 do Kommo — qualquer endpoint, com o seu token. Use quando não houver uma tool dedicada (chats/Salesbot/arquivos/Kommo IA/webhooks/fontes/widgets/templates). `path` relativo (ex.: - kommo_tags_create(entity_type: string, page?: integer, limit?: integer, query?: string, filter?: string, data?: string, account?: string) — Tags de um tipo de entidade. action: list (com busca) | create (cria tags; `data` = JSON, ex.: [{"name":"vip"}]). - kommo_tags_list(entity_type: string, page?: integer, limit?: integer, query?: string, filter?: string, data?: string, account?: string) — Tags de um tipo de entidade. action: list (com busca) | create (cria tags; `data` = JSON, ex.: [{"name":"vip"}]). - kommo_talks_get(id?: integer|string, page?: integer, limit?: integer, filter?: string, account?: string, ids?: integer|string[]) — Conversas (talks) do inbox unificado. action: list (filtrável por contact_id/entity_id/only_in_work via `filter` JSON) | get (por id). É o diferencial do Kommo: o histórico de conversa por WhatsApp/In - kommo_talks_list(id?: integer|string, page?: integer, limit?: integer, filter?: string, account?: string, ids?: integer|string[]) — Conversas (talks) do inbox unificado. action: list (filtrável por contact_id/entity_id/only_in_work via `filter` JSON) | get (por id). É o diferencial do Kommo: o histórico de conversa por WhatsApp/In - kommo_tasks_create(id?: integer|string, page?: integer, limit?: integer, query?: string, with?: string, filter?: string, order?: string, data?: string, account?: string, ids?: integer|string[]) — Tasks do Kommo. action: list (busca paginada com filtros), get (por id), create (cria, body em `data`), update (atualiza; com `id` = 1 item, sem `id` = bulk com array em `data`). - kommo_tasks_get(id?: integer|string, page?: integer, limit?: integer, query?: string, with?: string, filter?: string, order?: string, data?: string, account?: string, ids?: integer|string[]) — Tasks do Kommo. action: list (busca paginada com filtros), get (por id), create (cria, body em `data`), update (atualiza; com `id` = 1 item, sem `id` = bulk com array em `data`). - kommo_tasks_list(id?: integer|string, page?: integer, limit?: integer, query?: string, with?: string, filter?: string, order?: string, data?: string, account?: string, ids?: integer|string[]) — Tasks do Kommo. action: list (busca paginada com filtros), get (por id), create (cria, body em `data`), update (atualiza; com `id` = 1 item, sem `id` = bulk com array em `data`). - kommo_tasks_update(id?: integer|string, page?: integer, limit?: integer, query?: string, with?: string, filter?: string, order?: string, data?: string, account?: string, ids?: integer|string[]) — Tasks do Kommo. action: list (busca paginada com filtros), get (por id), create (cria, body em `data`), update (atualiza; com `id` = 1 item, sem `id` = bulk com array em `data`). - kommo_users_get(id?: integer|string, page?: integer, limit?: integer, with?: string, account?: string, ids?: integer|string[]) — Usuários da conta. action: list | get (por id). `with`=role,group para incluir permissões/grupos. - kommo_users_list(id?: integer|string, page?: integer, limit?: integer, with?: string, account?: string, ids?: integer|string[]) — Usuários da conta. action: list | get (por id). `with`=role,group para incluir permissões/grupos. ## Example prompts - "List the leads in the sales pipeline stuck for more than 7 days" - "Create a new lead for Maria with a phone and a follow-up task tomorrow" - "Show the open conversations in the inbox and who's responsible" ## Links Docs: https://mcp.ai/docs/mcps/kommo Website: https://mcp.ai/mcps/kommo