# Laposta MCP by usefulapi (remote · laposta.usefulapi.io)

Read Laposta lists, members, campaigns and reports; add members and build campaigns.

- Trust score: 18/100 (low)
- Change this week: −46
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

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

## Channel facts

- Endpoint: `https://laposta.usefulapi.io/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.11.2`

## 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-11-05.

- **Endpoint Security**: 46/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not yet verified: we couldn't confirm whether this endpoint requires it.
  - 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.
- **Transport & Reachability**: 0/100
  - Transport check failed: declared streamable-http, but the endpoint redirected instead of responding directly.
- **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: 5 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 Laposta MCP by usefulapi server?

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

### Cursor

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

### VS Code

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

### Codex

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

### opencode

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

### OpenClaw

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

### Hermes

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

### Netclaw

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

### Vellum

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

### Other

```json
{
  "mcpServers": {
    "io-usefulapi-laposta": {
      "type": "http",
      "url": "https://laposta.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-11-02 (score 18, −50)

- [security regression] Endpoint reachability: reachable → not serving MCP
- [security regression] Tool safety: pass → unverified
- [security regression] Authorization: pass → unverified
- [security regression] Stability: 0.20 → unverified
- [functional regression] Schema quality: 100 → unverified
- [functional regression] Capabilities: pass → unverified
- [functional regression] Tool coverage: 100 → unverified

### 2026-11-01 (score 68, +1)

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

### 2026-10-31 (score 67, +3)

- [security improvement] Authorization: partial → pass
- [functional improvement] MCP protocol: fail → pass
- [functional] New prompt “compare_the_results_of_recent_newsletters”
- [functional] New prompt “count_subscribers_on_each_mailing_list”
- [functional] New prompt “prepare_a_newsletter_draft_and_send_a_test”
- [functional] New prompt “review_a_campaign_before_it_goes_out”
- [functional] New prompt “see_what_one_subscriber_has_done”
- [functional] New prompt “subscribe_or_unsubscribe_people”
- [functional] MCP protocol version: 2025-06-18 → 2025-11-25
- [functional] Server version: 1.7.0 → 1.9.0
- [functional] Server version: 1.6.0 → 1.7.0
- [functional] Server version: 1.5.2 → 1.6.0

### 2026-10-30 (score 64, 0)

- [functional] Server version: 1.5.1 → 1.5.2
- [functional] Server version: 1.5.0 → 1.5.1

### 2026-10-29 (score 64, +1)

- [functional] Server version: 1.4.0 → 1.5.0
- [functional] Server version: 1.3.0 → 1.4.0

### 2026-10-28 (score 63, 0)

- [functional] Server version: 1.1.0 → 1.3.0

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

- [functional improvement] Stability: unverified → 0.03
- [functional] Server version: 1.0.0 → 1.1.0

### 2026-10-26 (score 62)

First indexed and scored.

## MCP tools (18)

### `laposta_list_lists` (~39 tokens)

List mailing lists

List all mailing lists of the Laposta account with member counts (active, unsubscribed, cleaned). Use the list_id in the other tools.

### `laposta_get_list` (~42 tokens)

Get a mailing list

Get one mailing list: name, state, notification addresses and member counts.

Input parameters:

- `list_id` (string, required): The list id (from laposta_list_lists).

### `laposta_list_fields` (~63 tokens)

List a list's fields

List the custom fields of a mailing list (name, custom_name used as the key in custom_fields, datatype, required, options). Call this before adding or updating a member.

Input parameters:

- `list_id` (string, required): The list id (from laposta_list_lists).

### `laposta_list_segments` (~48 tokens)

List a list's segments

List the segments of a mailing list (a segment id can be a campaign recipient together with its list).

Input parameters:

- `list_id` (string, required): The list id (from laposta_list_lists).

### `laposta_list_members` (~224 tokens)

List members of a list

List the members (subscribers) of a mailing list, one page at a time. Filter by state, free-text search (email and field values) or label. Contains personal data: only fetch what the task needs.

Input parameters:

- `cursor` (string): Cursor: pass the previous reply's next_cursor unchanged, with the same filters.
- `label` (string): Only members with this label (by name).
- `limit` (integer): Items per page (default 25, max 100; a large page can be cut at 50,000 characters and lose its next_cursor).
- `list_id` (string, required): The list id (from laposta_list_lists).
- `order` (string): Sort direction for order_by (default asc).
- `order_by` (string): email, signup_date, or a text field's custom_name (comma-separated for several).
- `search` (string): Only members containing this text in the email or any text/number/choice field.
- `state` (string): Only members in this state (default: all).

### `laposta_get_member` (~67 tokens)

Get a member

Get one member of a list by member id or email address: state, signup/confirm dates and custom field values.

Input parameters:

- `list_id` (string, required): The list id (from laposta_list_lists).
- `member` (string, required): The member id OR the member's email address.

### `laposta_get_member_history` (~205 tokens)

Get a member's event history

The event history of one member (subscribed, confirmed, opened, clicked, bounced, unsubscribed, automations ...), newest first by default. Optionally limited to one campaign or a date range. Paged by cursor.

Input parameters:

- `campaign_id` (string): Only events of this campaign.
- `cursor` (string): Cursor: pass the previous reply's next_cursor unchanged, with the same filters.
- `event_date_from` (string): Events from this moment, inclusive.
- `event_date_to` (string): Events before this moment, exclusive.
- `limit` (integer): Items per page (default 25, max 100; a large page can be cut at 50,000 characters and lose its next_cursor).
- `list_id` (string, required): The list id (from laposta_list_lists).
- `member` (string, required): The member id OR the member's email address.
- `order` (string): Sort by event date (default desc).

### `laposta_list_campaigns` (~76 tokens)

List campaigns

List the account's campaigns (name, subject, sender, recipient lists, delivery moments). Use limit/offset to page.

Input parameters:

- `limit` (integer): Items to return (default 100, max 500).
- `offset` (integer): Items to skip (default 0). Pass the previous reply's next_offset.

### `laposta_get_campaign` (~53 tokens)

Get a campaign

Get one campaign: name, subject, preview text, sender, reply-to, recipients, delivery moments and web version URL.

Input parameters:

- `campaign_id` (string, required): The campaign id (from laposta_list_campaigns).

### `laposta_get_campaign_content` (~75 tokens)

Get a campaign's content

Get the plain-text content of a campaign (and its import_url if it was imported). Set include_html to also get the full HTML (large).

Input parameters:

- `campaign_id` (string, required): The campaign id (from laposta_list_campaigns).
- `include_html` (boolean): Also return the HTML body (default false).

### `laposta_get_campaign_history` (~174 tokens)

Get a campaign's event history

Recipient events of one campaign (delivered, opened, clicked, bounced, unsubscribed ...), newest first by default, optionally within a date range. Paged by cursor. For totals use laposta_get_report.

Input parameters:

- `campaign_id` (string, required): The campaign id (from laposta_list_campaigns).
- `cursor` (string): Cursor: pass the previous reply's next_cursor unchanged, with the same filters.
- `event_date_from` (string): Events from this moment, inclusive.
- `event_date_to` (string): Events before this moment, exclusive.
- `limit` (integer): Items per page (default 25, max 100; a large page can be cut at 50,000 characters and lose its next_cursor).
- `order` (string): Sort by event date (default desc).

### `laposta_list_reports` (~79 tokens)

List campaign reports

Result figures of all campaigns: sent, accepted, opened, clicked, bounced, unsubscribed, with ratios. Use limit/offset to page.

Input parameters:

- `limit` (integer): Items to return (default 100, max 500).
- `offset` (integer): Items to skip (default 0). Pass the previous reply's next_offset.

### `laposta_get_report` (~55 tokens)

Get a campaign report

Result figures of one campaign: sent, accepted, unique opens and clicks, bounces, complaints, unsubscribes and their ratios.

Input parameters:

- `campaign_id` (string, required): The campaign id (from laposta_list_campaigns).

### `laposta_add_member` (~251 tokens)

Add a member to a list

WRITE: add one email address to a mailing list (subscribe). On a double opt-in list Laposta sends the confirmation email to that address. The address must have given consent. With upsert, an existing active member's fields are overwritten; an unsubscribed member is re-activated unless suppress_reactivation is set.

Input parameters:

- `custom_fields` (object): Custom field values keyed by the field's custom_name (the variable name shown by laposta_list_fields). Multi-choice fields take an array of option values.
- `email` (string, required)
- `ip` (string, required): IP address the signup came from (required by Laposta; use the signup source's address, or your own server's if it was entered by staff).
- `list_id` (string, required): The list id (from laposta_list_lists).
- `source_url` (string): URL the signup came from.
- `suppress_email_notification` (boolean): Do not send the list's signup notification email.
- `suppress_reactivation` (boolean): With upsert: do not re-activate an unsubscribed member.
- `upsert` (boolean): Overwrite the fields if the address is already an active member (default false: error).

### `laposta_update_member` (~174 tokens)

Update a member

WRITE: change a member's custom field values and/or email address, or unsubscribe the member (state: unsubscribed). Only the fields you pass change. Re-subscribing a person is not offered here: do it in the Laposta app or with laposta_add_member upsert only when they asked for it.

Input parameters:

- `custom_fields` (object): Custom field values keyed by the field's custom_name (the variable name shown by laposta_list_fields). Multi-choice fields take an array of option values.
- `email` (string): A new email address for this member.
- `list_id` (string, required): The list id (from laposta_list_lists).
- `member` (string, required): The member id OR the member's email address.
- `state` (string): Set to unsubscribed to unsubscribe the member.

### `laposta_create_campaign` (~174 tokens)

Create a campaign draft

WRITE: create a new regular campaign (a draft: it is NOT filled, scheduled or sent). Fill it with laposta_set_campaign_content, check it with laposta_send_test_email and send it in the Laposta app. The from_email must be an approved sender address of the account.

Input parameters:

- `from_email` (string, required): Sender email address (must be an approved sender in Laposta).
- `from_name` (string, required): Sender name.
- `google_analytics` (boolean): Link Google Analytics tracking.
- `list_ids` (array, required): Recipients: list ids and optionally segment ids.
- `name` (string, required): Internal campaign name.
- `previewtext` (string): Preview text (max 120 characters).
- `reply_to` (string): Reply-to address.
- `subject` (string, required): Subject line.

### `laposta_set_campaign_content` (~123 tokens)

Set a campaign's content

WRITE: replace a campaign's content with your HTML, or let Laposta import it from a URL (html wins if both are given). Does not send anything. The reply's report lists problems Laposta found (javascript, missing unsubscribe link, missing images).

Input parameters:

- `campaign_id` (string, required): The campaign id (from laposta_list_campaigns).
- `html` (string): The complete HTML of the email.
- `import_url` (string): A public URL Laposta fetches the HTML from.
- `inline_css` (boolean): Inline the CSS.

### `laposta_send_test_email` (~75 tokens)

Send a campaign test email

WRITE: send a test copy of a campaign (it must have content and not be sent yet) to ONE email address. Does not send the campaign to its recipients.

Input parameters:

- `campaign_id` (string, required): The campaign id (from laposta_list_campaigns).
- `email` (string, required): Where to send the test.

## Diagnostics

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

## Score history

- 2026-11-05: 18
- 2026-11-04: 18
- 2026-11-03: 18
- 2026-11-02: 18
- 2026-11-01: 68
- 2026-10-31: 67
- 2026-10-30: 64
- 2026-10-29: 64
- 2026-10-28: 63
- 2026-10-27: 63
- 2026-10-26: 62

## Common questions

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

Laposta MCP by usefulapi is listed in the public MCP registry as io.usefulapi/laposta. Read Laposta lists, members, campaigns and reports; add members and build campaigns. This page covers its hosted endpoint (https://laposta.usefulapi.io/mcp).

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

Laposta MCP by usefulapi scores 18 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 Laposta MCP by usefulapi server expose?

Laposta MCP by usefulapi exposes 18 tools: laposta_list_lists, laposta_get_list, laposta_list_fields, laposta_list_segments, laposta_list_members, and 13 more. Their descriptions and schemas cost roughly 1,997 tokens of context every time the server is loaded.

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

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

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

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