# io.github.GetUserProof/userproof (npm · userproof)

The top conversion fix from real visitor sessions, with file and line, checked after you ship.

- Trust score: 65/100 (medium)
- Change this week: 0
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- npm · `userproof`: 65/100 (this document), [markdown](https://verifymcp.io/servers/getuserproof-userproof/userproof.md), [page](https://verifymcp.io/servers/getuserproof-userproof/userproof)

## Channel facts

- Registry: `npm`
- Package: `userproof`
- Version: `3.3.0`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, 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.

- **Supply Chain Security**: 81/100
  - No malware found by supply-chain analysis.
  - CVE check failed: a known high-severity CVE affects @modelcontextprotocol/sdk 1.26.0, a direct dependency. A fixed version is available.
  - No install/post-install scripts declared.
  - 30 of 93 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 8 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 75/100
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 1205 tokens (~92/item across 13 items; 13 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% 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 13 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 13 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

**Unverified: 1 category.** A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

## Install

### How do I install the io.github.GetUserProof/userproof MCP server?

io.github.GetUserProof/userproof runs locally as an npm package, launched with npx -y userproof. 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 getuserproof-userproof -- npx -y userproof
```

### Cursor

```json
{
  "mcpServers": {
    "getuserproof-userproof": {
      "command": "npx",
      "args": [
        "-y",
        "userproof"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "getuserproof-userproof": {
      "command": "npx",
      "args": [
        "-y",
        "userproof"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add getuserproof-userproof -- npx -y userproof
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "getuserproof-userproof": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "userproof"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add getuserproof-userproof --command npx --arg -y --arg userproof
```

### Hermes

```yaml
mcp_servers:
  getuserproof-userproof:
    command: "npx"
    args: ["-y", "userproof"]
```

### Netclaw

```json
{
  "McpServers": {
    "getuserproof-userproof": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "userproof"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add getuserproof-userproof -t stdio -c npx -a -y userproof
```

### Other

```json
{
  "mcpServers": {
    "getuserproof-userproof": {
      "command": "npx",
      "args": [
        "-y",
        "userproof"
      ]
    }
  }
}
```

## 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-29 (score 65, 0)

- [security regression] CVE-2026-118663 affects this package: high

### 2026-10-28 (score 65, +15)

- [security improvement] Malware scan: unverified → pass

### 2026-10-27 (score 50)

First indexed and scored.

## MCP tools (13)

### `list_sites` (~26 tokens)

List the sites on this UserProof account (id, domain, created date). Free.

### `select_site` (~78 tokens)

Choose which UserProof site this project uses. With a site_id or domain it is validated against your account and returned so it can be saved to .userproof; with no argument it lists the sites. Free.

Input parameters:

- `domain` (string): Domain, e.g. example.com
- `site_id` (string): Site id from list_sites

### `get_top_fix` (~195 tokens)

The single highest-impact fix on this site, with the sessions that prove it and the dollar math when a conversion event is set. Analyses are unlimited; plans are priced on recorded visits. If the result has a notice (visit limit near or passed), tell the user in one line and show any upgrade link on its own line. Free keeps 7 days of recordings: if the user asks about anything older or longer trends, tell them Pro and Scale keep 90 days and offer the upgrade tool. When no finding passes the evidence bar the result ends with a funnel read (biggest visible leak, entry pages, sources, coverage): present it as a lead, not proof, and never as a verified fix.

Input parameters:

- `domain` (string): Read this site instead of the active one, e.g. example.com
- `site_id` (string): Read this site id instead of the active one (from list_sites)

### `fleet` (~31 tokens)

All your sites in one read: top fix or biggest leak per site, plus patterns that repeat across sites. Free.

### `mark_fix_applied` (~80 tokens)

Record that a fix for a finding shipped, so check_fix can compare before and after. Call it once the change is live in production.

Input parameters:

- `finding_id` (string, required): Finding id from get_top_fix
- `fixed_at` (string): ISO time the fix went live; defaults to now
- `note` (string): What was changed

### `set_goal` (~280 tokens)

Set the one thing this site's visitors should do (book a call, start checkout, sign up). Findings then rank by what they cost it, and fixes are judged by it. Find candidates in the code first (Stripe/checkout links, signup forms, CTA button text) and confirm with the user. Free. The reply carries goal_check {status, matches, suggestions}: the goal is checked at once against real clicks from the last 14 days, else the live page. If status is no_match, the goal will count 0 conversions: do not leave it; pick the right text from suggestions (or the code) and call set_goal again in the same session. If unverified (no click data yet, page may be drawn by JavaScript), confirm the exact button text in the code.

Input parameters:

- `kind` (string, required): click = a click whose text or selector contains match; page = visiting a path (exact, or a prefix ending in *)
- `matches` (array, required): Button texts exactly as rendered (e.g. ['Book a call', 'BOOK A CALL']) or paths (e.g. ['/thank-you', '/c/*'])
- `name` (string, required): Plain name, e.g. 'Book a call'
- `value_usd` (number): What one conversion is worth, if the user knows; enables dollar figures

### `upgrade` (~74 tokens)

Get a checkout link to upgrade the UserProof plan (Pro $29/mo for 50,000 visits, Scale $99/mo for 250,000; both unlimited sites). Use when the user asks to upgrade or pay. Show the link on its own line.

Input parameters:

- `plan` (string): Defaults to the next plan up

### `check_fix` (~127 tokens)

Did a shipped fix work? Compares the finding's signal before and after the fix, the share of sessions that go on to a next step (click a control, use a form, open a second page), and conversion, the last two against untouched pages (difference-in-differences). Says 'inconclusive' when traffic is too thin. Free.

Input parameters:

- `finding_id` (string, required): Finding id the fix was recorded for
- `url` (string): Scan defects only: test this base URL instead of the live site, e.g. a local dev server running the fix

### `wait_for_first_event` (~105 tokens)

Confirm the UserProof snippet records: waits up to `wait` seconds for the first event from this site and says what arrived (page loads, clicks) and from where (live site, local dev server, or setup check). If nothing arrives it returns the likely cause. Free.

Input parameters:

- `since` (string): ISO time to count events from; defaults to 15 minutes ago
- `wait` (number): Seconds to wait, max 90; default 60

### `scan_site` (~95 tokens)

Pre-traffic scan of the live site (read-only: no form posts): clicks what looks clickable, checks links and errors, and returns the one worst defect it can reproduce 3 of 3 times. Results are labelled as a scan, not visitor behaviour. Takes 1-3 minutes. Free, 10 a day per site.

Input parameters:

- `url` (string): Page to start from; defaults to the site's home page

### `check_coverage` (~48 tokens)

Which pages of this site are missing the UserProof snippet, from the sitemap. Free.

Input parameters:

- `fresh` (boolean): Re-run now instead of reusing a check under 6 hours old

### `get_activation` (~33 tokens)

Onboarding milestones for this UserProof account and minutes from signup to each, including time to the first verified fix. Free.

### `get_usage` (~33 tokens)

The plan, recorded visits this month against its limit, sites against the site limit, and when the count resets. Free.

## Diagnostics

Captured diagnostic sections: Provenance, Vulnerabilities, Dependencies. The full working is on the page: https://verifymcp.io/servers/getuserproof-userproof/userproof#diagnostics

## Score history

- 2026-11-05: 65
- 2026-11-04: 65
- 2026-11-03: 65
- 2026-11-02: 65
- 2026-11-01: 65
- 2026-10-31: 65
- 2026-10-30: 65
- 2026-10-29: 65
- 2026-10-28: 65
- 2026-10-27: 50

## Common questions

### What is the io.github.GetUserProof/userproof MCP server?

io.github.GetUserProof/userproof is an MCP server listed in the public MCP registry as io.github.GetUserProof/userproof. The top conversion fix from real visitor sessions, with file and line, checked after you ship. This page covers its npm package (userproof).

### Is the io.github.GetUserProof/userproof MCP server safe to use?

io.github.GetUserProof/userproof scores 65 out of 100 on VerifyMCP. We recorded 8 known advisories against it as of 5 November 2026. It declares no install or post-install scripts. 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 io.github.GetUserProof/userproof MCP server expose?

io.github.GetUserProof/userproof exposes 13 tools: list_sites, select_site, get_top_fix, fleet, mark_fix_applied, and 8 more. Their descriptions and schemas cost roughly 1,205 tokens of context every time the server is loaded.

### Is the io.github.GetUserProof/userproof MCP server still maintained?

io.github.GetUserProof/userproof 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 licence is the io.github.GetUserProof/userproof MCP server under?

io.github.GetUserProof/userproof declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- npm package: https://www.npmjs.com/package/userproof
- Socket report: https://socket.dev/npm/package/userproof
- Repository: https://github.com/GetUserProof/userproof
- Website: https://getuserproof.com/
- Changelog RSS feed: https://verifymcp.io/servers/getuserproof-userproof/userproof.xml
- Changelog JSON feed: https://verifymcp.io/servers/getuserproof-userproof/userproof.json
- HTML version of this page: https://verifymcp.io/servers/getuserproof-userproof/userproof
