Essay Stats Mcp

io.github.AnonymousOnyx22Published by GitHub account AnonymousOnyx22v0.1.2Updated Nov 1, 2026

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

The publisher's own server: Garmin & Strava for Claude and ChatGPT

Overview

AI-generated overview

Offline essay checker that gives an assistant exact word and page counts, readability scores, style flags and word-limit checks on text you paste.

What you can do
  • Count words, characters, sentences and paragraphs, estimate reading time and page count for a chosen font, size and spacing
  • Score readability with Flesch Kincaid, Flesch reading ease, Gunning Fog and SMOG
  • Flag passive voice, repeated sentence openers, filler words and overlong sentences, with sentence numbers
  • Compare a draft against a word limit, optionally with a minimum, a tolerance percentage, and references or quotes excluded
  • List the most frequent words with counts and share of the text to spot overused terms
When to use it
Useful when checking a draft before submission: whether it is over a word limit, how many pages it fills at a given format, what reading level it sits at, or which sentences and words need a second look. It measures writing rather than fixing it.
Requirements
Runs locally as a Node.js program over standard input and output; Node.js 20 or newer is required. Installed via npx or added to an MCP config. No account, API key or network access.
Before you install
The tools only read the text passed to them and the README states nothing is stored and no network calls are made, so pasted essay text stays on the machine. Page counts are estimates and may differ from Word or Google Docs; style flags are simple pattern rules, not proof of an error, and SMOG is less reliable on short texts.

Installation

In SourceWeft

  1. Open Essay Stats Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Essay Stats MCP

You are about to hand in an essay and you are not sure if it is over the word limit, or how many pages it is. A chat assistant tends to guess at word counts. This server counts them properly, on your computer, so your assistant can give you real numbers.

Install it in Claude Code with one line:

claude mcp add essay-stats -- npx -y essay-stats-mcp

Then ask things like:

  • "My limit is 1500 words, not counting the works cited or quotes. Am I over?"
  • "How many pages is this essay in Arial 11 point with 1.5 spacing?"
  • "Find the passive voice and filler words in my draft."

Essay Stats MCP is an essay word counter and writing checker that runs offline. It counts words and pages, gives a readability score, and flags passive voice, filler words, long sentences and repeated sentence openers. It also gives the reading time.

There is no account, no API key and no network call. Your essay text never leaves your machine.

Quick start

For Claude Code, use the one line above. For other apps, add this to the MCP config:

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

It needs Node.js 20 or newer.

Where the config lives:

  • Claude Desktop: Settings, Developer, Edit Config (claude_desktop_config.json).
  • Cursor: Settings, MCP, or .cursor/mcp.json in your project.
  • VS Code: .vscode/mcp.json. VS Code uses a servers key instead of mcpServers.
  • Windsurf: ~/.codeium/windsurf/mcp_config.json.

Tools

ToolWhat it does
count_textWords, characters, sentences, paragraphs, reading time and an estimated page count for a font, size and line spacing.
readability_scoresFlesch Kincaid grade, Flesch reading ease, Gunning Fog and SMOG.
style_flagsPassive voice, repeated sentence openers, filler words and long sentences.
check_word_limitCompares the text with a word limit. Optional minimum, tolerance, and leaving out references and quotes.
word_frequencyThe words used most often, with counts and share of the text, to spot overused terms.

All five tools only read the text you give them. Each one returns a short written answer and the same numbers as structured fields.

count_text

Inputs: text, and optional font (times new roman, arial, calibri, georgia, courier new or verdana), 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 Word or Google Docs may differ by a little.

readability_scores

Input: text. The grades are roughly US school grades, so 12 is the end of high school. SMOG is designed for 30 sentences or more, so on a short text the result is marked as less reliable.

style_flags

Inputs: text and optional max_sentence_words (default 30). The checks are simple pattern rules. Use them as a prompt to reread a sentence, not as proof of a mistake.

Sentence numbers start at 1 and follow the order of the text. The sentence_list field gives each passive or long sentence with its number, and the text summary ends with a line listing those numbers, so a reply can point you to the right sentence.

word_frequency

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.

check_word_limit

Inputs: text, limit, and optional minimum, tolerance_percent, exclude_references and exclude_quotes. References are cut from a heading line such as References, Works Cited or Bibliography to the end. Quotes are lines starting with > and text inside double quotes.

Example prompts

  • "Count the words in this essay and tell me how many pages it is in Arial 11 point with 1.5 spacing."
  • "What reading level is this essay? Give me the Flesch Kincaid, Gunning Fog and SMOG scores."
  • "Find the passive voice and filler words in my draft."
  • "My limit is 1500 words, not counting the works cited or quotes. Am I over?"
  • "Which sentences are over 25 words long?"
  • "Which words do I overuse in this essay?"

