# WhatConverts MCP by usefulapi (remote · whatconverts.usefulapi.io)

Read WhatConverts leads, calls, forms, accounts and profiles; add leads and update lead value.

- Trust score: 64/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-17

## Components

- remote · `whatconverts.usefulapi.io`: 64/100 (this document), [markdown](https://verifymcp.io/servers/io-usefulapi-whatconverts/whatconverts.md), [page](https://verifymcp.io/servers/io-usefulapi-whatconverts/whatconverts)

## Channel facts

- Endpoint: `https://whatconverts.usefulapi.io/mcp`
- Transports: `streamable-http`
- Auth: `required`
- 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-17.

- **Endpoint Security**: 78/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token.
  - HTTPS enforcement could not be verified: the plaintext port redirected somewhere other than https, so enforcement is unproven.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
  - The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents.
- **Transport & Reachability**: 0/100
  - Transport check failed: declared streamable-http, but the endpoint redirected instead of responding directly.
- **Schema Quality & AI Usability**: 77/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 2688 tokens (~179/item across 15 items; 15 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 17/100
  - Stability observed for 5 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 97/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 91% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 15 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 16 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 60/100
  - Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28.

## Install

### How do I install the WhatConverts MCP by usefulapi server?

WhatConverts MCP by usefulapi is a hosted endpoint at https://whatconverts.usefulapi.io/mcp, 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 io-usefulapi-whatconverts 'https://whatconverts.usefulapi.io/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "io-usefulapi-whatconverts": {
      "url": "https://whatconverts.usefulapi.io/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "io-usefulapi-whatconverts": {
      "type": "http",
      "url": "https://whatconverts.usefulapi.io/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.io-usefulapi-whatconverts]
url = "https://whatconverts.usefulapi.io/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "io-usefulapi-whatconverts": {
      "type": "remote",
      "url": "https://whatconverts.usefulapi.io/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add io-usefulapi-whatconverts --url 'https://whatconverts.usefulapi.io/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  io-usefulapi-whatconverts:
    url: "https://whatconverts.usefulapi.io/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "io-usefulapi-whatconverts": {
      "Transport": "http",
      "Url": "https://whatconverts.usefulapi.io/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add io-usefulapi-whatconverts -t streamable-http -u 'https://whatconverts.usefulapi.io/mcp'
```

### Other

```json
{
  "mcpServers": {
    "io-usefulapi-whatconverts": {
      "type": "http",
      "url": "https://whatconverts.usefulapi.io/mcp"
    }
  }
}
```

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-10-17 (score 64, +1)

No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-15 (score 63, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-14 (score 62, +3)

- [security] The server rewrote its instructions, which are the text every model session reads
- [functional] The server now declares the “prompts” capability
- [functional] First check of Schema quality: 100
- [functional] New prompt “getting_started”
- [functional] Server version: 1.0.0 → 1.1.0

### 2026-10-13 (score 59, 0)

- [functional improvement] Stability: unverified → 0.03

### 2026-10-12 (score 59)

First indexed and scored.

## MCP tools (15)

### `whatconverts_list_leads` (~489 tokens)

List leads

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.

Input parameters:

- `account_id` (integer): Agency key only: only this account (see whatconverts_list_accounts).
- `customer_journey` (boolean): Include customer journey data (Elite plans only).
- `duplicate` (boolean): true = only duplicate leads.
- `email_address` (string): Contact email address.
- `end_date` (string): Last day/time to include (UTC). Range from start_date at most 400 days.
- `lead_campaign` (string): Campaign name.
- `lead_content` (string): Ad content.
- `lead_keyword` (string): Keyword.
- `lead_medium` (string): Traffic medium, e.g. cpc.
- `lead_source` (string): Traffic source, e.g. google.
- `lead_status` (string): Repeat or unique contacts.
- `lead_type` (string): Only this lead type.
- `order` (string): Sort by date created: asc or desc (default desc).
- `page` (integer): Page number, from 1 (default 1). Pass the previous reply's next_page.
- `per_page` (integer): Results per page, 1-100 (default 25).
- `phone_number` (string): Contact phone number, E.164 (+15551234567).
- `profile_id` (integer): Agency key only: only this profile.
- `quotable` (string): Only leads with this quotable state.
- `quote_value` (string): Only leads with / without a quote value.
- `sales_value` (string): Only leads with / without a sales value.
- `spam` (boolean): true = only spam leads.
- `start_date` (string, required): First day/time to include (UTC), e.g. 2026-10-01 or 2026-10-01T00:00:00Z.
- `user_id` (string): Only leads handled by this WhatConverts user id.

### `whatconverts_get_lead` (~108 tokens)

Get lead

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}.

Input parameters:

- `customer_journey` (boolean): Include the customer journey (Elite plans only).
- `lead_id` (integer, required): WhatConverts lead id (from whatconverts_list_leads).

### `whatconverts_get_call_recording_info` (~101 tokens)

Get call recording info

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).

Input parameters:

- `lead_id` (integer, required): WhatConverts lead id of a phone call.

### `whatconverts_update_lead` (~192 tokens)

Update lead

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}.

Input parameters:

- `additional_fields` (object): Additional field values by field name, e.g. {"Reason": "pricing"}.
- `custom_fields` (object): Custom lead field values by field name.
- `lead_id` (integer, required): WhatConverts lead id.
- `lead_url` (string): URL where the lead occurred.
- `quotable` (string): Quotable state.
- `quote_value` (number): Quote value (number, account currency).
- `sales_value` (number): Sales value (number, account currency).

### `whatconverts_create_lead` (~419 tokens)

Create lead

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.

Input parameters:

- `additional_fields` (object)
- `answer_status` (string): phone_call only.
- `call_duration_seconds` (integer): Call length in seconds (phone_call only).
- `caller_number` (string): Caller number, E.164 (phone_call / text_message).
- `custom_fields` (object)
- `date_created` (string): When the lead happened (UTC); default now.
- `destination_number` (string): Destination number, E.164 (phone_call).
- `email_address` (string): Contact email address (stored on the lead; nothing is sent to it).
- `form_name` (string): Form name (web_form only).
- `landing_url` (string): URL where the visitor arrived.
- `lead_campaign` (string)
- `lead_content` (string)
- `lead_keyword` (string)
- `lead_medium` (string): Traffic medium, e.g. cpc.
- `lead_source` (string): Traffic source, e.g. google.
- `lead_type` (string, required): Lead type.
- `lead_url` (string): URL where the lead occurred.
- `message` (string): Message body (text_message only).
- `phone_number` (string): Contact phone, E.164.
- `profile_id` (integer): Profile to add the lead to (required with an Agency key, not with a Profile key).
- `quotable` (string)
- `quote_value` (number)
- `sales_value` (number)
- `tracking_number` (string): Tracking number, E.164 (phone_call / text_message).

### `whatconverts_list_accounts` (~183 tokens)

List accounts

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.

Input parameters:

- `end_date` (string): Accounts created up to this date (UTC).
- `order` (string): Sort by date created: asc or desc (default desc).
- `page` (integer): Page number, from 1 (default 1). Pass the previous reply's next_page.
- `per_page` (integer): Results per page, 1-250 (default 25).
- `start_date` (string): Accounts created from this date (UTC). Pass e.g. 2000-01-01 to list all.

### `whatconverts_get_account` (~43 tokens)

Get account

Agency key only: one account by id with its profiles. GET /accounts/{account_id}.

Input parameters:

- `account_id` (integer, required): WhatConverts account id.

### `whatconverts_list_profiles` (~188 tokens)

List profiles

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.

Input parameters:

- `account_id` (integer, required): WhatConverts account id.
- `end_date` (string): Profiles created up to this date (UTC).
- `order` (string): Sort by date created: asc or desc (default desc).
- `page` (integer): Page number, from 1 (default 1). Pass the previous reply's next_page.
- `per_page` (integer): Results per page, 1-250 (default 25).
- `start_date` (string): Profiles created from this date (UTC). Pass e.g. 2000-01-01 to list all.

### `whatconverts_get_profile` (~63 tokens)

Get profile

Agency key only: one profile by id (name, date created). GET /accounts/{account_id}/profiles/{profile_id}.

Input parameters:

- `account_id` (integer, required): WhatConverts account id.
- `profile_id` (integer, required): WhatConverts profile id.

### `whatconverts_list_users` (~196 tokens)

List users

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.

Input parameters:

- `end_date` (string): Users created up to this date (UTC).
- `order` (string): Sort by date created: asc or desc (default desc).
- `page` (integer): Page number, from 1 (default 1). Pass the previous reply's next_page.
- `per_page` (integer): Results per page, 1-250 (default 25).
- `start_date` (string): Users created from this date (UTC). Pass e.g. 2000-01-01 to list all.
- `user_type` (string): master_account (default) or account users.

### `whatconverts_get_user` (~56 tokens)

Get user

Agency key only: one user by id with role, notification settings and (for account users) the accounts they can access. GET /users/{user_id}.

Input parameters:

- `user_id` (integer, required): WhatConverts user id.

### `whatconverts_list_roles` (~108 tokens)

List roles

Agency key only: list user roles (id, name, master-account or account type). GET /roles.

Input parameters:

- `order` (string): Sort by role name (default asc).
- `page` (integer): Page number, from 1 (default 1). Pass the previous reply's next_page.
- `per_page` (integer): Results per page, 1-250 (default 25).
- `role_type` (string): master_account (default) or account roles.

### `whatconverts_get_role` (~49 tokens)

Get role

Agency key only: one role with its permission levels (none/view/edit) per area. GET /roles/{role_id}.

Input parameters:

- `role_id` (integer, required): WhatConverts role id.

### `whatconverts_list_phone_numbers` (~142 tokens)

List tracking phone numbers

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.

Input parameters:

- `account_id` (integer): Agency key only: only this account.
- `page` (integer): Page number, from 1 (default 1). Pass the previous reply's next_page.
- `per_page` (integer): Results per page, 1-250 (default 25).
- `profile_id` (integer): Agency key only: only this profile.

### `whatconverts_list_web_forms` (~136 tokens)

List tracked web forms

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.

Input parameters:

- `account_id` (integer): Agency key only: only this account.
- `page` (integer): Page number, from 1 (default 1). Pass the previous reply's next_page.
- `per_page` (integer): Results per page, 1-250 (default 25).
- `profile_id` (integer): Agency key only: only this profile.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/io-usefulapi-whatconverts/whatconverts#diagnostics

## Score history

- 2026-10-17: 64
- 2026-10-16: 63
- 2026-10-15: 63
- 2026-10-14: 62
- 2026-10-13: 59
- 2026-10-12: 59

## Common questions

### What is the WhatConverts MCP by usefulapi server?

WhatConverts MCP by usefulapi is listed in the public MCP registry as io.usefulapi/whatconverts. Read WhatConverts leads, calls, forms, accounts and profiles; add leads and update lead value. This page covers its hosted endpoint (https://whatconverts.usefulapi.io/mcp).

### Is the WhatConverts MCP by usefulapi server safe to use?

WhatConverts MCP by usefulapi scores 64 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 WhatConverts MCP by usefulapi server expose?

WhatConverts MCP by usefulapi exposes 15 tools: whatconverts_list_leads, whatconverts_get_lead, whatconverts_get_call_recording_info, whatconverts_update_lead, whatconverts_create_lead, and 10 more. Their descriptions and schemas cost roughly 2,473 tokens of context every time the server is loaded.

### Does the WhatConverts MCP by usefulapi server require authentication?

Yes. WhatConverts MCP by usefulapi asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

### Is the WhatConverts MCP by usefulapi server still maintained?

WhatConverts MCP by usefulapi is still listed as active in the MCP registry. We last reached this channel on 17 October 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://whatconverts.usefulapi.io/mcp
- Repository: https://github.com/m190/usefulapi-mcp
- Website: https://usefulapi.io/whatconverts/
- Changelog RSS feed: https://verifymcp.io/servers/io-usefulapi-whatconverts/whatconverts.xml
- Changelog JSON feed: https://verifymcp.io/servers/io-usefulapi-whatconverts/whatconverts.json
- HTML version of this page: https://verifymcp.io/servers/io-usefulapi-whatconverts/whatconverts
