Latexmk Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Latexmk Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
A Model Context Protocol server for latexmk that exposes LaTeX compilation, log parsing, dependency inspection, citation checking, and other utilities as MCP tools for any compatible AI agent or client.
$PATH — bundled with most TeX distributions (TeX Live, MiKTeX)# Debian/Ubuntu
sudo apt install latexmk texlive-full
# macOS
brew install --cask mactex
# Arch Linux
sudo pacman -S texliveAdd this to your MCP client configuration:
{
"mcpServers": {
"latexmk": {
"command": "npx",
"args": ["-y", "latexmk-mcp"]
}
}
}The example above applies for clients such as Gemini CLI, Claude Code, etc. Additionally, some tools allow you to add MCP servers imperatively:
codex mcp add latexmk -- npx -y latexmk-mcpAlternatively, you can install the package globally and invoke it directly without npx:
npm install -g latexmk-mcp
which latexmk-mcp # note the absolute pathThen point your MCP client at the local binary using node:
{
"mcpServers": {
"latexmk": {
"command": "node",
"args": ["/absolute/path/to/node/vX.Y.Z/bin/latexmk-mcp"]
}
}
}bun install
bun test
bun run build
node dist/index.jslatexmk_compileFull compile of a LaTeX document with configurable engine, output format, bibliography processor, and latexmk flags.
| Parameter | Type | Default | Description | ||||
|---|---|---|---|---|---|---|---|
tex_content | string | — | Raw LaTeX source (mutually exclusive with file_path) | ||||
file_path | string | — | Path to existing .tex file | ||||
output_format | `pdf\ | dvi\ | ps\ | xdv` | pdf | Target format | |
engine | `pdflatex\ | xelatex\ | lualatex\ | latex\ | pdftex` | pdflatex | TeX engine |
bibtex | `bibtex\ | biber\ | none` | none | Bibliography processor | ||
shell_escape | boolean | false | Enable --shell-escape | ||||
synctex | boolean | false | Generate SyncTeX data | ||||
extra_args | string[] | [] | Extra latexmk CLI flags | ||||
working_dir | string | temp dir | Build directory | ||||
return_pdf | boolean | false | Return compiled PDF as base64 when building PDF output |
Returns: success, exit_code, output_file, page_count, structured errors[], structured warnings[], missing_packages[], install_hints[], working_dir, stdout, stderr, and optional pdf_base64.
latexmk_draft_compileFast single-pass compile (no reruns, no bibliography) — ideal for quick syntax/error checks while editing.
| Parameter | Type | Default | Description |
|---|---|---|---|
tex_content | string | — | Raw LaTeX source |
file_path | string | — | Path to .tex file |
engine | string | pdflatex | TeX engine |
working_dir | string | temp dir | Build directory |
Returns: success, structured errors[], structured warnings[], missing_packages[], install_hints[], stdout, stderr.
latexmk_cleanRemove build artifacts using latexmk -c (auxiliaries only) or latexmk -C (auxiliaries + output files).
| Parameter | Type | Default | Description |
|---|---|---|---|
working_dir | string | required | Directory to clean |
job_name | string | — | Clean a specific job only |
clean_all | boolean | false | -C instead of -c |
latexmk_checkDetect whether latexmk is installed and which TeX engines are available on the system.
Returns: latexmk_available, latexmk_version, latexmk_path, engines_available map.
latexmk_list_dependenciesList all file dependencies of a document (included .tex files, .bib files, packages, images…) via latexmk -deps.
| Parameter | Type | Description |
|---|---|---|
tex_content | string | Raw LaTeX source |
file_path | string | Path to .tex file |
working_dir | string | Working directory |
Returns: dependencies[] (deduplicated list of file paths).
latexmk_watch_start / latexmk_watch_stop / latexmk_watch_listManage background latexmk -pvc watch sessions. Start returns a session_id; stop terminates it; list shows active sessions with PID, job name, and start time.
latexmk_write_config / latexmk_read_configWrite or inspect .latexmkrc files. The write tool can set engine, output mode, shell escape, extra pdflatex args, and custom Perl rules.
latexmk_list_citationsExtract citation keys from LaTeX source and optionally compare them to a .bib file.
Returns: cited_keys[], cited_count, and when bib_path is provided, bib_entries[], missing_from_bib[], and unused_in_bib[].
MIT
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.