essay-stats-mcp 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.2
4
+
5
+ - Add worked examples to word_frequency and style_flags errors
6
+ - Add competitor comparison table to README
7
+ - Update the table of sibling MCP servers in the README
8
+
3
9
  ## 0.1.1
4
10
 
5
11
  - Tool descriptions now include example prompts, so clients can show what to ask each tool.
package/README.md CHANGED
@@ -85,6 +85,22 @@ Inputs: `text`, `limit`, and optional `minimum`, `tolerance_percent`, `exclude_r
85
85
  - "Which sentences are over 25 words long?"
86
86
  - "Which words do I overuse in this essay?"
87
87
 
88
+ ## How it compares
89
+
90
+ 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.
91
+
92
+ | | Essay Stats MCP | Brightspace MCP servers, such as brightspace-mcp-server | Online grammar and writing checkers | Asking a chat assistant to count |
93
+ | --- | --- | --- | --- | --- |
94
+ | Main job | Word count, page estimate, readability and style flags for an essay | Reading course data from Brightspace, such as courses and assignments | Fixing grammar, spelling and tone | General answers |
95
+ | Works on your own draft text | Yes | No, it works on course data | Yes | Yes |
96
+ | Exact word and page numbers | Yes, counted by code | Not its purpose | Usually a word count only | Often a guess |
97
+ | Word limit check that skips references and quotes | Yes, with `check_word_limit` | No | Rarely | Unreliable |
98
+ | Needs an account or API key | No | Depends on the server, check its README | Often an account | Depends on the app |
99
+ | Sends your text over the network | No | Depends on the server | Usually yes | Yes, to the assistant |
100
+ | Runs as a local MCP server | Yes | Yes | Not usually | Not applicable |
101
+
102
+ 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.
103
+
88
104
  ## Works well with
89
105
 
90
106
  If your school uses Brightspace, you can run [brightspace-d2l-mcp](https://www.npmjs.com/package/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.
@@ -108,6 +124,26 @@ npm run build
108
124
  npm test
109
125
  ```
110
126
 
