Skip to main content
AllMCPs
BrowseBestCategoriesStackCompareToolsGuidesBlog
Log in Submit MCP

Stay in the loop

Get new MCP servers and top picks in your inbox.

AllMCPs

The open directory for discovering and installing Model Context Protocol servers.

AllMCPs on GitHub (opens in a new tab)
Launched onTiny Startupstinystartups.com
Explore
  • Browse servers
  • Best MCP servers
  • Categories
  • MCP clients
  • Agent prompts
  • Stack Builder
  • Compare servers
  • Random discovery New
  • Submit a server
  • Pricing & Boost Boost
Learn
  • Guides hub
  • What is MCP?
  • Install guide
  • Build an MCP server
  • Deploy an MCP server
  • Security guide
  • Troubleshooting
  • MCP for SEO & AEO
  • Protocol versioning
  • Blog & updates
Tools
  • All developer tools
  • Config generator
  • Config validator
  • Config auditor
  • MCP playground
  • Token calculator
  • OpenAPI → MCP
  • Badge generator
For agents
  • REST API docs
  • Trust & traffic Live
  • Remote MCP server SSE ↗ (opens in a new tab)
  • llms.txt ↗ (opens in a new tab)
  • Catalog JSON ↗ (opens in a new tab)
Company
  • About
  • Advertise Sponsor
  • Contact
  • GitHub ↗ (opens in a new tab)
  • Terms
  • Privacy
AllMCPs VerifiedAllMCPs VerifiedFeatured on Nick LaunchesFeatured on Nick LaunchesLaunch Llama NewsletterLaunch Llama NewsletterVerified DR - allmcps.comVerified DR - allmcps.comFeatured on SaaSGrowFeatured on SaaSGrowFeatured on Twelve ToolsFeatured on Twelve ToolsFeatured on Saaspa.geFeatured on Saaspa.geFeatured on Findly.toolsFeatured on Findly.toolsFeatured on Startup FameFeatured on Startup FameFeatured on LaunchKiwiFeatured on LaunchKiwiFeatured on ScrollLaunchFeatured on ScrollLaunchFeatured on DailyPingsFeatured on DailyPingsFazier badgeFazier badgeFeatured on NewTool.siteFeatured on NewTool.siteFeatured on saasfame.comFeatured on saasfame.comDR Checker - Domain RatingDR Checker - Domain RatingListed on Turbo0Listed on Turbo0Launched on LaunchBoard - Product Launch PlatformLaunched on LaunchBoard - Product Launch PlatformList on SimilarlabsList on Similarlabshttps://codetrendy.comhttps://codetrendy.comListed on DevTool.ioFeatured on BuildlistFeatured on BuildlistLaunched on Tiny StartupsFeatured on ShowMeBestAIFeatured on ShowMeBestAIFind us on LaunchZoneFind us on LaunchZoneAllMCPs VerifiedAllMCPs VerifiedFeatured on Nick LaunchesFeatured on Nick LaunchesLaunch Llama NewsletterLaunch Llama NewsletterVerified DR - allmcps.comVerified DR - allmcps.comFeatured on SaaSGrowFeatured on SaaSGrowFeatured on Twelve ToolsFeatured on Twelve ToolsFeatured on Saaspa.geFeatured on Saaspa.geFeatured on Findly.toolsFeatured on Findly.toolsFeatured on Startup FameFeatured on Startup FameFeatured on LaunchKiwiFeatured on LaunchKiwiFeatured on ScrollLaunchFeatured on ScrollLaunchFeatured on DailyPingsFeatured on DailyPingsFazier badgeFazier badgeFeatured on NewTool.siteFeatured on NewTool.siteFeatured on saasfame.comFeatured on saasfame.comDR Checker - Domain RatingDR Checker - Domain RatingListed on Turbo0Listed on Turbo0Launched on LaunchBoard - Product Launch PlatformLaunched on LaunchBoard - Product Launch PlatformList on SimilarlabsList on Similarlabshttps://codetrendy.comhttps://codetrendy.comListed on DevTool.ioFeatured on BuildlistFeatured on BuildlistLaunched on Tiny StartupsFeatured on ShowMeBestAIFeatured on ShowMeBestAIFind us on LaunchZoneFind us on LaunchZone
© 2026 Jackalope Digital LLC. All rights reserved.
  1. Home
  2. Other Tools and Integrations
  3. Latex MCP Server
  4. README

