WhatConverts MCP by usefulapi
Read WhatConverts leads, calls, forms, accounts and profiles; add leads and update lead value.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (2)
- LOWen whatconverts_get_call_recording_info
- LOWen whatconverts_list_phone_numbers
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": {
"whatconverts": {
"url": "https://whatconverts.usefulapi.io/mcp"
}
}
}Puntos de conexión remotos
https://whatconverts.usefulapi.io/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (15)
🟢whatconverts_list_leads(start_date, end_date, lead_type, lead_status, quotable, ...)
List tracked leads (phone calls, web forms, chats, texts, emails, events, transactions) with source/medium/campaign/keyword attribution, contact details, quote and sales values, call duration and transcripts. start_date is REQUIRED because WhatConverts otherwise returns only today's leads; a range is at most 400 days. A Profile key sees its own profile; an Agency key can narrow by account_id/profile_id. GET /leads.
Esquema de entrada
{
"type": "object",
"properties": {
"start_date": {
"type": "string",
"description": "First day/time to include (UTC), e.g. 2026-10-01 or 2026-10-01T00:00:00Z."
},
"end_date": {
"description": "Last day/time to include (UTC). Range from start_date at most 400 days.",
"type": "string"
},
"lead_type": {
"description": "Only this lead type.",
"type": "string",
"enum": [
"appointment",
"chat",
"email",
"event",
"other",
"phone_call",
"text_message",
"transaction",
"web_form"
]
},
"lead_status": {
"description": "Repeat or unique contacts.",
"type": "string",
"enum": [
"repeat",
"unique"
]
},
"quotable": {
"description": "Only leads with this quotable state.",
"type": "string",
"enum": [
"yes",
"no",
"pending",
"not_set"
]
},
"quote_value": {
"description": "Only leads with / without a quote value.",
"type": "string",
"enum": [
"has_value",
"no_value"
]
},
"sales_value": {
"description": "Only leads with / without a sales value.",
"type": "string",
"enum": [
"has_value",
"no_value"
]
},
"phone_number": {
"description": "Contact phone number, E.164 (+15551234567).",
"type": "string",
"pattern": "^\\+[1-9]\\d{6,14}$"
},
"email_address": {
"description": "Contact email address.",
"type": "string",
"minLength": 3,
"maxLength": 254
},
"user_id": {
"description": "Only leads handled by this WhatConverts user id.",
"type": "string",
"minLength": 1,
"maxLength": 50
},
"spam": {
"description": "true = only spam leads.",
"type": "boolean"
},
"duplicate": {
"description": "true = only duplicate leads.",
"type": "boolean"
},
"lead_source": {
"description": "Traffic source, e.g. google.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"lead_medium": {
"description": "Traffic medium, e.g. cpc.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"lead_campaign": {
"description": "Campaign name.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"lead_content": {
"description": "Ad content.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"lead_keyword": {
"description": "Keyword.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"account_id": {
"description": "Agency key only: only this account (see whatconverts_list_accounts).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"profile_id": {
"description": "Agency key only: only this profile.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"order": {
"description": "Sort by date created: asc or desc (default desc).",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"customer_journey": {
"description": "Include customer journey data (Elite plans only).",
"type": "boolean"
},
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-100 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"required": [
"start_date"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢whatconverts_get_lead(lead_id, customer_journey)
One lead by id with every field: type, status, attribution (source, medium, campaign, keyword, landing page), contact details, location, device, quote/sales value, call details, transcripts, form/message content, and custom fields. GET /leads/{lead_id}.
Esquema de entrada
{
"type": "object",
"properties": {
"lead_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "WhatConverts lead id (from whatconverts_list_leads)."
},
"customer_journey": {
"description": "Include the customer journey (Elite plans only).",
"type": "boolean"
}
},
"required": [
"lead_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢whatconverts_get_call_recording_info(lead_id)
Recording and voicemail facts for a phone-call lead: the recording and voicemail links, call duration, answer status, tracking/caller numbers and the call/voicemail transcripts. Returns links and text only, never audio. Taken from GET /leads/{lead_id} (the audio endpoint GET /recording returns raw MP3 and is not used).
Esquema de entrada
{
"type": "object",
"properties": {
"lead_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "WhatConverts lead id of a phone call."
}
},
"required": [
"lead_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴whatconverts_update_lead(lead_id, quotable, quote_value, sales_value, lead_url, ...)
WRITE: update a lead's sales data in WhatConverts: quotable state, quote value, sales value, the URL where the lead occurred, and/or custom/additional field values. Only the fields you pass change; it overwrites the previous values of those fields. Sends no notifications. At least one field is required. POST /leads/{lead_id}.
Esquema de entrada
{
"type": "object",
"properties": {
"lead_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "WhatConverts lead id."
},
"quotable": {
"description": "Quotable state.",
"type": "string",
"enum": [
"yes",
"no",
"pending",
"not_set"
]
},
"quote_value": {
"description": "Quote value (number, account currency).",
"type": "number",
"minimum": 0,
"maximum": 1000000000
},
"sales_value": {
"description": "Sales value (number, account currency).",
"type": "number",
"minimum": 0,
"maximum": 1000000000
},
"lead_url": {
"description": "URL where the lead occurred.",
"type": "string",
"maxLength": 2000,
"format": "uri"
},
"additional_fields": {
"description": "Additional field values by field name, e.g. {\"Reason\": \"pricing\"}.",
"type": "object",
"propertyNames": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[^\\[\\]&=#%\\x00-\\x1f]+$"
},
"additionalProperties": {
"type": "string",
"maxLength": 2000
}
},
"custom_fields": {
"description": "Custom lead field values by field name.",
"type": "object",
"propertyNames": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[^\\[\\]&=#%\\x00-\\x1f]+$"
},
"additionalProperties": {
"type": "string",
"maxLength": 2000
}
}
},
"required": [
"lead_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡whatconverts_create_lead(lead_type, profile_id, date_created, quotable, quote_value, ...)
WRITE: add a lead to WhatConverts, for example an offline phone call, a form submission from another system or a sale you want attributed. It appears in reports and counts toward lead totals; send_notification is always off, so no emails go out. Not idempotent: calling twice creates two leads. A Profile key adds to its own profile; an Agency key must pass profile_id. POST /leads.
Esquema de entrada
{
"type": "object",
"properties": {
"lead_type": {
"type": "string",
"enum": [
"appointment",
"chat",
"email",
"event",
"other",
"phone_call",
"text_message",
"transaction",
"web_form"
],
"description": "Lead type."
},
"profile_id": {
"description": "Profile to add the lead to (required with an Agency key, not with a Profile key).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"date_created": {
"description": "When the lead happened (UTC); default now.",
"type": "string"
},
"quotable": {
"type": "string",
"enum": [
"yes",
"no",
"pending",
"not_set"
]
},
"quote_value": {
"type": "number",
"minimum": 0,
"maximum": 1000000000
},
"sales_value": {
"type": "number",
"minimum": 0,
"maximum": 1000000000
},
"lead_source": {
"description": "Traffic source, e.g. google.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"lead_medium": {
"description": "Traffic medium, e.g. cpc.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"lead_campaign": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"lead_content": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"lead_keyword": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"email_address": {
"description": "Contact email address (stored on the lead; nothing is sent to it).",
"type": "string",
"minLength": 3,
"maxLength": 254
},
"phone_number": {
"description": "Contact phone, E.164.",
"type": "string",
"pattern": "^\\+[1-9]\\d{6,14}$"
},
"lead_url": {
"description": "URL where the lead occurred.",
"type": "string",
"maxLength": 2000,
"format": "uri"
},
"landing_url": {
"description": "URL where the visitor arrived.",
"type": "string",
"maxLength": 2000,
"format": "uri"
},
"form_name": {
"description": "Form name (web_form only).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"message": {
"description": "Message body (text_message only).",
"type": "string",
"minLength": 1,
"maxLength": 5000
},
"call_duration_seconds": {
"description": "Call length in seconds (phone_call only).",
"type": "integer",
"minimum": 0,
"maximum": 86400
},
"answer_status": {
"description": "phone_call only.",
"type": "string",
"enum": [
"Answered",
"No Answer",
"Busy"
]
},
"caller_number": {
"description": "Caller number, E.164 (phone_call / text_message).",
"type": "string",
"pattern": "^\\+[1-9]\\d{6,14}$"
},
"tracking_number": {
"description": "Tracking number, E.164 (phone_call / text_message).",
"type": "string",
"pattern": "^\\+[1-9]\\d{6,14}$"
},
"destination_number": {
"description": "Destination number, E.164 (phone_call).",
"type": "string",
"pattern": "^\\+[1-9]\\d{6,14}$"
},
"additional_fields": {
"type": "object",
"propertyNames": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[^\\[\\]&=#%\\x00-\\x1f]+$"
},
"additionalProperties": {
"type": "string",
"maxLength": 2000
}
},
"custom_fields": {
"type": "object",
"propertyNames": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[^\\[\\]&=#%\\x00-\\x1f]+$"
},
"additionalProperties": {
"type": "string",
"maxLength": 2000
}
}
},
"required": [
"lead_type"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢whatconverts_list_accounts(start_date, end_date, order, page, per_page)
Agency key only: list the accounts (clients) of the agency with their profiles (id, name, date created). Use the ids to filter leads. start_date/end_date filter by creation date (WhatConverts defaults start_date to today, so pass an early start_date to see all). GET /accounts.
Esquema de entrada
{
"type": "object",
"properties": {
"start_date": {
"description": "Accounts created from this date (UTC). Pass e.g. 2000-01-01 to list all.",
"type": "string"
},
"end_date": {
"description": "Accounts created up to this date (UTC).",
"type": "string"
},
"order": {
"description": "Sort by date created: asc or desc (default desc).",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-250 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 250
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢whatconverts_get_account(account_id)
Agency key only: one account by id with its profiles. GET /accounts/{account_id}.
Esquema de entrada
{
"type": "object",
"properties": {
"account_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "WhatConverts account id."
}
},
"required": [
"account_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢whatconverts_list_profiles(account_id, start_date, end_date, order, page, ...)
Agency key only: list the profiles (websites/campaign sets) of one account. start_date/end_date filter by creation date (WhatConverts defaults start_date to today, so pass an early start_date to see all). GET /accounts/{account_id}/profiles.
Esquema de entrada
{
"type": "object",
"properties": {
"account_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "WhatConverts account id."
},
"start_date": {
"description": "Profiles created from this date (UTC). Pass e.g. 2000-01-01 to list all.",
"type": "string"
},
"end_date": {
"description": "Profiles created up to this date (UTC).",
"type": "string"
},
"order": {
"description": "Sort by date created: asc or desc (default desc).",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-250 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 250
}
},
"required": [
"account_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢whatconverts_get_profile(account_id, profile_id)
Agency key only: one profile by id (name, date created). GET /accounts/{account_id}/profiles/{profile_id}.
Esquema de entrada
{
"type": "object",
"properties": {
"account_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "WhatConverts account id."
},
"profile_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "WhatConverts profile id."
}
},
"required": [
"account_id",
"profile_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢whatconverts_list_users(user_type, start_date, end_date, order, page, ...)
Agency key only: list WhatConverts users (email, role, whether activation is pending) of the master account or of client accounts. start_date/end_date filter by creation date (WhatConverts defaults start_date to today, so pass an early start_date to see all). GET /users.
Esquema de entrada
{
"type": "object",
"properties": {
"user_type": {
"description": "master_account (default) or account users.",
"type": "string",
"enum": [
"master_account",
"account"
]
},
"start_date": {
"description": "Users created from this date (UTC). Pass e.g. 2000-01-01 to list all.",
"type": "string"
},
"end_date": {
"description": "Users created up to this date (UTC).",
"type": "string"
},
"order": {
"description": "Sort by date created: asc or desc (default desc).",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-250 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 250
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢whatconverts_get_user(user_id)
Agency key only: one user by id with role, notification settings and (for account users) the accounts they can access. GET /users/{user_id}.
Esquema de entrada
{
"type": "object",
"properties": {
"user_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "WhatConverts user id."
}
},
"required": [
"user_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢whatconverts_list_roles(role_type, order, page, per_page)
Agency key only: list user roles (id, name, master-account or account type). GET /roles.
Esquema de entrada
{
"type": "object",
"properties": {
"role_type": {
"description": "master_account (default) or account roles.",
"type": "string",
"enum": [
"master_account",
"account"
]
},
"order": {
"description": "Sort by role name (default asc).",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-250 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 250
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢whatconverts_get_role(role_id)
Agency key only: one role with its permission levels (none/view/edit) per area. GET /roles/{role_id}.
Esquema de entrada
{
"type": "object",
"properties": {
"role_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "WhatConverts role id."
}
},
"required": [
"role_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢whatconverts_list_phone_numbers(account_id, profile_id, page, per_page)
List the call-tracking numbers: tracking and destination number, call flow, trigger (source/medium), call recording and messaging flags, last used. A Profile key lists its own profile; an Agency key may filter by account_id/profile_id. GET /tracking/numbers.
Esquema de entrada
{
"type": "object",
"properties": {
"account_id": {
"description": "Agency key only: only this account.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"profile_id": {
"description": "Agency key only: only this profile.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-250 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 250
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢whatconverts_list_web_forms(account_id, profile_id, page, per_page)
List the web forms WhatConverts tracks (id, name, how the form and its submit are matched on the page). A Profile key lists its own profile; an Agency key may filter by account_id/profile_id. GET /tracking/forms.
Esquema de entrada
{
"type": "object",
"properties": {
"account_id": {
"description": "Agency key only: only this account.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"profile_id": {
"description": "Agency key only: only this profile.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-250 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 250
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Comunidad
Evidencia