127
+ ## More free student MCP servers
128
+
129
+ All free, open source and read only where they touch your accounts. Browse the full list at [brightspacemcp.com/more-mcps](https://brightspacemcp.com/more-mcps/).
130
+
131
+ | Server | What it does |
132
+ | --- | --- |
133
+ | [Brightspace MCP](https://github.com/AnonymousOnyx22/brightspace-d2l-mcp) | D2L Brightspace for AI. Due dates with real submission status, grades, a target grade calculator and course files. |
134
+ | [Canvas MCP](https://github.com/AnonymousOnyx22/canvas-lms-student-mcp) | Canvas LMS for AI, read only. Due dates, missing work, grades and announcements. |
135
+ | [Moodle MCP](https://github.com/AnonymousOnyx22/moodle-student-mcp) | Moodle for AI, read only. Due dates, overdue work, grades and announcements. |
136
+ | [Google Classroom MCP](https://github.com/AnonymousOnyx22/google-classroom-student-mcp) | Google Classroom for AI, read only. Todos, due dates, missing work and grades. |
137
+ | [GPA Calculator MCP](https://github.com/AnonymousOnyx22/gpa-calculator-mcp) | GPA, grade conversion and the grade you need on the final, for AI. Works offline, no account. |
138
+ | [Citations MCP](https://github.com/AnonymousOnyx22/student-citations-mcp) | APA, MLA and Chicago citations from a DOI, an ISBN or typed details. No account. |
139
+ | [Study Planner MCP](https://github.com/AnonymousOnyx22/study-planner-mcp) | Exam study schedules, spaced repetition dates, pomodoro plans and assignment milestones. Works offline. |
140
+ | [Paper Finder MCP](https://github.com/AnonymousOnyx22/paper-finder-student-mcp) | Search scholarly papers, find open access copies and related work through OpenAlex. No key needed. |
141
+ | [BibTeX Reference Manager MCP](https://github.com/AnonymousOnyx22/bibtex-reference-manager-mcp) | Clean, convert, dedupe and lint BibTeX, RIS and CSL JSON reference lists, and make cite keys. Works offline. |
142
+ | [Open Textbook Finder MCP](https://github.com/AnonymousOnyx22/open-textbook-finder-mcp) | Find free legal copies of textbooks on OpenStax, DOAB and Open Library, look up editions by ISBN and suggest cheaper older ones. |
143
+ | [STEM Calculator MCP](https://github.com/AnonymousOnyx22/stem-calc-student-mcp) | Chemistry and physics homework math: molar mass, balancing equations, grams to moles, unit conversion and significant figures. Works offline. |
144
+ | [Syllabus to Calendar MCP](https://github.com/AnonymousOnyx22/syllabus-calendar-mcp) | Syllabus to calendar MCP server. Extract dates from syllabus text, build an ics calendar, expand recurring classes and merge calendars. Works offline, no account. |
145
+ | [Job Application Tracker MCP](https://github.com/AnonymousOnyx22/job-tracker-student-mcp) | Job 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. |
146
+
111
147
  ## License
112
148
 
113
149
  MIT
@@ -1,7 +1,7 @@
1
1
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
2
  import { registerTools } from "./core/tools.js";
3
3
  import { tools } from "./tools.js";
4
- export const VERSION = "0.1.1";
4
+ export const VERSION = "0.1.2";
5
5
  export function createServer() {
6
6
  const server = new McpServer({ name: "essay-stats-mcp", version: VERSION });
7
7
  registerTools(server, tools);
@@ -4,9 +4,12 @@ const EMPTY_TEXT_HINT = `text is empty. Paste the essay text to analyse. Worked
4
4
  const textInput = z.string().min(1, EMPTY_TEXT_HINT);
5
5
  function requireText(text, toolName) {
6
6
  if (!/[A-Za-z0-9]/.test(text)) {
7
- const example = toolName === "check_word_limit"
8
- ? `{ "text": "Your essay content here.", "limit": 1500, "exclude_references": true }`
9
- : `{ "text": "Your essay content here." }`;
7
+ const examples = {
8
+ check_word_limit: `{ "text": "Your essay content here.", "limit": 1500, "exclude_references": true }`,
9
+ word_frequency: `{ "text": "Your essay content here.", "top": 10, "min_count": 2 }`,
10
+ style_flags: `{ "text": "Your essay content here.", "max_sentence_words": 30 }`,
11
+ };
12
+ const example = examples[toolName] ?? `{ "text": "Your essay content here." }`;
10
13
  throw new Error(`The text has no words in it. Paste the essay text and try again. Worked example for ${toolName}: ${example}`);
11
14
  }
12
15
  }
package/llms.txt CHANGED
@@ -1,6 +1,8 @@
1
1
  # Essay Stats MCP
2
2
 
3
- > An MCP server with offline writing metrics for essays. It counts words and pages, scores readability, flags style problems and checks word limits. No account, no API key, no network.
3
+ > An MCP server with offline writing metrics for essays. It counts words and pages, scores readability, flags style problems and checks word limits. No account, no API key, no network. Your essay text never leaves your machine.
4
+
5
+ Claude Code users can install it with one line: `claude mcp add essay-stats -- npx -y essay-stats-mcp`
4
6
 
5
7
  Package: essay-stats-mcp (npm). Registry name: io.github.AnonymousOnyx22/essay-stats-mcp. Runs over stdio. Needs Node.js 20 or newer.
6
8
 
@@ -38,6 +40,18 @@ All tools are read only and work on text passed in the call.
38
40
  - "Flag passive voice and filler words in my draft."
39
41
  - "Which words do I overuse in this essay?"
40
42
  - "Is this under 2000 words if I leave out the works cited and quotes?"
43
+ - "My limit is 1500 words, not counting the works cited or quotes. Am I over?"
44
+ - "How many pages is this essay in Arial 11 point with 1.5 spacing?"
45
+ - "What reading level is this essay?"
46
+ - "Which sentences are over 25 words long?"
47
+
48
+ ## Tool examples
49
+
50
+ - count_text: "Count the words in this essay and tell me how many pages it is in Arial 11 point with 1.5 spacing." Uses font arial, font_size 11 and spacing 1.5.
51
+ - readability_scores: "Give me the Flesch Kincaid, Gunning Fog and SMOG scores for this paper." Grades are roughly US school grades.
52
+ - style_flags: "Which sentences are over 25 words long?" Uses max_sentence_words 25. Sentence numbers start at 1.
53
+ - word_frequency: "Show my 15 most used words." Uses top 15.
54
+ - check_word_limit: "My limit is 1500 words, not counting the works cited or quotes." Uses limit 1500 with exclude_references and exclude_quotes set to true.
41
55
 
42
56
  ## Privacy
43
57
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "essay-stats-mcp",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "Essay Stats MCP counts words and pages offline for essays, scores readability, flags passive voice and filler words, and checks word limits against assignment requirements. No account, no network.",
5
5
  "type": "module",
6
6
  "main": "build/src/index.js",