Latex MCP Server README

The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Latex MCP Server listing page.

Back to Latex MCP Server View source on GitHub

LaTeX MCP Server

An MCP (Model Context Protocol) server that can supercharge your VSCode + LaTex Workshop writing workflow

Currently houses MCP tools, and new tools can be easily added in either Python and TypeScript. The Python process is the MCP server; selected tools are delegated to a small Node/TypeScript module via a bridge.

LaTex MCP Server + Copilot/Claude/Cursor, what can you do?

  • Read your cited papers, verify / add onto your claims
  • Access your python scripts to generate new figures / latex tables based on your experiment data, and place them into latex autonomously
  • Can verify every step and ensure your pdf compiles
  • Functionally it can autonomously take your outline + experimental results and turn it into a paper (may looks like slop though)

Your browser does not support the video tag.


Python Tools

  • list_tex_files
    Lists all .tex files under your LaTeX workspace (relative paths). Useful for LLMs or agents to discover available chapters and sections.

  • read_file
    Reads a text or binary-safe slice of a file given a relative path inside the workspace. Supports specifying a maximum number of bytes to return.

  • extract_bibliography
    Parses a BibTeX file and returns structured entry metadata, including download URLs (DOI, arXiv). Helps agents or scripts work with citation data programmatically.

  • download_bibliography
    Downloads PDFs for bibliography entries listed in resources/cited_papers/index.json. Can force re-downloads and limit the number of new downloads.

  • compile_latex
    Runs LaTeX compilation (pdflatex/xelatex via latexmk) on the main document and returns success plus a log snippet. Supports specifying the entry .tex file and number of passes.

  • read_pdf
    Extracts text and metadata from a PDF filepath using pypdf, with page and character limits. Stores a JSON artifact for downstream use.

  • read_pdf_from_citation
    Resolves a citation key via resources/cited_papers/index.json to its PDF and extracts text (auto-downloads if needed). Returns extracted text, metadata, and the citation key.


TypeScript Bridge Tools

  • summarize_text
    Produces a concise natural language summary of provided LaTeX or text content. Accepts a maximum sentence count for the summary.

  • suggest_bib_key
    Suggests a stable BibTeX key based on authors, year, and title metadata. Useful for generating consistent citation keys.


Install (with uv)

From the repository root:

bash
cd latex-mcp-server
uv tool install -e .

or

Code
uv tool install -e ./latex-mcp-server

This will make the console script latex-mcp-server available on your PATH.

If you prefer a one-off run without installing as a tool:

bash
uv run latex-mcp-server

MCP Configuration Snippet

Add to your mcp.json (VS Code / Claude Desktop user settings):

jsonc
"latex-mcp-server": {
  "command": "uv",
  "args": ["tool", "run", "latex-mcp-server", "--workspace", "ABSOLUTE_PATH_TO_YOUR_PROJECT_ROOT"]
}

If you omit --workspace, the server will infer the current working directory.

Windows example

On Windows (PowerShell / Bash), if your paper_1 root is at C:\Users\User\projects\paper_1, use:

jsonc
"latex-mcp-server": {
  "command": "uv",
  "args": [
    "tool", "run", "latex-mcp-server",
    "--workspace", "C:/Users/User/projects/paper_1"
  ]
}

Forward slashes are fine; they avoid the need to escape backslashes. Be sure to replace the placeholder ABSOLUTE_PATH_TO_YOUR_PAPER_1_ROOT — leaving a placeholder like WORKSPACE_FOLDER_PATH will cause the runtime error:

Code
Workspace does not exist: C:\Users\User\WORKSPACE_FOLDER_PATH\PAPER_1

Alternative: Install once, then call directly

After running:

