MCP server for academic document authoring: grant proposals (科研費/JSPS), journal papers (IEEE/IEEJ/APS/Elsevier), research-talk slides + a raster-to-Excalidraw diagram pipeline. Diagnostic tools + knowledge base distilled from 14 classical Japanese/English writing-technique books (木下/本多/Wallwork/Sato et al.).
Project description
mcp-server-document
MCP server for academic document authoring — grant proposals, journal papers, and research-talk slides — distilled from 14 classical Japanese/English writing-technique books.
Status: 0.1.0 (beta). Battle-tested on grant 申請書 (JSPS, KDDI, パワーアカデミー), IEEJ / IEEE journal submissions, and 20-minute research talks.
What it does
Exposes 40 MCP tools across three sub-domains, plus a placeholder for a diagram-drawing companion:
| Sub-module | Tools | Covers |
|---|---|---|
grant_writing |
11 | Hook/Vision, Araki 物語論, NG パターン診断, 木下 10 原則, 本多テン原則 |
paper_writing |
14 | IMRAD, Reviewer 2 4-tier, Given-New 配置, 禁断 Intro 冒頭, Wallwork アクセプト術 |
presentation |
15 | 高橋メソッド / Zen / 横徹流, 作図力学, 1/3則・1/4則, 木下 10章 講演術 |
diagram |
0 | Planned — HTTP bridge to the sibling Node.js Excalidraw MCP |
Tools are split between:
- Knowledge loaders (
*_usage): return the full skill.md guide for LLM context injection. - Active diagnostics (
*_check_*,*_count_*,*_validate_*): Python-implemented lint rules that operate on.tex,.pdf,.log,.pptx, or raw text — overfull hbox, sentence length, weak hedges, Abstract background ratio, strong-adjective budget, slide line count, hedge-on-key-slide, 漢字比率, 本多テン第二原則, and ~30 more.
Install
pip install mcp-server-document
For PDF page-count and pptx slide-count diagnostics:
pip install "mcp-server-document[full]" # pymupdf + python-pptx
Register with Claude Code / Claude Desktop
Add to .claude.json (or Claude Desktop config.json):
{
"mcpServers": {
"document": {
"type": "stdio",
"command": "mcp-server-document",
"args": [],
"env": {}
}
}
}
Then in Claude: reference document.paper_writing_usage for IMRAD guidance, document.presentation_check_over_politeness to lint your 発表原稿, etc.
Example: diagnose a journal paper draft
# Inside Claude Code, with mcp-server-document registered:
# (pseudocode — actual invocation is through MCP protocol)
mcp.document.paper_writing_check_paragraph_opener(text=intro_text)
# -> flags "In this paper, we propose..." as a banned Wallwork §14.11 opener
mcp.document.paper_writing_check_abstract_background_ratio(abstract=abstract_text)
# -> reports background_ratio: 0.42 (target <= 0.25; Wallwork §13.16 hard reject)
mcp.document.paper_writing_check_strong_adjective_budget(text=full_paper)
# -> 7 strong adjectives ("novel", "innovative", ...) — Wallwork §8.12 warns >=5 reads as hype
Source knowledge
The skill.md guides are distilled from (Japanese):
- 木下是雄 『理科系の作文技術』 (中公新書)
- 本多勝一 『日本語の作文技術』 / 『中学生からの作文技術』 (朝日)
- 北原保雄 編 『問題な日本語』 (大修館書店)
- 荒木飛呂彦 『荒木飛呂彦の漫画術』 (集英社新書)
- 児島将康 『いちばんやさしい科研費の申請書の教科書』 (羊土社)
- 佐藤雅昭 『なぜあなたは論文が書けないのか』 (メディカルレビュー社)
- まんが版 / 『知的な科学・技術文章の書き方』 / 『作図力学』 / 『研究発表のためのスライドデザイン』
and (English):
- A. Wallwork, English for Writing Research Papers — the Japanese edition 『日本人研究者のための論文の書き方・アクセプト術』
- J. Swales, Academic Writing for Graduate Students (CARS model)
- E. Tufte, The Visual Display of Quantitative Information
All page references in skill.md point back to the cited books so you can verify.
License
MIT — see LICENSE.
Author: Kengo Sugahara (Kindai University, 近畿大学)
Related
excalidraw/— Node.js sibling MCP (whiteboard canvas for figure drafting). See also upstream yctimlin/mcp_excalidraw which this clone is based on.- Model Context Protocol — the spec this server implements.
Contributing
Issues and PRs welcome. The skill.md guides are deliberately quotable (with page refs) so additions should cite their source too. Please open an issue before adding new diagnostic tools.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_server_document-0.2.0.tar.gz.
File metadata
- Download URL: mcp_server_document-0.2.0.tar.gz
- Upload date:
- Size: 3.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
043856e3cec994d7eee826e958031c953bf7b9c3e2ed85746dfc3e260121ef0d
|
|
| MD5 |
76a351c5c28353881e0d8a4ce2238921
|
|
| BLAKE2b-256 |
6643c74d9d82b08daf584851bd94ffce0e95e7bf2ac77baafad0a1762f45955a
|
Provenance
The following attestation bundles were made for mcp_server_document-0.2.0.tar.gz:
Publisher:
release.yml on ksugahar/mcp-server-document
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mcp_server_document-0.2.0.tar.gz -
Subject digest:
043856e3cec994d7eee826e958031c953bf7b9c3e2ed85746dfc3e260121ef0d - Sigstore transparency entry: 1346604978
- Sigstore integration time:
-
Permalink:
ksugahar/mcp-server-document@b336b8410c3b1327e02ab09c75e0ead5a2674222 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/ksugahar
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b336b8410c3b1327e02ab09c75e0ead5a2674222 -
Trigger Event:
push
-
Statement type:
File details
Details for the file mcp_server_document-0.2.0-py3-none-any.whl.
File metadata
- Download URL: mcp_server_document-0.2.0-py3-none-any.whl
- Upload date:
- Size: 69.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
75f3dc7a51155cb62b7f848b08b9708abf078dd50fbe08dd13102ab0ff1319dd
|
|
| MD5 |
d6c5822cbb5311810c7307d53c547807
|
|
| BLAKE2b-256 |
3b6bfecba8f2973ce04d83cf57d7a7772a304311cb6e3fd22e27283ad8a30447
|
Provenance
The following attestation bundles were made for mcp_server_document-0.2.0-py3-none-any.whl:
Publisher:
release.yml on ksugahar/mcp-server-document
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mcp_server_document-0.2.0-py3-none-any.whl -
Subject digest:
75f3dc7a51155cb62b7f848b08b9708abf078dd50fbe08dd13102ab0ff1319dd - Sigstore transparency entry: 1346605054
- Sigstore integration time:
-
Permalink:
ksugahar/mcp-server-document@b336b8410c3b1327e02ab09c75e0ead5a2674222 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/ksugahar
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b336b8410c3b1327e02ab09c75e0ead5a2674222 -
Trigger Event:
push
-
Statement type: