# NewsMAN MCP by usefulapi (remote · newsman.usefulapi.io)

Read NewsMAN lists, subscribers, segments, newsletter and automation stats; manage subscribers.

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

## Components

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

## Channel facts

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

## 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 NewsMAN MCP by usefulapi server?

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

### Cursor

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

### VS Code

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

### Codex

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

### opencode

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

### OpenClaw

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

### Hermes

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

### Netclaw

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

### Vellum

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

### Other

```json
{
  "mcpServers": {
    "io-usefulapi-newsman": {
      "type": "http",
      "url": "https://newsman.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-10-31 (score 68, +3)

- [security improvement] Authorization: partial → pass
- [functional improvement] MCP protocol: fail → pass
- [functional] New prompt “check_automation_performance”
- [functional] New prompt “compare_newsletter_results”
- [functional] New prompt “handle_an_unsubscribe_request”
- [functional] New prompt “look_up_a_subscriber”
- [functional] New prompt “subscribe_and_tag_a_person_who_gave_consent”
- [functional] New prompt “track_list_growth”
- [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 65, +1)

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

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

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

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

- [functional] Server version: 1.1.0 → 1.3.0

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

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

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

First indexed and scored.

## MCP tools (26)

### `newsman_list_lists` (~52 tokens)

List subscriber lists

All email lists (and SMS lists) this key can access, each with list_id, list_name and list_type. Start here: most other tools need a list_id. GET /v2/list/all.

### `newsman_get_list` (~63 tokens)

Get list properties

Properties of one list: sender name and email, owner contact details, site, link parameters, send rate. The list secret is never returned. GET /v2/list/getProps.

Input parameters:

- `list_id` (required): NewsMAN list id (from newsman_list_lists).

### `newsman_count_list_subscribers` (~42 tokens)

Count list subscribers

The number of active (subscribed) subscribers of a list. GET /v2/list/count.

Input parameters:

- `list_id` (required): NewsMAN list id.

### `newsman_list_subscribers` (~167 tokens)

List subscribers by status

Subscribers of a list with a given status (subscribed, unsubscribed, bounced, spam, inactivated), optionally only those who joined since a UTC date. Each item has subscriber_id, email and the date of that status. Paged (page from 0, up to 1000 per page). GET /v2/list/getSubscribers.

Input parameters:

- `limit` (integer): Results per page, 1-1000 (default 100).
- `list_id` (required): NewsMAN list id.
- `page` (integer): Page number, starting at 0 (default 0).
- `since` (string): Only subscribers who joined on or after this moment, UTC, YYYY-MM-DD or YYYY-MM-DD HH:mm:ss.
- `status` (string, required): Subscriber status.

### `newsman_get_list_growth` (~148 tokens)

Get list growth

Daily evolution of a list: total and eligible subscribers, unsubscribes, spam reports and hard bounces per day. Give `days` (last N days) OR start_date/stop_date; the period is at most 90 days. GET /v2/list/subscribersEvolution.

Input parameters:

- `days` (integer): The last N days, 1-90 (alternative to start_date/stop_date; NewsMAN allows at most 90 days).
- `list_id` (required): NewsMAN list id.
- `start_date` (string): Start of the period, UTC, YYYY-MM-DD.
- `stop_date` (string): End of the period, UTC, YYYY-MM-DD.

### `newsman_search_subscribers` (~169 tokens)

Search subscribers

Search the subscribers of a list by keywords (email or name) and status, optionally only those who joined since a UTC date. Paged (page from 0, up to 1000 per page). GET /v2/subscriber/search.

Input parameters:

- `keywords` (string, required): Text to search for, for example part of an email address.
- `limit` (integer): Results per page, 1-1000 (default 100).
- `list_id` (required): NewsMAN list id.
- `page` (integer): Page number, starting at 0 (default 0).
- `since` (string): Only subscribers who joined on or after this moment, UTC, YYYY-MM-DD or YYYY-MM-DD HH:mm:ss.
- `status` (string): Subscriber status (default subscribed).

### `newsman_get_subscriber` (~62 tokens)

Get subscriber by email

One subscriber of a list by email address: status and dates, name, IP, custom properties and segments. GET /v2/subscriber/getByEmail.

Input parameters:

- `email` (string, required): Email address.
- `list_id` (required): NewsMAN list id.

### `newsman_get_subscriber_by_id` (~50 tokens)

Get subscriber by id

One subscriber by subscriber_id: status and dates, name, IP, custom properties and segments. GET /v2/subscriber/get.

Input parameters:

- `subscriber_id` (required): NewsMAN subscriber id.

### `newsman_get_subscriber_history` (~64 tokens)

Get subscriber history

The last 100 actions of a subscriber: subscribe, unsubscribe, send, view, click, bounce, spam, each with a date and metadata (newsletter, link). GET /v2/subscriber/history.

Input parameters:

- `subscriber_id` (required): NewsMAN subscriber id.

### `newsman_list_segments` (~73 tokens)

List segments

The segments of a list with segment_id, segment_name, subscriber count and status (0 idle, 1 import running, 2 counting, 3 searching). NewsMAN allows 20 calls a minute for this method. GET /v2/segment/all.

Input parameters:

- `list_id` (required): NewsMAN list id.

### `newsman_count_segment_subscribers` (~45 tokens)

Count segment subscribers

The number of active subscribers in a segment. GET /v2/segment/count.

Input parameters:

- `segment_id` (required): NewsMAN segment id (from newsman_list_segments).

### `newsman_list_segment_subscribers` (~96 tokens)

List segment subscribers

The subscribers of a segment (subscriber_id and email). Paged (page from 0, up to 1000 per page). GET /v2/segment/getSubscribers.

Input parameters:

- `limit` (integer): Results per page, 1-1000 (default 100).
- `page` (integer): Page number, starting at 0 (default 0).
- `segment_id` (required): NewsMAN segment id.

### `newsman_list_newsletters` (~244 tokens)

List newsletters

Newsletters (campaigns) of a list with newsletter_id, subject, status, dates, segments and headline stats. Filter by status (-1 cancelled, 0 new, 1 confirmed, 2 sending, 3 paused, 4 resumed, 5 sent; or a comma list such as 1,5; default all), by creation date range, or the last N days. Paged. GET /v2/newsletter/all.

Input parameters:

- `days` (integer): Created in the last N days (alternative to start_date/stop_date).
- `limit` (integer): Results per page, 1-1000 (default 100).
- `list_id` (required): NewsMAN list id.
- `page` (integer): Page number, starting at 0 (default 0).
- `start_date` (string): Created on or after, UTC, YYYY-MM-DD or YYYY-MM-DD HH:mm:ss.
- `status` (string): Newsletter status: all, -1..5 or a comma list (default all).
- `stop_date` (string): Created on or before, UTC, YYYY-MM-DD or YYYY-MM-DD HH:mm:ss.

### `newsman_get_newsletter` (~63 tokens)

Get newsletter

Properties of one newsletter: subject, sender, status, dates, segments, links to the online view. Long HTML is clipped. GET /v2/newsletter/getProps.

Input parameters:

- `newsletter_id` (required): NewsMAN newsletter id (from newsman_list_newsletters).

### `newsman_get_newsletter_stats` (~57 tokens)

Get newsletter stats

Delivery and engagement stats of one newsletter: sent, views, clicks, unsubscribes, bounces, spam reports and rates. GET /v2/newsletter/stats.

Input parameters:

- `newsletter_id` (required): NewsMAN newsletter id.

### `newsman_get_newsletter_clicked_links` (~50 tokens)

Get newsletter clicked links

The links clicked in one newsletter with the number of clicks and the last click time. GET /v2/newsletter/linksClicked.

Input parameters:

- `newsletter_id` (required): NewsMAN newsletter id.

### `newsman_list_automations` (~203 tokens)

List automations

Automation workflows of a list with workflow_id, name, type, status (0 inactive, 1 active), version and stats. Filter by name, status and last-updated range. GET /v2/automation/all.

Input parameters:

- `list_id` (required): NewsMAN list id.
- `name` (string): Workflow name filter (default: any).
- `start_date` (string): Updated on or after, UTC, YYYY-MM-DD or YYYY-MM-DD HH:mm:ss.
- `status` (string): all (default), 0 inactive or 1 active.
- `stop_date` (string): Updated on or before, UTC, YYYY-MM-DD or YYYY-MM-DD HH:mm:ss.
- `type` (string): Workflow type: all (default), sub_date, newsletter_view, newsletter_click, advanced, unsub, manual, ecommerce_cart_update, ecommerce_order_completed, ecommerce_product_view, segment_add, segment_remo…

### `newsman_get_automation` (~57 tokens)

Get automation

One automation workflow: name, type, status, version, recurrence, stats and preview links. GET /v2/automation/getWorkflow.

Input parameters:

- `workflow_id` (required): NewsMAN workflow id (from newsman_list_automations).

### `newsman_get_automation_stats` (~172 tokens)

Get automation stats

Daily stats of the automations of a list: sends, opens, clicks, purchases, bounces, unsubscribes. Optionally for given workflows and a period (last N days, or start_date/stop_date; at most 90 days). GET /v2/automation/stats.

Input parameters:

- `days` (integer): The last N days, 1-90 (alternative to start_date/stop_date; NewsMAN allows at most 90 days).
- `list_id` (required): NewsMAN list id.
- `start_date` (string): Start of the period, UTC, YYYY-MM-DD.
- `stop_date` (string): End of the period, UTC, YYYY-MM-DD.
- `workflow_ids` (string): Comma-separated workflow ids (default: all workflows of the list).

### `newsman_get_import_status` (~53 tokens)

Get import status

Status of a background subscriber import by import_id: new, running, finished or error, with times and the last error. GET /v2/import/status.

Input parameters:

- `import_id` (required): NewsMAN import id.

### `newsman_subscribe_email` (~176 tokens)

Subscribe an email

WRITE: subscribe an email address to a list (or update it if it exists), with optional name and custom properties. A property key with the tag_ prefix sets a tag. Only use for people who gave consent. The subscriber is active at once, with no confirmation email. Returns the subscriber_id. POST /v2/subscriber/saveSubscribe.

Input parameters:

- `email` (string, required): Email address.
- `firstname` (string): First name.
- `ip` (string): IP address to record for this action (NewsMAN requires one). Defaults to 0.0.0.0 when omitted.
- `lastname` (string): Last name.
- `list_id` (required): NewsMAN list id.
- `props` (object): Custom properties, for example {"city": "Paris", "tag_vip": "1"}.

### `newsman_unsubscribe_email` (~97 tokens)

Unsubscribe an email

WRITE: unsubscribe an email address from a list, so it no longer receives campaigns from that list. Returns the subscriber_id. POST /v2/subscriber/saveUnsubscribe.

Input parameters:

- `email` (string, required): Email address.
- `ip` (string): IP address to record for this action (NewsMAN requires one). Defaults to 0.0.0.0 when omitted.
- `list_id` (required): NewsMAN list id.

### `newsman_update_subscriber` (~89 tokens)

Update a subscriber

WRITE: change the email, first name or last name of a subscriber. Give only the fields to change; the others are left as they are. POST /v2/subscriber/update.

Input parameters:

- `email` (string): New email address.
- `firstname` (string): New first name.
- `lastname` (string): New last name.
- `subscriber_id` (required): NewsMAN subscriber id.

### `newsman_add_subscriber_tags` (~53 tokens)

Add tags to a subscriber

WRITE: add tags to a subscriber (existing tags stay). POST /v2/subscriber/addTags.

Input parameters:

- `subscriber_id` (required): NewsMAN subscriber id.
- `tags` (array, required): Tags to add.

### `newsman_add_subscriber_to_segment` (~55 tokens)

Add a subscriber to a segment

WRITE: add a subscriber to a (static) segment. POST /v2/subscriber/addToSegment.

Input parameters:

- `segment_id` (required): NewsMAN segment id.
- `subscriber_id` (required): NewsMAN subscriber id.

### `newsman_remove_subscriber_from_segment` (~59 tokens)

Remove a subscriber from a segment

WRITE: remove a subscriber from a segment (the subscriber stays on the list). POST /v2/subscriber/removeFromSegment.

Input parameters:

- `segment_id` (required): NewsMAN segment id.
- `subscriber_id` (required): NewsMAN subscriber id.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/io-usefulapi-newsman/newsman#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: 68
- 2026-10-30: 65
- 2026-10-29: 64
- 2026-10-28: 64
- 2026-10-27: 63
- 2026-10-26: 63

## Common questions

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

NewsMAN MCP by usefulapi is listed in the public MCP registry as io.usefulapi/newsman. Read NewsMAN lists, subscribers, segments, newsletter and automation stats; manage subscribers. This page covers its hosted endpoint (https://newsman.usefulapi.io/mcp).

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

NewsMAN 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 NewsMAN MCP by usefulapi server expose?

NewsMAN MCP by usefulapi exposes 26 tools: newsman_list_lists, newsman_get_list, newsman_count_list_subscribers, newsman_list_subscribers, newsman_get_list_growth, and 21 more. Their descriptions and schemas cost roughly 2,459 tokens of context every time the server is loaded.

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

Its publisher declares no required credentials for NewsMAN 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 NewsMAN MCP by usefulapi server still maintained?

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

### What did VerifyMCP test on the NewsMAN MCP by usefulapi server?

VerifyMCP ran 4 checks on NewsMAN MCP by usefulapi, covering TLS certificate, HSTS header, DNSSEC and Transport. 7 items could not be completed, a gap on our side rather than a finding about NewsMAN MCP by usefulapi: Authorization, HTTPS, Schema quality, Stability and 3 more. 5 categories score 0 for that reason, because we only credit what we can confirm. Supply Chain Security and Provenance & Transparency do not apply to a hosted endpoint, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.

## Links

- Remote endpoint: https://newsman.usefulapi.io/mcp
- Repository: https://github.com/m190/usefulapi-mcp
- Website: https://usefulapi.io/newsman/
- Changelog RSS feed: https://verifymcp.io/servers/io-usefulapi-newsman/newsman.xml
- Changelog JSON feed: https://verifymcp.io/servers/io-usefulapi-newsman/newsman/changelog.json
- Trust report (JSON): https://verifymcp.io/servers/io-usefulapi-newsman/newsman.json
- HTML version of this page: https://verifymcp.io/servers/io-usefulapi-newsman/newsman
