# Scrub MCP (remote · scrub-mcp.malgorath.com)

Stateless PII redaction over MCP/REST. Free ≤1000 words or $0.01/call; file upload supported.

- Trust score: 23/100 (low)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `scrub-mcp.malgorath.com`: 23/100 (this document), [markdown](https://verifymcp.io/servers/com-malgorath-scrub-mcp-scrub-mcp/scrub-mcp.md), [page](https://verifymcp.io/servers/com-malgorath-scrub-mcp-scrub-mcp/scrub-mcp)

## Channel facts

- Endpoint: `https://scrub-mcp.malgorath.com/mcp/`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.1.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-08-03.

- **Endpoint Security**: 57/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to connect, but we couldn't read the tool list to see what that exposes.
  - HTTPS is enforced; there's no plaintext access path.
  - 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 returned HTTP 502.
- **Schema Quality & AI Usability**: 0/100
  - Schema not yet verified: we couldn't read the endpoint's schema.
- **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.
- **Capabilities**: 0/100
  - Capabilities not yet verified: we couldn't read the endpoint's capabilities.

**Unverified: 4 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

### Claude

```bash
claude mcp add --transport http com-malgorath-scrub-mcp-scrub-mcp https://scrub-mcp.malgorath.com/mcp/
```

### Codex

```toml
[mcp_servers.com-malgorath-scrub-mcp-scrub-mcp]
url = "https://scrub-mcp.malgorath.com/mcp/"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-malgorath-scrub-mcp-scrub-mcp": {
      "type": "remote",
      "url": "https://scrub-mcp.malgorath.com/mcp/",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-malgorath-scrub-mcp-scrub-mcp --url https://scrub-mcp.malgorath.com/mcp/ --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-malgorath-scrub-mcp-scrub-mcp:
    url: "https://scrub-mcp.malgorath.com/mcp/"
```

### Other

```json
{
  "mcpServers": {
    "com-malgorath-scrub-mcp-scrub-mcp": {
      "type": "http",
      "url": "https://scrub-mcp.malgorath.com/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-08-01 (score 23, −32)

- [security regression] Endpoint reachability: reachable → not serving MCP
- [security regression] Stability: 0.07 → unverified
- [security regression] Transport: pass → fail
- [security] Authorization: Authorisation not fully verified: no authorisation is required to connect, but we couldn't read the tool list to see what that exposes.
- [functional regression] Tool coverage: 100 → unverified
- [functional regression] Capabilities: pass → unverified
- [functional] First check of Schema quality: unverified

### 2026-07-31 (score 55, +2)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 53, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-29 (score 53)

First indexed and scored.

## MCP tools (5)

### `scrub_text` (~146 tokens)

Stateless PII scrubbing, $0.01 USDC per call regardless of length -- always requires payment. Replaces personal info with placeholder tags like [NAME], [SSN], [EMAIL] plus per-category removal counts. Zero storage: nothing stored, logged, or cached. Configure categories to strip (names, ages, emails, phone, ssn, addresses, dates, account_numbers) and domain (all/medical/legal/financial/criminal). Free tier: scrub_text_free / POST /scrub-free, text at or under 1000 words.

Input parameters:

- `domain` (string)
- `strip`
- `temperature`
- `text` (string, required)

### `scrub_text_free` (~142 tokens)

Free stateless PII scrubbing for text at or under 1000 words (whitespace-separated tokens, str.split()). No payment, no API key. Replaces personal info with placeholder tags like [NAME], [SSN], [EMAIL] plus per-category removal counts. Zero storage: nothing stored, logged, or cached. Same categories/domain options as scrub_text. Text over the limit gets 413 naming the limit and your actual word count -- this route never takes payment. For longer text, use scrub_text ($0.01).

Input parameters:

- `domain` (string)
- `strip`
- `temperature`
- `text` (string, required)

### `scrub_file` (~157 tokens)

Upload a file (.txt, .md, .pdf, .docx, .rtf -- no legacy .doc) and get the extracted text back scrubbed of PII, plus the detected format and extracted word count. $0.01 USDC per call regardless of length -- this route always requires payment. No OCR -- PDFs need embedded/selectable text. Zero storage: the file is never written to disk, on this service or the extractor. Free tier: use scrub_file_free / POST /scrub-file-free for files at or under 1000 extracted words instead.

Input parameters:

- `domain` (string)
- `file_base64` (string, required)
- `filename`
- `strip`
- `temperature`

### `scrub_file_free` (~160 tokens)

Free version of scrub_file for files whose extracted text is at or under 1000 words. No payment, no API key. Upload a file (.txt, .md, .pdf, .docx, .rtf -- no legacy .doc), get the extracted text back scrubbed of PII plus detected format and word count. No OCR. Zero storage: never written to disk, on this service or the extractor. Over the limit returns 413 naming the limit and your actual extracted word count -- this route never takes payment. For larger files, use scrub_file ($0.01).

Input parameters:

- `domain` (string)
- `file_base64` (string, required)
- `filename`
- `strip`
- `temperature`

### `scrub_health` (~32 tokens)

Free health check. Reports whether the upstream scrub service is reachable. No payment required, no arguments, no text processed.

## Diagnostics

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

## Score history

- 2026-08-03: 23
- 2026-08-02: 23
- 2026-08-01: 23
- 2026-07-31: 55
- 2026-07-30: 53
- 2026-07-29: 53

## Links

- Remote endpoint: https://scrub-mcp.malgorath.com/mcp/
- Website: https://scrub-mcp.malgorath.com/
- Changelog RSS feed: https://verifymcp.io/servers/com-malgorath-scrub-mcp-scrub-mcp/scrub-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-malgorath-scrub-mcp-scrub-mcp/scrub-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/com-malgorath-scrub-mcp-scrub-mcp/scrub-mcp
