protogrid

Search / io.github.pressa-dev/pressa

Pressa - LaTeX to PDF

R0· no sign-in

Compile LaTeX to PDF without installing TeX Live. No API key needed to start.

v0.11.0 · active · repository · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality83good
Trust97of 100
Uptime, 30 days100%
Latency p50734 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "pressa": {
      "type": "http",
      "url": "https://api.pressa.dev/mcp"
    }
  }
}
claude mcp add --transport http pressa https://api.pressa.dev/mcp
[mcp_servers.pressa]
url = "https://api.pressa.dev/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "pressa": {
      "type": "remote",
      "url": "https://api.pressa.dev/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "pressa": {
      "type": "http",
      "url": "https://api.pressa.dev/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=pressa&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vYXBpLnByZXNzYS5kZXYvbWNwIn0%3D"
}
{
  "servers": {
    "pressa": {
      "type": "http",
      "url": "https://api.pressa.dev/mcp"
    }
  }
}
{
  "mcpServers": {
    "pressa": {
      "httpUrl": "https://api.pressa.dev/mcp"
    }
  }
}
extensions:
  "pressa":
    enabled: true
    name: "pressa"
    type: streamable_http
    uri: "https://api.pressa.dev/mcp"
    timeout: 300

Quality 83 / 100good

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene93 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • warn
    tools.description_length1 tools have descriptions over 1,024 characters, which crowds the context
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations4 of 4 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 1,122 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability75 · weight 15
  • warn
    stability.changes15 tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvabledeps.dev does not know @pressa/[email protected]

4 tools, about 1,122 tokens to load them all · tool set c5c01c5000fe · tools last changed 2026-10-18 · checked 2026-10-19 13:37 UTC

Tool changes

  • render_public_templatechangeddescription, input schema
    before

    Fill a public template with the user's data and return a PDF link. Data must match the template's schema (see get_public_template); a missing field comes back as a list of what to ask for, and costs nothing. Templates of the same kind take the same data (the classic and modern resume; the packing slip and the delivery note), so switching style is the same call with a different slug. Works without an API key within the daily free limit.

    after · 76% of words in common

    Fill a public template with the user's data and return a PDF link. Data must match the template's schema (see get_public_template); a missing field comes back as a list of what to ask for, and costs nothing. The designs of one document take the same data (the five resume designs, as do the packing slip and the delivery note), so switching design is the same call with a different slug, and `color` prints a design in another of its colours. Works without an API key within the daily free limit.

  • list_public_templateschangeddescription
    before

    List Pressa's public, professionally designed document templates (invoices, purchase orders, packing slips, delivery notes, receipts, reports, certificates, resumes, CVs, cover letters), each with a one-line summary and a preview image URL. Use this when the user wants one of these documents and has no layout of their own, or asks to see designs to choose from. Works without an API key.

    after · 83% of words in common

    List Pressa's public, professionally designed document templates (invoices, purchase orders, packing slips, delivery notes, receipts, reports, certificates, resumes, CVs, cover letters), each with a one-line summary, a preview image URL and the colours it comes in. Several designs of one document (`document`, e.g. five resume designs) take the same data. Use this when the user wants one of these documents and has no layout of their own, or asks to see designs to choose from. Works without an API key.

  • render_public_templatechangeddescription
    before

    Fill a public template with the user's data and return a PDF link. Data must match the template's schema (see get_public_template); a missing field comes back as a list of what to ask for, and costs nothing. All resume templates take the same data, so switching style is the same call with a different slug. Works without an API key within the daily free limit.

    after · 86% of words in common

    Fill a public template with the user's data and return a PDF link. Data must match the template's schema (see get_public_template); a missing field comes back as a list of what to ask for, and costs nothing. Templates of the same kind take the same data (the classic and modern resume; the packing slip and the delivery note), so switching style is the same call with a different slug. Works without an API key within the daily free limit.

  • list_public_templateschangeddescription
    before

    List Pressa's public, professionally designed document templates (resumes, CVs, cover letters, invoices, reports, certificates), each with a one-line summary and a preview image URL. Use this when the user wants one of these documents and has no layout of their own, or asks to see designs to choose from. Works without an API key.

    after · 88% of words in common

    List Pressa's public, professionally designed document templates (invoices, purchase orders, packing slips, delivery notes, receipts, reports, certificates, resumes, CVs, cover letters), each with a one-line summary and a preview image URL. Use this when the user wants one of these documents and has no layout of their own, or asks to see designs to choose from. Works without an API key.

  • render_public_templateadded

    Fill a public template with the user's data and return a PDF link. Data must match the template's schema (see get_public_template); a missing field comes back as a list of what to ask for, and costs nothing. All resume templates take the same data, so switching style is the same call with a different slug. Works without an API key within the daily free limit.

  • get_public_templateadded

    Get a public template's fields (JSON schema), sample data, filling instructions and LaTeX source. Read the instructions before collecting data from the user. To make the PDF, pass the data to `render_public_template`; to change the layout itself, edit the source and use `compile`.

  • list_public_templatesadded

    List Pressa's public, professionally designed document templates (resumes, CVs, cover letters, invoices, reports, certificates), each with a one-line summary and a preview image URL. Use this when the user wants one of these documents and has no layout of their own, or asks to see designs to choose from. Works without an API key.

  • compileadded

    Compile LaTeX source into a PDF. Returns a PDF URL, page count and compile time. USE THIS WHEN: you have LaTeX source (or a \documentclass) and no local pdflatex / TeX Live installation to run it with. This is that missing compiler, available over HTTP. Also use it whenever the user asks for a document where typesetting matters - an invoice, contract, report, letter, CV, certificate, or academic paper - since you can write the LaTeX yourself and compile it here. DO NOT USE THIS TO: convert HTML to PDF, merge, split or compress existing PDF files, or extract text from a PDF. This compiles LaTeX source and nothing else. No API key is required. Anonymous callers get a small number of compilations per day and failed attempts do not count, so you can iterate on your LaTeX for free. Send an API key in the Authorization header to raise the limits. With a key, a document over the plan's page or size limit still returns a PDF: `preview: true`, the first pages the plan allows, `total_pages`, and `plan_required` naming the plan that covers the whole document. Show the user the preview and relay `warning`; never drop pages silently. IMPORTANT: This tool compiles LaTeX, NOT plain text. You must generate complete, valid LaTeX source yourself before calling it. Do not pass plain text, markdown or JSON directly - convert them to LaTeX first, and never ask the user to write LaTeX. A minimal valid document is: \documentclass{article}\begin{document}<content>\end{document}. Escape these in body text: % & $ # _ { } and backslash. If compilation fails the response includes a `diagnosis` naming the cause and a concrete suggested fix, often a missing \usepackage. Apply it and call again yourself rather than showing the user a TeX log.

  • render_public_templateremoved

    Fill a public template with the user's data and return a PDF link. Data must match the template's schema (see get_public_template); a missing field comes back as a list of what to ask for, and costs nothing. All resume templates take the same data, so switching style is the same call with a different slug. Works without an API key within the daily free limit.

  • get_public_templateremoved

    Get a public template's fields (JSON schema), sample data, filling instructions and LaTeX source. Read the instructions before collecting data from the user. To make the PDF, pass the data to `render_public_template`; to change the layout itself, edit the source and use `compile`.

