Kommo MCP by usefulapi
List leads, contacts, companies and tasks; create and update leads in Kommo.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"kommo": {
"url": "https://kommo.usefulapi.io/mcp"
}
}
}Puntos de conexión remotos
https://kommo.usefulapi.io/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (14)
🟢kommo_get_account(with)
Get the Kommo account: id, subdomain, country, currency and the current user id. Good first call to confirm the connection. GET /api/v4/account.
Esquema de entrada
{
"type": "object",
"properties": {
"with": {
"description": "Comma-separated extra data to embed, e.g. 'contacts,loss_reason' (see the Kommo reference for each entity).",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kommo_list_pipelines
List the lead pipelines with their stages (status ids, names, sort order). Use it to find the pipeline_id and status_id values for lead filters and writes. GET /api/v4/leads/pipelines.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kommo_list_users(with, page, limit)
List the users of the account with their ids, names, emails and roles. Use it to find responsible_user_id values. GET /api/v4/users.
Esquema de entrada
{
"type": "object",
"properties": {
"with": {
"description": "Comma-separated extra data to embed, e.g. 'contacts,loss_reason' (see the Kommo reference for each entity).",
"type": "string"
},
"page": {
"description": "Page number (default 1). Use _links.next in the result to see whether another page exists.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"limit": {
"description": "Entities per page (max 250; default 50).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 250
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kommo_list_custom_fields(entity, page, limit)
List the custom fields of leads, contacts or companies (ids, names, types, enum options). Use it to find field ids before writing values. GET /api/v4/{entity}/custom_fields.
Esquema de entrada
{
"type": "object",
"properties": {
"entity": {
"type": "string",
"enum": [
"leads",
"contacts",
"companies"
],
"description": "Entity type: leads, contacts or companies."
},
"page": {
"description": "Page number (default 1). Use _links.next in the result to see whether another page exists.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"limit": {
"description": "Entities per page (max 250; default 50).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 250
}
},
"required": [
"entity"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kommo_list_leads(query, pipeline_id, responsible_user_id, updated_from, updated_to, ...)
List deals (leads) with price, stage, pipeline, responsible user and timestamps. Filter by text, pipeline, owner or the update window. One request per call. GET /api/v4/leads.
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"description": "Search text across the filled lead fields.",
"type": "string"
},
"pipeline_id": {
"description": "Only leads in this pipeline.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"responsible_user_id": {
"description": "Only leads owned by this user id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"updated_from": {
"description": "Only leads updated at or after this Unix time.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"updated_to": {
"description": "Only leads updated at or before this Unix time.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"order_updated_at": {
"description": "Sort direction.",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"with": {
"description": "Comma-separated extra data to embed, e.g. 'contacts,loss_reason' (see the Kommo reference for each entity).",
"type": "string"
},
"page": {
"description": "Page number (default 1). Use _links.next in the result to see whether another page exists.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"limit": {
"description": "Entities per page (max 250; default 50).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 250
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kommo_get_lead(lead_id, with)
Get one lead by id, with optional embedded data (contacts, loss_reason, source). GET /api/v4/leads/{id}.
Esquema de entrada
{
"type": "object",
"properties": {
"lead_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Numeric Kommo id."
},
"with": {
"description": "Comma-separated extra data to embed, e.g. 'contacts,loss_reason' (see the Kommo reference for each entity).",
"type": "string"
}
},
"required": [
"lead_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kommo_list_contacts(query, responsible_user_id, with, page, limit)
List contacts (people) with their names, custom fields (email, phone) and responsible user. One request per call. GET /api/v4/contacts.
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"description": "Search text, e.g. a name, email or phone.",
"type": "string"
},
"responsible_user_id": {
"description": "Only contacts owned by this user id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"with": {
"description": "Comma-separated extra data to embed, e.g. 'contacts,loss_reason' (see the Kommo reference for each entity).",
"type": "string"
},
"page": {
"description": "Page number (default 1). Use _links.next in the result to see whether another page exists.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"limit": {
"description": "Entities per page (max 250; default 50).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 250
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kommo_get_contact(contact_id, with)
Get one contact by id, with optional embedded data (leads, companies). GET /api/v4/contacts/{id}.
Esquema de entrada
{
"type": "object",
"properties": {
"contact_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Numeric Kommo id."
},
"with": {
"description": "Comma-separated extra data to embed, e.g. 'contacts,loss_reason' (see the Kommo reference for each entity).",
"type": "string"
}
},
"required": [
"contact_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kommo_list_companies(query, responsible_user_id, with, page, limit)
List companies (organisations) with their names, custom fields and responsible user. One request per call. GET /api/v4/companies.
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"description": "Search text, e.g. a company name.",
"type": "string"
},
"responsible_user_id": {
"description": "Only companies owned by this user id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"with": {
"description": "Comma-separated extra data to embed, e.g. 'contacts,loss_reason' (see the Kommo reference for each entity).",
"type": "string"
},
"page": {
"description": "Page number (default 1). Use _links.next in the result to see whether another page exists.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"limit": {
"description": "Entities per page (max 250; default 50).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 250
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kommo_get_company(company_id, with)
Get one company by id, with optional embedded data (contacts, leads). GET /api/v4/companies/{id}.
Esquema de entrada
{
"type": "object",
"properties": {
"company_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Numeric Kommo id."
},
"with": {
"description": "Comma-separated extra data to embed, e.g. 'contacts,loss_reason' (see the Kommo reference for each entity).",
"type": "string"
}
},
"required": [
"company_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kommo_list_tasks(responsible_user_id, is_completed, entity_type, entity_id, page, ...)
List follow-up tasks, optionally only open ones, for one user or one linked entity. One request per call. GET /api/v4/tasks.
Esquema de entrada
{
"type": "object",
"properties": {
"responsible_user_id": {
"description": "Only tasks for this user id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"is_completed": {
"description": "true = completed only; false = open only.",
"type": "boolean"
},
"entity_type": {
"description": "Only tasks linked to this entity type.",
"type": "string",
"enum": [
"leads",
"contacts",
"companies"
]
},
"entity_id": {
"description": "Only tasks linked to this entity id (use with entity_type).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"page": {
"description": "Page number (default 1). Use _links.next in the result to see whether another page exists.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"limit": {
"description": "Entities per page (max 250; default 50).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 250
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kommo_list_notes(entity, entity_id, page, limit)
List the notes (comments, calls, status changes) of one lead, contact or company. One request per call. GET /api/v4/{entity}/{id}/notes.
Esquema de entrada
{
"type": "object",
"properties": {
"entity": {
"type": "string",
"enum": [
"leads",
"contacts",
"companies"
],
"description": "Entity type: leads, contacts or companies."
},
"entity_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Numeric Kommo id."
},
"page": {
"description": "Page number (default 1). Use _links.next in the result to see whether another page exists.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"limit": {
"description": "Entities per page (max 250; default 50).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 250
}
},
"required": [
"entity",
"entity_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴kommo_create_lead(name, price, pipeline_id, status_id, responsible_user_id)
Create one lead (deal) in a pipeline stage. Creates a new record on every call: it does not check for duplicates. POST /api/v4/leads.
Esquema de entrada
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "Lead name."
},
"price": {
"description": "Deal value.",
"type": "number",
"minimum": 0
},
"pipeline_id": {
"description": "Pipeline id (see kommo_list_pipelines).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"status_id": {
"description": "Stage id inside the pipeline (see kommo_list_pipelines).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"responsible_user_id": {
"description": "Owner user id (see kommo_list_users).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡kommo_update_lead(lead_id, name, price, pipeline_id, status_id, ...)
Change one lead: name, value, pipeline, stage or owner. Only the given fields change. Repeating the same call gives the same result. PATCH /api/v4/leads/{id}.
Esquema de entrada
{
"type": "object",
"properties": {
"lead_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Numeric Kommo id."
},
"name": {
"description": "New lead name.",
"type": "string",
"minLength": 1,
"maxLength": 255
},
"price": {
"description": "New deal value.",
"type": "number",
"minimum": 0
},
"pipeline_id": {
"description": "Move to this pipeline id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"status_id": {
"description": "Move to this stage id (inside the pipeline).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"responsible_user_id": {
"description": "New owner user id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"lead_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Comunidad
Evidencia