# Lumin PDF MCP MCP Server

> **Lumin PDF MCP MCP Server** is a hosted, multitenant Model Context Protocol (MCP) server run by **MewCP** (https://mewcp.com), giving AI agents managed access to Lumin PDF MCP.
>
> MewCP takes care of all MCP infrastructure for you — credential storage, OAuth flows,
> token refresh, and production-grade auto-scaling — so your AI agents can connect to
> third-party services and run freely without you managing any MCP server yourself.
>
> Server page:  https://mewcp.com/mcp/luminpdf-mcp
> MewCP docs:   https://docs.mewcp.com
> All servers:  https://mewcp.com/servers (JSON: https://mewcp.com/api/servers)
> About MewCP:  https://mewcp.com/llms.txt

---

## About

Manage PDF documents and e-signature workflows with Lumin’s MCP server. Enable AI agents to access documents, manage files, create and send signature requests, and retrieve user and document information directly through Lumin. developers.luminpdf.com

---

## Details

- Server ID: `luminpdf-mcp`
- Version: 0.0.1
- Tools: 18
- Authentication: OAuth, managed by MewCP
- Transport: http

---

## Access

The gateway URL below serves your **entire MewCP toolset**, not this server on its
own. Pasting a config snippet is not enough — Lumin PDF MCP has to be in the toolset
first. In order:

1. Add Lumin PDF MCP to your toolset at https://mewcp.com/mcp/luminpdf-mcp
2. Connect your Lumin PDF MCP account (OAuth); MewCP stores the credential and attaches it to each call
3. Add the gateway URL to your client (see Connect below). It signs in with OAuth
   the first time it connects, so there is no key to copy.

Once connected, an agent does **not** see this server's tools as top-level tools.
It sees four meta-tools and reaches everything through them:

- `search(query)` — find tools by keyword across the toolset
- `get_schema(tools)` — full description and arguments for the tools you picked
- `list_accounts(provider)` — only when one app has several connected accounts
- `call_tool(server_maskedId, tool_name, args)` — execute

So the list below is what `search` can return for this server, not a set of
callable tool names on their own.

---

## Tools (18)

Descriptions are truncated to 160 characters; call `get_schema`
for the full text and the argument schema. Where a tool is annotated, its type
is shown — treat `destructive` as irreversible.

- `get_lumin_user_information` _(read)_ — Return profile information for the currently authenticated Lumin user (the identity bound to this MCP session / integration). Call this first to confirm who…
- `get_workspace_info` _(read)_ — Return metadata for the current Lumin workspace (id, name, owner, your role, member and space counts). Call before upload_file_to_lumin, lumin_post_agreement,…
- `upload_file_to_lumin` _(write)_ — Create or ingest a document in Lumin. Two mutually-exclusive branches selected by method: - 'file-upload' — provide a hosted document_data.file_url (HTTPS,…
- `get_lumin_document` _(read)_ — Retrieve a Lumin document by its ID, including its name, preview URL, and MIME type. Use after upload_file_to_lumin to re-fetch a document reference. Does not…
- `lumin_markdown2pdf` _(write)_ — Convert a markdown string into a PDF. Returns a temporary signed download URL (~30 minutes); download or re-ingest via upload_file_to_lumin (method…
- `lumin_get_templates` _(read)_ — Paginated list of templates in the workspace, including AgreementGen (type 'lumin') and Sign/PDF (type 'pdf') variants. Filter by location; when location =…
- `lumin_get_template_details` _(read)_ — Full detail for a single template: type ('pdf' / 'lumin'), location, signing_type, signer_roles (with groups and preassigned_signer for AG), tags, fields,…
- `lumin_generate_document_from_template` _(write)_ — Materialize a document (not a signature request) from a template. Returns a signed download URL (~30 minutes). Prefill maps by template type: tags — Sign…
- `lumin_send_signature_request_from_file` _(write)_ — Create and send a signature request from one or more hosted PDF files. Supply exactly one of: file_url (single hosted PDF, max 20 MB) or file_urls (multiple…
- `lumin_send_signature_request_from_template` _(write)_ — Create and send a signature request from a Lumin template in one step. Call lumin_get_template_details first to discover signer roles and required…
- `get_signature_request_on_lumin_by_id` _(read)_ — Non-destructive fetch of status, signer completion, timestamps, and document references for a signature request. Recommended polling cadence 15-60s with…
- `patch_signature_request_expires_at` _(write)_ — Extend or shorten the expiry on an in-flight signature request. Only permitted while status is NEED_TO_SIGN or WAITING_FOR_OTHERS and the caller is the request…
- `remind_signature_request_signers` _(write)_ — Send a reminder email to selected pending signers of a signature request. Only signers currently in NEED_TO_SIGN are emailed; already-signed signers are…
- `get_signature_request_signing_link` _(read)_ — Return a single-use signing URL for a specific signer of a signature request. Use to embed signing inside a host app or hand the link to the signer directly…
- `cancel_signature_request_on_lumin_by_id` _(destructive)_ — Cancel (void) a signature request. Sets status = CANCELLED; recipients can no longer complete signing but the audit trail is preserved (read-only, not…
- `lumin_get_signature_request_file` _(read)_ — Fetch a downloadable file for a signature request. Preconditions by file_type: - 'agreement' (default) — no precondition; returns the current/final agreement…
- `lumin_post_agreement` _(write)_ — Create a new AgreementGen document from an AG template (method 'template'). agreement_data takes template_id plus optional prefill (variables, fields,…
- `lumin_get_agreement_file` _(read)_ — Return a signed download URL for the current PDF representation of an AgreementGen document. The URL expires in ~30 minutes; re-call this tool to regenerate…

---

## Connect

- URL: https://gateway.mewcp.com/personal/mcp
- Transport: Streamable HTTP (remote). Nothing to install.
- Sign-in: OAuth. On first connect the client opens a browser window to sign in
  to MewCP and approve access. No API key.
- Headless clients (SDKs, servers without a browser) send an API key instead:
  `Authorization: Bearer <API_KEY>`, key from https://mewcp.com/dashboard/api-keys

Agents setting themselves up: follow https://mewcp.com/SKILL.md

Step-by-step guide per client:

- Claude Desktop: https://mewcp.com/mcp/luminpdf-mcp/connect/claude
- ChatGPT: https://mewcp.com/mcp/luminpdf-mcp/connect/chatgpt
- VS Code: https://mewcp.com/mcp/luminpdf-mcp/connect/vscode
- Cursor: https://mewcp.com/mcp/luminpdf-mcp/connect/cursor
- Codex: https://mewcp.com/mcp/luminpdf-mcp/connect/codex
- Claude Code: https://mewcp.com/mcp/luminpdf-mcp/connect/claude-code
- OpenCode: https://mewcp.com/mcp/luminpdf-mcp/connect/opencode
- OpenClaw: https://mewcp.com/mcp/luminpdf-mcp/connect/openclaw
- Antigravity: https://mewcp.com/mcp/luminpdf-mcp/connect/antigravity
- Hermes: https://mewcp.com/mcp/luminpdf-mcp/connect/hermes
- DeepSeek Harness: https://mewcp.com/mcp/luminpdf-mcp/connect/dsh
- Python: https://mewcp.com/mcp/luminpdf-mcp/connect/python
- TypeScript: https://mewcp.com/mcp/luminpdf-mcp/connect/typescript