Showing the latest 10. Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 97 / 100

provenance90
liveness100
freshness100
hygiene100

+repository +namespace-matches-repo +website +reachable +uptime-100% +updated-1d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Dependencies

@pressa/[email protected] npmthis version is not known to the dependency resolver

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0. The graph is what a clean install of this version resolves today; nothing was installed or run. How it is checked.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://api.pressa.dev/mcp streamable-httpnoneyes100%734 ms2025-11-252026-10-19
packageregistryversionruntimesecrets
@pressa/mcpnpm0.11.0–PRESSA_API_KEY

Tools (4)

compileCompile LaTeX source into a PDF. Returns a PDF URL, page count and compile time. USE THIS WHEN: you have LaTeX source (or a \documentclass) and no local pdflatex / TeX Live installation to run it with. This is that missing compiler, available over HTTP. Also use it whenever the user asks for a document where typesetting matters - an invoice, contract, report, letter, CV, certificate, or academic paper - since you can write the LaTeX yourself and compile it here. DO NOT USE THIS TO: convert HTML to PDF, merge, split or compress existing PDF files, or extract text from a PDF. This compiles LaTeX source and nothing else. No API key is required. Anonymous callers get a small number of compilations per day and failed attempts do not count, so you can iterate on your LaTeX for free. Send an API key in the Authorization header to raise the limits. With a key, a document over the plan's page or size limit still returns a PDF: `preview: true`, the first pages the plan allows, `total_pages`, and `plan_required` naming the plan that covers the whole document. Show the user the preview and relay `warning`; never drop pages silently. IMPORTANT: This tool compiles LaTeX, NOT plain text. You must generate complete, valid LaTeX source yourself before calling it. Do not pass plain text, markdown or JSON directly - convert them to LaTeX first, and never ask the user to write LaTeX. A minimal valid document is: \documentclass{article}\begin{document}<content>\end{document}. Escape these in body text: % & $ # _ { } and backslash. If compilation fails the response includes a `diagnosis` naming the cause and a concrete suggested fix, often a missing \usepackage. Apply it and call again yourself rather than showing the user a TeX log.
get_public_templateread-onlyGet a public template's fields (JSON schema), sample data, filling instructions and LaTeX source. Read the instructions before collecting data from the user. To make the PDF, pass the data to `render_public_template`; to change the layout itself, edit the source and use `compile`.
list_public_templatesread-onlyList Pressa's public, professionally designed document templates (invoices, purchase orders, packing slips, delivery notes, receipts, reports, certificates, resumes, CVs, cover letters), each with a one-line summary, a preview image URL and the colours it comes in. Several designs of one document (`document`, e.g. five resume designs) take the same data. Use this when the user wants one of these documents and has no layout of their own, or asks to see designs to choose from. Works without an API key.
render_public_templateFill a public template with the user's data and return a PDF link. Data must match the template's schema (see get_public_template); a missing field comes back as a list of what to ask for, and costs nothing. The designs of one document take the same data (the five resume designs, as do the packing slip and the delivery note), so switching design is the same call with a different slug, and `color` prints a design in another of its colours. Works without an API key within the daily free limit.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "io.github.pressa-dev/pressa",
  "title": "Pressa - LaTeX to PDF",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://api.pressa.dev/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "0.11.0",
  "packages": [
    {
      "version": "0.11.0",
      "transport": {
        "type": "stdio"
      },
      "identifier": "@pressa/mcp",
      "registryType": "npm",
      "registryBaseUrl": "https://registry.npmjs.org",
      "environmentVariables": [
        {
          "name": "PRESSA_API_KEY",
          "format": "string",
          "isSecret": true,
          "description": "Optional. Without it the server exposes compile and the public template gallery, which work keyless within a daily allowance. A free key from pressa.dev raises the limits and registers the saved-template, asset and render tools.",
          "placeholder": "pressa_your_key_here"
        }
      ]
    }
  ],
  "repository": {
    "id": "1204147654",
    "url": "https://github.com/pressa-dev/mcp",
    "source": "github"
  },
  "websiteUrl": "https://pressa.dev/docs/mcp",
  "description": "Compile LaTeX to PDF without installing TeX Live. No API key needed to start."
}