Sezzlee PDF
Extract text from local PDF documents with optional pluggable OCR. Read-only, no network.
Installation
Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).
@sezzlee/pdf-mcpclaude mcp add sezzlee-pdf -- npx -y @sezzlee/pdf-mcp@0.1.2 '<root>' --ocr
{
"mcpServers": {
"sezzlee-pdf": {
"command": "npx",
"args": [
"-y",
"@sezzlee/pdf-mcp@0.1.2",
"<root>",
"--ocr"
]
}
}
}
Documentation
Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.
Sezzlee MCP
Swagger for agents. Sezzlee turns what you already have — an HTTP backend, a folder of spreadsheets, PDF and XML documents — into tools an AI agent can find and call over the Model Context Protocol.
It comes in two shapes:
- The HTTP catalog embeds in a NestJS backend. It exposes your endpoints as a search-first tool catalog and replays every agent call through your backend's own request pipeline, so your authentication, authorization and validation apply unchanged. For a backend on any other stack, an OpenAPI gateway builds the same catalog from its document.
- Source servers are standalone, read-only MCP servers for local files: Excel, XML and PDF, plus a server that hands bounded language work to a local model.
Status: early. Every package below is on npm; APIs may still change. The spec, the fixture corpus and the NestJS SDK are tested in CI.
Why
A naive MCP adapter turns every endpoint into a tool and forwards calls over the network. That floods the agent's context, loses the caller's identity and silently papers over what it cannot represent. Sezzlee instead:
- shows the agent three meta-tools (
search_tools,load_tool,invoke_tool) rather than the whole catalog, so the size of your API does not grow the agent's context; - decides what a caller can see from the backend's own authorization, and still enforces every call in the backend at invoke time;
- treats every silent resolution — a name collision, an unknown argument, a truncated response — as an error with a code the agent can act on.
The longer argument is on the docs site: why sezzlee is not an OpenAPI adapter.
Quick start
Pick what you need. The servers need Node.js 22+.
| I want to… | Install | Start here |
|---|---|---|
| Expose a NestJS API to agents | npm install @sezzlee/sdk-nestjs | sdks/nestjs |
| Expose any backend that has an OpenAPI file | npx -y @sezzlee/openapi-mcp | packages/servers/openapi-mcp |
| Let an agent read Excel workbooks | npx -y @sezzlee/excel-mcp | packages/servers/excel-mcp |
| Let an agent read XML documents | npx -y @sezzlee/xml-mcp | packages/servers/xml-mcp |
| Let an agent read PDF documents | npx -y @sezzlee/pdf-mcp | packages/servers/pdf-mcp |
| Hand bounded text work to a local model | npx -y @sezzlee/llm-mcp | packages/servers/llm-mcp |
| Build my own read-only MCP server | npm install @sezzlee/mcp-core | packages/cores/mcp-core |
Each package README has its own quick start, configuration and limits. To build from source, see CONTRIBUTING.md.
Packages
HTTP catalog
| Package | What it is | Status |
|---|---|---|
| @sezzlee/sdk-nestjs | NestJS SDK | stable |
| @sezzlee/openapi-mcp | Gateway: an OpenAPI document as a catalog over a remote backend | stable |
| @sezzlee/openapi | Swagger 2.0 / OpenAPI 3.0–3.2 ingestion | stable |
| @sezzlee/core | TypeScript reference implementation of the spec | stable |
| spec | The normative spec and JSON Schemas — the single source of truth | normative |
| conformance | 480 JSON fixtures across 11 kinds that every implementation must pass | — |
Source servers and their cores
| Package | What it is | Status |
|---|---|---|
| @sezzlee/excel-mcp | Reads local Excel workbooks | published |
| @sezzlee/xml-mcp | Reads local XML documents | published |
| @sezzlee/pdf-mcp | Reads local PDF documents, with pluggable OCR | published |
| @sezzlee/llm-mcp | Delegates bounded language work to a local model (Ollama) | published |
| @sezzlee/ocr-ollama | OCR provider for pdf-mcp | published |
| @sezzlee/pdf-raster-pdfjs | Page rasterizer for pdf-mcp | published |
| @sezzlee/mcp-core | Source-agnostic machinery for read-only MCP servers | published |
| @sezzlee/file-core | Sandboxed file layer over mcp-core | published |
| @sezzlee/ooxml-core | Reader for OOXML (zip/OPC) containers | published |
Every package is published from CI with npm provenance; the tarballs are checked and smoke-installed before publication.
Also in this repository
- apps/docs — the documentation site (TanStack Start). Run it with
pnpm --filter @sezzlee/docs devand openhttp://localhost:5180.
How the HTTP catalog works
- At startup the SDK reads your framework's route and authorization metadata and builds a catalog of tools, named by fixed rules; a name collision fails startup.
- An agent calls
search_tools, gets compact cards for the tools this caller may use, andload_toolfor the full schema of the one it picks, with aversionfingerprint of it. invoke_toolcomposes an HTTP request from the arguments and replays it through your pipeline as the caller. The response is mapped to a fixed error vocabulary and a size budget before it reaches the agent. A call that passesversionback is refused withtool_changedif the server answering it holds a different definition, as can happen mid-deploy. A behaviour change behind an unchanged schema is caught the same way once you declare it as a revision, on the operation, its controller or the whole catalog.
The rules for each step are in the spec, and the conformance corpus pins them so the reference implementation and the NestJS SDK cannot drift apart.
Documentation
- Guides and reference: the docs site in apps/docs (tutorials, how-tos, explanations).
- The spec: packages/http/spec.
- What is planned: ROADMAP.md.
- Contributing: CONTRIBUTING.md.
License
MIT — see LICENSE.
Questions fréquentes
Qu'est-ce que Sezzlee PDF ?
Extract text from local PDF documents with optional pluggable OCR. Read-only, no network.
Comment installer Sezzlee PDF ?
Il s'exécute sur votre machine. Dans Claude Code : claude mcp add sezzlee-pdf -- npx -y @sezzlee/pdf-mcp@0.1.2 '<root>' --ocr. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.
Faut-il une clé API pour Sezzlee PDF ?
Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.
Sezzlee PDF est-il open source ?
Oui. Son code est sur GitHub sous licence MIT.
Qui maintient Sezzlee PDF ?
Il est publié par sezzlee. AI.tn le référence sans le maintenir ni le recommander.
Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.