PaperPilot
# PaperPilot
An MCP server that turns a research folder — code, data, figures, notes — into a compiled, submission-ready academic paper. Runs entirely on your machine; nothing is ever uploaded.
**Website:** [sjgod1427.github.io/PaperPilot](https://sjgod1427.github.io/PaperPilot/)
**Download:** [Latest release](https://github.com/sjgod1427/PaperPilot/releases/latest)
## What it does
Point PaperPilot at a research folder and it runs a five-stage pipeline:
1. **Screening** — checks the research for issues that would sink a submission (test-set leakage, statistical-validity problems, illegible figures, cross-file numeric mismatches) before writing a word.
2. **Venue resolution** — figures out the target venue's real formatting rules and page limits, or helps you pick one.
3. **Structure & drafting** — writes the paper into a real LaTeX template, filling every page it's allowed to.
4. **Humanization** — rewrites the draft for plain, direct academic prose.
5. **Final QA** — checks the compiled paper against the source material for hallucinated claims before calling it done.
## Using it
Download `PaperPilot.exe` from the [latest release](https://github.com/sjgod1427/PaperPilot/releases/latest) and run it — see [INSTALL.md](INSTALL.md) for the full setup for Claude Desktop, claude.ai, or Claude Code. The [website](https://sjgod1427.github.io/PaperPilot/) walks through the same steps interactively, including a live connection checker.
## Repository layout
- `src/paper_writing_pipeline/` — the MCP server (Python, `uv`-managed).
- `website/` — the marketing/distribution site (Next.js, static export, deployed to GitHub Pages via `.github/workflows/deploy-website.yml`).
- `tests/` — Python test suite (`uv run pytest`).
## Development
Python side:
```bash
uv sync
uv run pytest -q
```
Website:
```bash
cd website
npm install
npm run dev
```
TDQS
Scored across 21 tools
Several file-related tools overlap in purpose: read_file, read_project_file, and read_resource, as well as write_file, write_project_file, and write_resource, have similar semantics and only descriptive context separates them. The prompt and template tools are more clearly distinct.
Most tools use snake_case and many follow verb_noun (e.g., list_directory, read_file, write_resource), but several pipeline prompt tools are bare noun phrases (screening_prompt, venue_resolution_prompt, structure_drafting_prompt, humanization_prompt, final_qa_prompt), breaking the consistent action-oriented pattern.
With 21 tools, the surface falls in the 16-25 'heavy' range. The count is inflated by exposing each pipeline stage prompt as a separate tool rather than one parameterized prompt tool, though the tools are still coherent for the server's purpose.
The toolset covers file, template, rendering, and pipeline handoff operations well, but notable lifecycle operations are missing: no delete/removal for project files, templates, or resources, and template management is limited to listing, getting, and adding.