Skip to main content
Glama
Cairnstew

paper-handler-mcp

by Cairnstew

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PAPER_HANDLER_CONFIGNoPath to an explicit paper-handler.toml configuration file. Use this when launching the MCP server outside a corpus root.
PAPER_HANDLER_ENGINENoRendering engine override: typst, latex, or both.
PAPER_HANDLER_PAPERS_DIRNoOverride for the corpus papers directory.
PAPER_HANDLER_TEMPLATES_DIRNoOverride for the corpus templates directory.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
paper_bib_checkC

Check references.bib for structural problems (brace balance, duplicate or empty keys).

paper_bib_initC

Create a starter references.bib in a paper.

paper_cite_keyA

Resolve a DOI/arXiv id/title from the attached handoff to its BibTeX key. Use this before citing a record whose key you do not know.

paper_close_corpusA

Forget the session corpus and return to cwd/config discovery.

paper_contextA

A compact context pack for writing one paper: front matter summary, outline, citation keys, current diagnostics and house style. This is the best first call; it is bounded by budget tokens.

paper_doctorA

Probe the render tools and render a minimal document; ok means a render actually succeeded, not just that quarto exists.

paper_initC

Initialise a paper corpus (config, _quarto.yml, papers/ directory).

paper_lintB

Structural and style diagnostics: placeholders, heading hierarchy, missing sections, long paragraphs/sentences, abstract length, undefined citations, readability. Returns at most max_issues; the counts are always complete.

paper_listA

List the papers in the corpus with title, status, engine, render state and word count. Start here; it is much cheaper than reading any paper.

paper_meta_getB

Read one front-matter key, or the whole front matter when key is omitted.

paper_meta_setB

Set a front-matter key. The value is parsed as YAML, so 2026 becomes a number and '[a, b]' a list.

paper_newB

Scaffold a new paper from a template. Returns the entry path; then write it section by section with paper_write_section.

paper_open_corpusA

Pin a corpus for this MCP session (a corpus root or a papers/ directory). Use it when the server was launched outside the corpus.

paper_outlineB

The heading tree with per-section word counts, plus missing standard sections. Cheaper than reading the paper.

paper_read_sectionB

Read exactly one section (heading plus body), truncated to max_tokens. Use this instead of reading the whole file.

paper_renderB

Render one paper (or the whole corpus with all=true) to PDF. Returns the output path, size and, on failure, a short stderr tail — not the full Quarto log.

paper_research_contextC

Compact evidence brief for an imported paper: counts, screening, top core papers and citation keys. Bounded by budget; never returns the bundle.

paper_research_importB

Scaffold a paper from a researcher-python handoff bundle and wire its bibliographies. The manual references.bib is never overwritten.

paper_research_prismaC

Insert or replace a Quarto appendix that includes the generated PRISMA screening flow (research/prisma.md).

paper_research_syncB

Refresh a paper's generated research/ files from a newer handoff bundle. Manuscript text and the manual references.bib are untouched.

paper_templatesB

List built-in and corpus-local paper templates.

paper_write_abstractA

Set the front-matter abstract. Keeps the abstract out of the section flow; returns its word count and any diagnostics.

paper_write_sectionB

Replace, append to, or insert a section. Content is markdown without the heading. Returns a small receipt and the updated outline — not the whole document.

Prompts

Interactive templates invoked by user choice

NameDescription
write_paperDraft or complete a paper section by section within a token budget.
revise_paperImprove clarity and evidence in an existing paper.
review_paperReview a paper as a critical reader and report concrete fixes.
research_to_paperRun the researcher handoff import, then write the paper section by section.

Resources

Contextual data attached and managed by the client

NameDescription
Academic style guideShort house style for structure, prose and evidence.
Paper corpus indexEvery paper with title, status, engine and word count.
Paper templatesBuilt-in and corpus-local templates.

TDQS

B3.2/5.0

Scored across 23 tools

Disambiguation4/5

Most tools have clearly distinct purposes: corpus setup, paper scaffolding, section writing, metadata, diagnostics, rendering, and research import are well separated. A few pairs could be confused at first glance, especially paper_context vs paper_research_context and paper_lint vs paper_bib_check, but their descriptions clarify the boundaries.

Naming Consistency4/5

All names use snake_case and share the paper_ prefix, with a clear paper_research_* subfamily for research tools. The internal pattern is not perfectly uniform (paper_read_section vs paper_bib_check vs paper_meta_get), but it remains predictable and readable.

Tool Count3/5

With 23 tools, the server is on the heavy side for a paper-handling workflow and includes several specialized diagnostic and research-import operations. The tools are mostly justified by a broad domain, but the surface is large enough to feel borderline rather than tightly scoped.

Completeness4/5

The surface covers the paper lifecycle well: corpus setup, templates, scaffolding, metadata, section reading/writing, abstract writing, linting, bibliography handling, rendering, and research import/sync. Minor gaps remain, such as explicit paper deletion/renaming or section deletion, but core workflows are well supported.

Maintenance

ActivityMaintained
ResponsivenessResponsive