# io.github.AnonymousOnyx22/essay-stats-mcp (npm · essay-stats-mcp)

Essay Stats MCP: offline word and page counts, readability, style flags and word limit checks.

- Trust score: 70/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- npm · `essay-stats-mcp`: 70/100 (this document), [markdown](https://verifymcp.io/servers/anonymousonyx22-essay-stats-mcp/essay-stats-mcp.md), [page](https://verifymcp.io/servers/anonymousonyx22-essay-stats-mcp/essay-stats-mcp)

## Channel facts

- Registry: `npm`
- Package: `essay-stats-mcp`
- Version: `0.1.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-11-05.

- **Supply Chain Security**: 98/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - No install/post-install scripts declared.
  - 30 of 92 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 4 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 63/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 949 tokens (~189/item across 5 items; 5 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 20/100
  - Stability observed for 6 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 92/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 71% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 5 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 5 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 io.github.AnonymousOnyx22/essay-stats-mcp server?

io.github.AnonymousOnyx22/essay-stats-mcp runs locally as an npm package, launched with npx -y essay-stats-mcp. 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 anonymousonyx22-essay-stats-mcp -- npx -y essay-stats-mcp
```

### Cursor

```json
{
  "mcpServers": {
    "anonymousonyx22-essay-stats-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "essay-stats-mcp"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "anonymousonyx22-essay-stats-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "essay-stats-mcp"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add anonymousonyx22-essay-stats-mcp -- npx -y essay-stats-mcp
```

### opencode

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

### OpenClaw

```bash
openclaw mcp add anonymousonyx22-essay-stats-mcp --command npx --arg -y --arg essay-stats-mcp
```

### Hermes

```yaml
mcp_servers:
  anonymousonyx22-essay-stats-mcp:
    command: "npx"
    args: ["-y", "essay-stats-mcp"]
```

### Netclaw

```json
{
  "McpServers": {
    "anonymousonyx22-essay-stats-mcp": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "essay-stats-mcp"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add anonymousonyx22-essay-stats-mcp -t stdio -c npx -a -y essay-stats-mcp
```

### Other

```json
{
  "mcpServers": {
    "anonymousonyx22-essay-stats-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "essay-stats-mcp"
      ]
    }
  }
}
```

## 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-05 (score 70, +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-11-02 (score 69, +16)

- [security improvement] Malware scan: unverified → pass

### 2026-11-01 (score 53, −14)

- [security regression] Malware scan: pass → unverified
- [functional improvement] Stability: unverified → 0.07
- [functional] Package version: 0.1.1 → 0.1.2

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

- [security improvement] Malware scan: unverified → pass

### 2026-10-30 (score 52)

First indexed and scored.

## MCP tools (5)

### `count_text` (~202 tokens)

Count words, sentences and pages

Count the words, characters, sentences and paragraphs in a text, and estimate how many pages it fills at a given font, font size and line spacing. Inputs: text, and optional font (times new roman, arial, calibri, georgia, courier new or verdana, default times new roman), font_size in points (default 12) and spacing (single, 1.5 or double, default double).     The page count is an estimate from typical words per page, so a word processor may differ by a little. Also returns an estimated reading time at 238 words per minute. Example: "Count the words in this essay and estimate the pages in Times New Roman 12 double spaced.

Input parameters:

- `font` (string): Font name. Default times new roman.
- `font_size` (number): Font size in points. Default 12.
- `spacing` (string): Line spacing. Default double.
- `text` (string, required)

Output parameters:

- `characters` (number)
- `characters_no_spaces` (number)
- `estimated_pages` (number)
- `font` (string)
- `font_size` (number)
- `paragraphs` (number)
- `reading_minutes` (number)
- `sentences` (number)
- `spacing` (string)
- `words` (number)

### `readability_scores` (~140 tokens)

Readability scores

Score how hard a text is to read with three standard formulas: Flesch Kincaid grade level (plus the Flesch reading ease score), Gunning Fog index and SMOG index. Each grade is roughly a US school grade, so 12 is the end of high school and 16 is a college degree. Input: text.     SMOG is built for samples of 30 sentences or more, so on shorter text the tool still returns a number but marks it as less reliable. Example: "Give me the Flesch Kincaid, Gunning Fog and SMOG scores for this paper.

Input parameters:

- `text` (string, required)

Output parameters:

- `complex_words` (number)
- `flesch_kincaid_grade` (number)
- `flesch_reading_ease` (number)
- `gunning_fog` (number)
- `reading_ease_label` (string)
- `sentences` (number)
- `smog` (number)
- `smog_reliable` (boolean)
- `syllables` (number)
- `words` (number)

### `style_flags` (~193 tokens)

Style flags

Flag common style problems in an essay: sentences in the passive voice, sentences that start with the same word as a neighbour (or three or more times), filler words and phrases such as very, just, in order to, and sentences that are too long. Inputs: text, and optional max_sentence_words (default 30), the length above which a sentence counts as long. Sentence numbers start at 1 and follow the order of the text, so number 3 is the third sentence. The sentence_list field gives each passive or long sentence with its number, and the text summary ends with a line listing those numbers.     The checks are simple pattern rules, so treat them as prompts to reread, not as errors. Example: "Flag passive voice and filler words in my draft.

Input parameters:

- `max_sentence_words` (integer): Sentence length that counts as long. Default 30.
- `text` (string, required)

Output parameters:

- `filler` (array)
- `filler_count` (number)
- `long_sentences` (array)
- `max_sentence_words` (number)
- `passive_count` (number)
- `passive_sentences` (array)
- `repeated_openers` (array)
- `sentence_list` (array)
- `sentences` (number)

### `check_word_limit` (~222 tokens)

Check a word limit

Compare an essay against a word limit. Inputs: text, limit (the maximum word count), optional minimum (a lower bound), optional tolerance_percent (how far over the limit is still acceptable, default 0, a common rule is 10), optional exclude_references (cut everything from a heading line such as References, Works Cited or Bibliography to the end) and     optional exclude_quotes (leave out block quotes that start with > and text inside double quotes). Returns the counted words, how many are left or over, and what was excluded. Example: "Is this under 2000 words if I leave out the works cited and quotes?.

Input parameters:

- `exclude_quotes` (boolean): Leave out quoted passages. Default false.
- `exclude_references` (boolean): Leave out the references section. Default false.
- `limit` (integer, required): Maximum number of words.
- `minimum` (integer): Minimum number of words.
- `text` (string, required)
- `tolerance_percent` (number): Percent over the limit that is still fine. Default 0.

Output parameters:

- `allowed_maximum` (number)
- `counted_words` (number)
- `excluded_quote_words` (number)
- `excluded_reference_words` (number)
- `limit` (number)
- `minimum` (number|null)
- `status` (string)
- `total_words` (number)
- `words_over` (number)
- `words_remaining` (number)

### `word_frequency` (~192 tokens)

Word frequency

Find the words an essay uses most, to spot overused or repeated terms. Inputs: text, and optional top (how many words to list, default 10), min_count (fewest uses for a word to be listed, default 2) and include_common_words (also count small words such as the, and, of and to, default false).     Case is ignored, and words under 3 letters are skipped unless include_common_words is true. Each word comes with its count and its share of all the words in the text. Example: "Which words do I overuse in this essay?.

Input parameters:

- `include_common_words` (boolean): Also count small common words. Default false.
- `min_count` (integer): Fewest uses for a word to be listed. Default 2.
- `text` (string, required)
- `top` (integer): How many words to list. Default 10.

Output parameters:

- `min_count` (number)
- `top` (number)
- `total_words` (number)
- `unique_words` (number)
- `words` (array)

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/anonymousonyx22-essay-stats-mcp/essay-stats-mcp#diagnostics

## Score history

- 2026-11-05: 70
- 2026-11-04: 69
- 2026-11-03: 69
- 2026-11-02: 69
- 2026-11-01: 53
- 2026-10-31: 67
- 2026-10-30: 52

## Common questions

### What is the io.github.AnonymousOnyx22/essay-stats-mcp server?

io.github.AnonymousOnyx22/essay-stats-mcp is listed in the public MCP registry as io.github.AnonymousOnyx22/essay-stats-mcp. Essay Stats MCP: offline word and page counts, readability, style flags and word limit checks. This page covers its npm package (essay-stats-mcp).

### Is the io.github.AnonymousOnyx22/essay-stats-mcp server safe to use?

io.github.AnonymousOnyx22/essay-stats-mcp scores 70 out of 100 on VerifyMCP. We found no known CVEs affecting 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.AnonymousOnyx22/essay-stats-mcp server expose?

io.github.AnonymousOnyx22/essay-stats-mcp exposes 5 tools: count_text, readability_scores, style_flags, check_word_limit, word_frequency. Their descriptions and schemas cost roughly 949 tokens of context every time the server is loaded.

### Is the io.github.AnonymousOnyx22/essay-stats-mcp server still maintained?

io.github.AnonymousOnyx22/essay-stats-mcp 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.AnonymousOnyx22/essay-stats-mcp server under?

io.github.AnonymousOnyx22/essay-stats-mcp 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/essay-stats-mcp
- Socket report: https://socket.dev/npm/package/essay-stats-mcp
- Repository: https://github.com/AnonymousOnyx22/essay-stats-mcp
- Changelog RSS feed: https://verifymcp.io/servers/anonymousonyx22-essay-stats-mcp/essay-stats-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/anonymousonyx22-essay-stats-mcp/essay-stats-mcp.json
- HTML version of this page: https://verifymcp.io/servers/anonymousonyx22-essay-stats-mcp/essay-stats-mcp