bash
cd latex-mcp-server
uv tool install -e .

You can simplify the config to:

jsonc
"latex-mcp-server": {
  "command": "latex-mcp-server",
  "args": ["--workspace", "C:/Users/User/projects/paper_1"]
}

Troubleshooting

SymptomCauseFix
No solution found when resolving tool dependenciesThe tool name latex-mcp-server isn’t published on PyPI and uv tried to resolve it as a dependency (often happens if you used a config field like requires or didn’t install locally)Run uv tool install -e ./latex-mcp-server from repo root, then update your mcp.json to invoke the installed script directly
Workspace does not exist: C:\\Users\\...WORKSPACE_FOLDER_PATH...Placeholder path left unchangedReplace with the real absolute path
TypeScript runtime unavailable in tool resultsNode.js not installed (only needed for TS bridge tools)Install Node.js 18+ or ignore if you don’t need TS tools

If you change TypeScript sources, rebuild and re-vendor (npm run build) before restarting the server.

TypeScript Bridge

The TypeScript sources live in ts_functions/src. Their compiled JavaScript output is vendored into the Python package under latex_mcp_server/ts_dist so users do not need npm or tsc just to run the server. To modify or add TS functions:

bash
cd latex-mcp-server/ts_functions
npm install
npm run build

Then copy (or allow the provided helper script to sync) the dist/ contents into latex_mcp_server/ts_dist/.

Adding New Python Tools

Add functions in latex_mcp_server/functions/latex_ops.py (or new modules) and register them in server.py inside register_python_tools.

Citation-Aware PDF Reading

When a user asks about a paper (e.g. “Explain how \cite{smith2023model} differs from …”), the agent should:

  1. Parse citation key(s) from the request.
  2. Call read_pdf_from_citation for each key (fetches / downloads PDF and extracts text snippet + metadata).
  3. Ground its answer on the extracted text (and optionally call summarize_text for a concise summary).
  4. Indicate if extraction was truncated (check the truncated flag) and avoid over-claiming beyond available pages/characters.

The read_pdf_from_citation tool returns the same schema as read_pdf plus citation_key so multi-citation responses can attribute snippets correctly.

Auto-Updating index.json (Chosen Method: VS Code Tasks)

This project is configured to refresh resources/cited_papers/index.json before each LaTeX build using VS Code tasks (method #3 from the suggested approaches).

Added file: .vscode/tasks.json with three tasks:

  • update-index: Runs a short Python one-liner invoking extract_bibliography on src/references.bib.
  • latex-build: Invokes latexmk -pdf on main.tex.
  • build+index: Sequentially runs update-index then latex-build.

How to Use

  1. In VS Code, open the command palette and run “Tasks: Run Task”.
  2. Choose build+index (recommend marking it as the default build task when prompted).
  3. The BibTeX index will regenerate first; then LaTeX compilation proceeds.

If LaTeX Workshop cannot import the package (ModuleNotFoundError), a helper script latex-mcp-server/update_index.py is provided. The workspace settings have been updated to call:

Code
python latex-mcp-server/update_index.py

so that a local editable install is not strictly required.

Make It the Default Build

When prompted by VS Code after first run, accept setting build+index as the default. You can also add to your workspace settings:

jsonc
// .vscode/settings.json (optional)
{
  "latex-workshop.latex.recipe.default": "build+index"
}

Why This Approach

  • No background watcher process.
  • Deterministic: index refresh tied explicitly to build command.
  • Minimal overhead (BibTeX parsing is fast relative to PDF compilation).

If you later need an alternative (e.g., Makefile or on-demand freshness check), you can still layer it on; the tasks approach is non-invasive.

Adding New TS Tools

  1. Create a new file in ts_functions/src/functions/ exporting a function.
  2. Add it to the export map in ts_functions/src/index.ts.
  3. Rebuild and sync dist output.
  4. Register a Python wrapper in server.py using bridge.register_ts_tool.

Protocol Notes

This server follows the MCP JSON-RPC message patterns. If the mcp Python package updates its APIs, adjust imports accordingly.

License

MIT