How it compares

Essay Stats MCP does one job: it measures a piece of writing you give it. Other tools in this area do different jobs, so the table below is about what each kind of tool is for, not about which is better.

Essay Stats MCPBrightspace MCP servers, such as brightspace-mcp-serverOnline grammar and writing checkersAsking a chat assistant to count
Main jobWord count, page estimate, readability and style flags for an essayReading course data from Brightspace, such as courses and assignmentsFixing grammar, spelling and toneGeneral answers
Works on your own draft textYesNo, it works on course dataYesYes
Exact word and page numbersYes, counted by codeNot its purposeUsually a word count onlyOften a guess
Word limit check that skips references and quotesYes, with check_word_limitNoRarelyUnreliable
Needs an account or API keyNoDepends on the server, check its READMEOften an accountDepends on the app
Sends your text over the networkNoDepends on the serverUsually yesYes, to the assistant
Runs as a local MCP serverYesYesNot usuallyNot applicable

Essay Stats MCP does not fix your writing or reach into Brightspace. If you want Brightspace data next to it, see the next section for our own server, brightspace-d2l-mcp.

Works well with

If your school uses Brightspace, you can run brightspace-d2l-mcp next to Essay Stats MCP in the same app. That server has its own setup, so follow its README to install and sign in. Essay Stats MCP does not talk to it and does not need it.

With both added to your MCP config, you can ask your assistant to look up the word limit in your assignment details, then pass that number to check_word_limit along with your draft. For example:

  • "Find the word limit for my history essay in Brightspace, then check this draft against it, leaving out the works cited."
  • "Look up my assignment instructions, then tell me if this draft is under the limit and how many pages it is."

The assignment details come from the other server. The counting and checking happen here, on your machine, and Essay Stats MCP makes no network calls.

Privacy

Everything is calculated locally by a small Node.js program talking to your app over standard input and output. It makes no network requests, stores nothing and needs no keys or passwords. The text you paste is used for the one call and then dropped.

Development

npm installnpm run buildnpm test

More free student MCP servers

All free, open source and read only where they touch your accounts. Browse the full list at brightspacemcp.com/more-mcps.

ServerWhat it does
Brightspace MCPD2L Brightspace for AI. Due dates with real submission status, grades, a target grade calculator and course files.
Canvas MCPCanvas LMS for AI, read only. Due dates, missing work, grades and announcements.
Moodle MCPMoodle for AI, read only. Due dates, overdue work, grades and announcements.
Google Classroom MCPGoogle Classroom for AI, read only. Todos, due dates, missing work and grades.
GPA Calculator MCPGPA, grade conversion and the grade you need on the final, for AI. Works offline, no account.
Citations MCPAPA, MLA and Chicago citations from a DOI, an ISBN or typed details. No account.
Study Planner MCPExam study schedules, spaced repetition dates, pomodoro plans and assignment milestones. Works offline.
Paper Finder MCPSearch scholarly papers, find open access copies and related work through OpenAlex. No key needed.
BibTeX Reference Manager MCPClean, convert, dedupe and lint BibTeX, RIS and CSL JSON reference lists, and make cite keys. Works offline.
Open Textbook Finder MCPFind free legal copies of textbooks on OpenStax, DOAB and Open Library, look up editions by ISBN and suggest cheaper older ones.
STEM Calculator MCPChemistry and physics homework math: molar mass, balancing equations, grams to moles, unit conversion and significant figures. Works offline.
Syllabus to Calendar MCPSyllabus to calendar MCP server. Extract dates from syllabus text, build an ics calendar, expand recurring classes and merge calendars. Works offline, no account.
Job Application Tracker MCPJob application tracker MCP server. Track internships, jobs, interviews and deadlines offline, see what is coming up, and export your list as CSV or Markdown. No account and no API keys.

License

MIT

Source: README.md at commit e969ab4

Tools

5

count_text

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.

Parametersfonttextrequiredspacingfont_size

readability_scores

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.

Parameterstextrequired

style_flags

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.

Parameterstextrequiredmax_sentence_words

check_word_limit

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

Parameterstextrequiredlimitrequiredminimumexclude_quotestolerance_percentexclude_references

word_frequency

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

Parameterstoptextrequiredmin_countinclude_common_words

Version history

3
  1. v0.1.2LatestNov 1, 2026
  2. v0.1.1Oct 31, 2026
  3. v0.1.0Oct 30, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Stats integrations