# HumanifyMe (npm · humanifyme)

Learns your writing voice locally and rewrites AI drafts so they sound like you.

- Trust score: 86/100 (high trust)
- Change this week: +5
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-17

## Components

- npm · `humanifyme`: 86/100 (this document), [markdown](https://verifymcp.io/servers/joshmcq-humanifyme/humanifyme.md), [page](https://verifymcp.io/servers/joshmcq-humanifyme/humanifyme)

## Channel facts

- Registry: `npm`
- Package: `humanifyme`
- Version: `0.2.2`
- 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-10-17.

- **Supply Chain Security**: 98/100
  - No malware found by supply-chain analysis.
  - A known CVE affects sprintf-js, but no fixed version has been published, so there is nothing to upgrade to.
  - No install/post-install scripts declared.
  - 46 of 132 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 100/100
  - Source repository is publicly reachable at the declared URL.
  - Cryptographically verified build provenance (signed, bound to JoshMcQ/HumanifyMe).
  - Clear OSI-approved license (Apache-2.0).
  - Actively maintained (last published 21 days ago).
  - Publishes a security disclosure policy (SECURITY.md).
- **Schema Quality & AI Usability**: 67/100
  - 63% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 929 tokens (~48/item across 19 items; 16 tools + 3 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 73/100
  - Stability observed for 22 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 67/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 0% of tool parameters carry a description.
- **Tool Safety**: 75/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - 0 of 3 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "humanify_delete_sample" implies "delete" and declares no destructiveHint at all, which the MCP spec reads as destructive by default.
  - An AI judge read all 17 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.

## Install

### How do I install the HumanifyMe MCP server?

HumanifyMe runs locally as an npm package, launched with npx -y humanifyme. 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 joshmcq-humanifyme -- npx -y humanifyme
```

### Cursor

```json
{
  "mcpServers": {
    "joshmcq-humanifyme": {
      "command": "npx",
      "args": [
        "-y",
        "humanifyme"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "joshmcq-humanifyme": {
      "command": "npx",
      "args": [
        "-y",
        "humanifyme"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add joshmcq-humanifyme -- npx -y humanifyme
```

### opencode

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

### OpenClaw

```bash
openclaw mcp add joshmcq-humanifyme --command npx --arg -y --arg humanifyme
```

### Hermes

```yaml
mcp_servers:
  joshmcq-humanifyme:
    command: "npx"
    args: ["-y", "humanifyme"]
```

### Netclaw

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

### Vellum

```bash
assistant mcp add joshmcq-humanifyme -t stdio -c npx -a -y humanifyme
```

### Other

```json
{
  "mcpServers": {
    "joshmcq-humanifyme": {
      "command": "npx",
      "args": [
        "-y",
        "humanifyme"
      ]
    }
  }
}
```

## 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 86, +1)

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

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

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

### 2026-10-13 (score 84, +1)

- [functional improvement] Security disclosure: unverified → pass

### 2026-10-12 (score 83, +1)

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

### 2026-10-11 (score 82, +1)

- [functional regression] Security disclosure: pass → unverified

### 2026-10-07 (score 81, +1)

- [security regression] CVE-2026-97058 affects this package
- [security regression] Known CVEs: pass → partial

### 2026-10-04 (score 80, +5)

- [functional improvement] Stability: unverified → 0.30

### 2026-09-28 (score 75, 0)

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

## MCP tools (16)

### `humanify_text` (~83 tokens)

Rewrite a draft (usually AI-generated) so it reads in the user's own voice, using their stored style profile. The headline tool: call this whenever the user wants text to 'sound like me' or 'less AI'.

Input parameters:

- `contextLabel` (string)
- `directives` (array)
- `draft` (string, required)
- `provider` (string)

### `humanify_record_feedback` (~126 tokens)

Record whether a humanify_text rewrite sounded like the user. Pass the feedbackToken from that rewrite and a signal: 'accept' (sounded like me / used as-is), 'edit' (kinda — I tweaked it), or 'reject' (no — didn't sound like me). Optional short reason. This powers local quality metrics (humanify_metrics) and, only if the user opted in, anonymous aggregate counts.

Input parameters:

- `editedText` (string)
- `reason` (string)
- `signal` (string, required)
- `token` (string, required)

### `humanify_metrics` (~85 tokens)

Show how well HumanifyMe is matching the user's voice, from their own recorded feedback: total rewrites, accept/edit/reject rates, "sounds like me" breakdown, per-context and per-provider counts, and p50/p95 latency. Local only; counts, never content. Optional `since` (ISO timestamp) windows the stats.

Input parameters:

- `since` (string)

### `humanify_add_sample` (~60 tokens)

Store a writing sample (something the user actually wrote) so HumanifyMe can learn their voice. Text must be at least 100 characters and carry at least one context label.

Input parameters:

- `labels` (array, required)
- `text` (string, required)

### `humanify_list_samples` (~30 tokens)

List stored writing samples (previews truncated to 200 chars).

Input parameters:

- `label` (string)

### `humanify_delete_sample` (~25 tokens)

Delete a stored writing sample by id.

Input parameters:

- `id` (string, required)

### `humanify_get_profile` (~25 tokens)

Return the user's current style profile, or null if none has been built.

### `humanify_build_profile` (~55 tokens)

Build (or rebuild with force:true) the user's style profile from their stored samples. Needs at least 3 samples. Samples are redacted before being sent to the configured LLM provider.

Input parameters:

- `force` (boolean)

### `humanify_update_profile` (~42 tokens)

Replace the style profile with an edited version (schema-validated). Use for manual tweaks; does not call any LLM.

Input parameters:

- `profile` (object, required)

### `humanify_delete_profile` (~20 tokens)

Delete the current style profile. Samples are kept.

### `humanify_set_provider` (~75 tokens)

Configure local Ollama and make it the default. Cloud API keys are intentionally rejected in MCP tool arguments because the host model can see them; configure cloud providers with the interactive `humanifyme setup` CLI instead.

Input parameters:

- `baseUrl` (string)
- `model` (string)
- `provider` (string, required)

### `humanify_test_key` (~33 tokens)

Confirm the configured API key works with a cheap (≤1 token) ping.

Input parameters:

- `provider` (string)

### `humanify_audit_list` (~47 tokens)

List the most recent outbound requests HumanifyMe made (metadata only, never content): provider, route, payload size, draft length, success.

Input parameters:

- `limit` (integer)

### `humanify_wipe_all` (~45 tokens)

Delete ALL HumanifyMe data: samples, profile, cache, audit log. Irrevocable. Requires confirm: "DELETE EVERYTHING".

Input parameters:

- `confirm` (string, required)

### `humanify_import_chat_export` (~82 tokens)

Import writing samples from a ChatGPT or Claude data-export (.zip, conversations.json, or extracted directory). Only user-authored turns are kept; code-heavy turns are dropped; everything is redacted before storage. Call with commit:false first to preview 5 samples, then commit:true.

Input parameters:

- `commit` (boolean)
- `path` (string, required)

### `humanify_import_text_files` (~81 tokens)

Bulk-import writing samples from a directory (or single file) of .txt/.md/.docx the user wrote — notes, blog drafts, an Obsidian vault. Requires a default context label. Files are redacted before storage; oversize files split at paragraph boundaries.

Input parameters:

- `label` (string, required)
- `path` (string, required)

## Diagnostics

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

## Score history

- 2026-10-17: 86
- 2026-10-16: 85
- 2026-10-15: 85
- 2026-10-14: 84
- 2026-10-13: 84
- 2026-10-12: 83
- 2026-10-11: 82
- 2026-10-07: 81
- 2026-10-04: 80
- 2026-10-03: 75
- 2026-10-02: 75
- 2026-10-01: 75
- 2026-09-30: 75
- 2026-09-29: 75
- 2026-09-28: 75
- 2026-09-27: 75
- 2026-09-26: 75
- 2026-09-25: 75

## Common questions

### What is the HumanifyMe MCP server?

HumanifyMe is an MCP server listed in the public MCP registry as io.github.JoshMcQ/humanifyme. Learns your writing voice locally and rewrites AI drafts so they sound like you. This page covers its npm package (humanifyme).

### Is the HumanifyMe MCP server safe to use?

HumanifyMe scores 86 out of 100 on VerifyMCP. We recorded 1 known advisory against it as of 17 October 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. 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 HumanifyMe MCP server expose?

HumanifyMe exposes 16 tools: humanify_text, humanify_record_feedback, humanify_metrics, humanify_add_sample, humanify_list_samples, and 11 more. Their descriptions and schemas cost roughly 914 tokens of context every time the server is loaded.

### Is the HumanifyMe MCP server still maintained?

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

### What licence is the HumanifyMe MCP server under?

HumanifyMe declares the Apache-2.0 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/humanifyme
- Socket report: https://socket.dev/npm/package/humanifyme
- Repository: https://github.com/JoshMcQ/HumanifyMe
- Website: https://humanifyme.com/
- Changelog RSS feed: https://verifymcp.io/servers/joshmcq-humanifyme/humanifyme.xml
- Changelog JSON feed: https://verifymcp.io/servers/joshmcq-humanifyme/humanifyme.json
- HTML version of this page: https://verifymcp.io/servers/joshmcq-humanifyme/humanifyme
