essay-stats-mcp について
essay-stats-mcp は、学生やライターが文章の長さや書き方を確認するためのローカルなオフライン MCP サーバーです。文字数や可読性を計算し、文体の特徴を示して語数制限を確認します。文章をネットワークに送信しません。
主な機能
- 01単語・文字・文・段落をカウント
- 02ページ数と読了時間を推定
- 03可読性スコアを算出
- 04受動態や冗長語を検出
- 05参考文献や引用を除外して語数制限を確認
- 06文の変化と単語頻度を分析
活用シーン
- 01エッセイが語数制限内か確認
- 02指定した書式でページ数を推定
- 03可読性や文体の傾向を確認
- 04繰り返しや過剰使用の単語を特定
MCP 対応
標準入出力を使うローカルの Node.js プロセスを通じて、6種類のテキスト分析ツールを MCP クライアントに提供します。ネットワークリクエストを行わず、入力された文章も保存しません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
5掲載時のツール一覧 · 1 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| font | string | いいえ | フォント名。デフォルトは times new roman。 |
| text | string | はい | |
| spacing | enum | いいえ | 行間。デフォルトは double。single | 1.5 | double |
| font_size | number | いいえ | ポイント単位のフォントサイズ。デフォルトは 12。 |
詳細
Essay Stats MCP:エッセイの単語数カウントと文章チェック
エッセイを提出しようとしていて、語数制限を超えていないか、何ページになるのか分からないことはありませんか。チャットアシスタントは語数を推測しがちです。このサーバーはお使いのコンピューター上で正確にカウントするため、アシスタントは実際の数を回答できます。
次の1行で Claude Code にインストールできます。
claude mcp add essay-stats -- npx -y essay-stats-mcp
その後、次のように質問できます。
- 「上限は1500語で、参考文献と引用は除外します。超えていますか?」
- 「このエッセイは、Arial 11ポイント、1.5行間で何ページになりますか?」
- 「下書きに受動態や埋め草の言葉がないか調べてください。」
Essay Stats MCP は、オフラインで動作するエッセイの単語数カウンター兼文章チェッカーです。語数とページ数をカウントし、読みやすさのスコアを提示して、受動態、埋め草の言葉、長い文、同じ書き出しの文を検出します。読了時間も提示します。
アカウントも API キーも不要で、ネットワーク通信もありません。エッセイのテキストがお使いのコンピューターから外部に送信されることはありません。
クイックスタート
Claude Code ユーザーは上記の1行を使用できます。ほかのアプリでは、クライアント用の設定をコピーしてください。Node.js 20 以降が必要です。
Claude Desktop
「設定」から「開発者」、「設定を編集」を開き、claude_desktop_config.json に次の内容を追加します。その後、Claude Desktop を再起動してください。
{
"mcpServers": {
"essay-stats": {
"command": "npx",
"args": ["-y", "essay-stats-mcp"]
}
}
}
Cursor
プロジェクト内の .cursor/mcp.json、またはすべてのプロジェクトに適用する場合は ~/.cursor/mcp.json に追加します。
{
"mcpServers": {
"essay-stats": {
"command": "npx",
"args": ["-y", "essay-stats-mcp"]
}
}
}
VS Code
ワークスペース内の .vscode/mcp.json に追加します。VS Code では mcpServers ではなく servers キーを使用します。
{
"servers": {
"essay-stats": {
"type": "stdio",
"command": "npx",
"args": ["-y", "essay-stats-mcp"]
}
}
}
Windsurf
Claude Desktop と同じ設定を ~/.codeium/windsurf/mcp_config.json に追加します。
ツール
| ツール | 機能 |
|---|---|
count_text | 語数、文字数、文数、段落数、読了時間、およびフォント、サイズ、行間に基づく推定ページ数をカウントします。 |
readability_scores | Flesch-Kincaid の学年、Flesch の読みやすさスコア、Gunning Fog、SMOG を算出します。 |
style_flags | 受動態、同じ書き出しの文、埋め草の言葉、長い文を検出します。 |
sentence_variety | 短文・中文・長文の数と、長さが似た文の連続を示し、文の長さにどれだけ変化があるかを調べます。 |
check_word_limit | テキストを語数制限と比較します。任意で最小語数と許容範囲を指定でき、参考文献や引用を除外できます。 |
word_frequency | 使用頻度の高い語と、その出現数およびテキストに占める割合を示し、使いすぎている語を見つけます。 |
6つのツールはすべて、入力されたテキストを読み取るだけです。それぞれ短い文章による回答と、同じ数値を構造化フィールドで返します。
count_text
入力:text。任意で font(times new roman、arial、calibri、georgia、courier new、verdana)、ポイント単位の font_size(既定値は12)、spacing(single、1.5、double。既定値はdouble)を指定できます。ページ数は一般的な1ページあたりの語数から推定するため、Word や Google Docs の結果とは多少異なる場合があります。
readability_scores
入力:text。学年はおおよその米国の学校の学年を示し、12は高校の最終学年に相当します。SMOG は30文以上を対象に設計されているため、短いテキストでは信頼性が低い結果として表示されます。
style_flags
入力:text と、任意の max_sentence_words(既定値は30)。チェックには単純なパターンルールを使用しています。間違いの証拠としてではなく、文を読み返すきっかけとしてお使いください。
文番号は1から始まり、テキスト内の順序に従います。sentence_list フィールドには、受動態の文または長い文が番号とともに表示されます。テキストの要約の末尾にもこれらの番号が記載されるため、該当する文を指定できます。
sentence_variety
入力:text。文の最短・最長・平均の語数と標準偏差に加え、短文(10語未満)、中文(10~24語)、長文(25語以上)の数を返します。また、3文以上連続し、その文の長さが連続部分の最初の文と3語以内の差に収まる箇所を、文番号とともに一覧表示します。文番号は1から始まり、テキスト内の順序に従います。
word_frequency
入力:text、および任意のtop(表示する単語数。デフォルトは10)、min_count(単語を表示するために必要な最小出現回数。デフォルトは2)、include_common_words(the、and、of、toなどの短い単語もカウントするかどうか。デフォルトはfalse)。大文字と小文字は区別されません。include_common_wordsがtrueでない限り、3文字未満の単語は除外されます。
check_word_limit
入力:text、limit、および任意のminimum、tolerance_percent、exclude_references、exclude_quotes。References、Works Cited、Bibliographyなどの見出し行から末尾までが参考文献として除外されます。引用として、>で始まる行と二重引用符で囲まれたテキストが除外されます。
FAQ:単語数とページ数の数え方
単語数はどのように数えますか?
テキストをスペースと改行で分割し、文字または数字を1つ以上含む各部分を数えます。これは、WordやGoogle Docsで使われている方法と同じ考え方です。ハイフンでつないだ単語は、ハイフンを付けて書けば1語として数えられます。また、2024のような数字も1語として数えられます。
Wordと単語数が異なることがあるのはなぜですか?
ほとんどの場合、貼り付けた内容が原因です。スペースで区切られた単独のダッシュや記号は、文字も数字も含まないため、ここでは数えませんが、Wordでは数えられます。脚注、ヘッダー、フッター、テキストボックスは、貼り付けた場合にのみカウントされます。数語程度の違いがある場合は、まずこれらを確認してください。
ページ数はどのように算出されますか?
count_textは、単語数を選択したフォントの1ページあたりの固定単語数で割り、フォントサイズと行間に応じて調整します。これはレイアウトではなく推定値です。余白、見出し、タイトルページ、表、画像は考慮されないため、Wordでは異なるページ数が表示されることがあります。ページ数が厳密に指定されている場合は、ご自身の文書に表示されるページ数を基準にしてください。
check_word_limitでは何が除外されますか?
指定がない限り、何も除外されません。exclude_referencesを指定すると、References、Works Cited、Bibliographyなどの見出し行から末尾までが除外されます。exclude_quotesを指定すると、>で始まる行と二重引用符で囲まれたテキストが除外されます。結果には合計、カウントされた単語数、除外された単語数が表示されるため、担当教員のカウント方法と照らし合わせられます。
許容誤差によって単語数は変わりますか?
いいえ。単語数は変わりません。tolerance_percentは許容される上限を広げるだけです。そのため、上限が1500語で許容誤差が10パーセントの場合、最大1650語まで認められます。上限を超えていても許容誤差の範囲内である場合は、その旨が結果に表示されます。
プロンプトの例
- 「このエッセイの単語数を数えて、Arial 11ポイント、行間1.5で何ページになるか教えてください。」
- 「このエッセイの読みやすさのレベルはどの程度ですか?Flesch Kincaid、Gunning Fog、SMOGのスコアを教えてください。」
- 「下書きの受動態とつなぎ言葉を見つけてください。」
- 「参考文献と引用を除いて上限は1500語です。超えていますか?」
- 「25語を超える文はどれですか?」
- 「すべての文が同じような長さに聞こえますか?」
- 「このエッセイで使いすぎている単語はどれですか?」
比較
Essay Stats MCP は、渡された文章を測定するという一つの役割を担います。この分野の他のツールは異なる役割を担うため、以下の表では、どれが優れているかではなく、それぞれの種類のツールが何のためにあるかを示しています。
| Essay Stats MCP | brightspace-mcp-server などの Brightspace MCP サーバー | オンラインの文法・文章校正ツール | チャットアシスタントに数えてもらう | |
|---|---|---|---|---|
| 主な役割 | エッセイの単語数、ページ数の目安、読みやすさ、文体に関する指摘 | コースや課題など、Brightspace のコースデータの読み取り | 文法、スペル、トーンの修正 | 一般的な回答 |
| 自分の下書きテキストを扱える | はい | いいえ。コースデータを扱います | はい | はい |
| 単語数とページ数を正確に算出 | はい。コードでカウントします | 対象外です | 通常は単語数のみ | 多くの場合、推測です |
| 参考文献と引用を除外した文字数制限の確認 | はい。check_word_limit を使用します | いいえ | まれです | 信頼できません |
| アカウントまたは API キーが必要 | いいえ | サーバーによって異なります。README を確認してください | 多くの場合、アカウントが必要です | アプリによって異なります |
| テキストをネットワーク経由で送信 | いいえ | サーバーによって異なります | 通常は送信します | はい。アシスタントに送信します |
| ローカル MCP サーバーとして実行 | はい | はい | 通常はできません | 該当しません |
Essay Stats MCP は文章を修正せず、Brightspace にアクセスすることもありません。Brightspace のデータも併せて使いたい場合は、次のセクションで紹介する当社のサーバー、brightspace-d2l-mcp をご覧ください。
連携するツール
学校で Brightspace を使用している場合は、同じアプリで brightspace-d2l-mcp を Essay Stats MCP と一緒に実行できます。このサーバーには独自のセットアップ手順があるため、インストールしてサインインするには README に従ってください。Essay Stats MCP はこのサーバーと通信せず、これを必要としません。
両方を MCP 設定に追加すると、アシスタントに課題の詳細から文字数制限を調べてもらい、その数値を下書きとともに check_word_limit に渡すよう依頼できます。たとえば、次のように頼めます。
- 「Brightspace で歴史のエッセイの文字数制限を調べてから、引用文献一覧を除外して、この下書きが制限内か確認してください。」
- 「課題の指示を調べてから、この下書きが制限内かどうかと、何ページになるかを教えてください。」
課題の詳細はもう一方のサーバーから取得します。カウントと確認はここで、あなたのマシン上で行われます。Essay Stats MCP はネットワーク通信を行いません。
プライバシー
すべての計算は、標準入力と標準出力を介してアプリと通信する小さな Node.js プログラムによってローカルで行われます。ネットワークリクエストを送信せず、何も保存せず、キーやパスワードも必要ありません。貼り付けたテキストは、その一度の呼び出しに使われた後、破棄されます。
開発
npm install
npm run build
npm test
その他の無料の学生向け MCP サーバー
すべて無料でオープンソースです。アカウントにアクセスする場合も、読み取り専用です。全リストはbrightspacemcp.com/more-mcpsでご覧ください。
| サーバー | 機能 |
|---|---|
| Brightspace MCP | AI 向けの D2L Brightspace です。実際の提出状況を含む締め切り、成績、目標成績計算ツール、コースファイルを確認できます。 |
| Canvas MCP | AI 向けの Canvas LMS です。読み取り専用で、締め切り、未提出の課題、成績、お知らせを確認できます。 |
| Moodle MCP | AI 向けの Moodle です。読み取り専用で、締め切り、期限切れの課題、成績、お知らせを確認できます。 |
| Google Classroom MCP | AI 向けの Google Classroom です。読み取り専用で、ToDo、締め切り、未提出の課題、成績を確認できます。 |
| GPA Calculator MCP | AI 向けの GPA、成績換算、期末試験で必要な成績を計算できます。オフラインで動作し、アカウントは不要です。 |
| Citations MCP | DOI、ISBN、または入力した詳細情報から APA、MLA、Chicago 形式の引用を作成します。アカウントは不要です。 |
| Study Planner MCP | 試験勉強のスケジュール、間隔反復の日程、ポモドーロ計画、課題のマイルストーンを作成します。オフラインで動作します。 |
| Paper Finder MCP | OpenAlex を通じて学術論文を検索し、オープンアクセス版や関連研究を見つけます。キーは不要です。 |
| BibTeX Reference Manager MCP | BibTeX、RIS、CSL JSON の参考文献リストを整形、変換、重複除去、検査し、引用キーを作成します。オフラインで動作します。 |
| Open Textbook Finder MCP | OpenStax、DOAB、Open Library で無料かつ合法的に入手できる教科書を探し、ISBN で版を調べ、より安価な旧版を提案します。 |
| STEM Calculator MCP | 化学と物理の宿題の計算に対応します。モル質量、化学反応式の係数合わせ、グラムからモルへの換算、単位換算、有効数字を扱います。オフラインで動作します。 |
| Syllabus to Calendar MCP | シラバスをカレンダーに変換する MCP サーバーです。シラバスのテキストから日付を抽出し、ics カレンダーを作成し、繰り返し授業を展開してカレンダーを統合します。オフラインで動作し、アカウントは不要です。 |
| Job Application Tracker MCP | 求職活動を管理する MCP サーバーです。インターンシップ、仕事、面接、締め切りをオフラインで管理し、今後の予定を確認して、一覧を CSV または Markdown としてエクスポートできます。アカウントも API キーも不要です。 |
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。