PDF MCP Server for AI Agents
Connect your AI assistant to PDFBolt to create PDFs from a conversation. Generate quotes, invoices, and reports from HTML, web page URLs, or reusable templates. You can also ask the assistant to create, preview, and update templates for future documents.
Sign in with your PDFBolt account. There is no API key to copy into the chat.
Connect PDFBolt
You need a PDFBolt account and an AI client that allows remote MCP connections. Use this server URL:
https://api.pdfbolt.com/mcp
Choose your client:
- Claude
- Claude Code
- ChatGPT
- Open Connectors in Claude, under Customize or Settings, depending on your interface.
- Choose Add custom connector. Enter
PDFBoltas the name and the server URL above. - Choose OAuth sign-in. If asked which OAuth client to use, select Claude's published identity.
- Sign in to PDFBolt, review the authorization request, and approve it.
- Enable PDFBolt in your conversation's tools or connectors menu.
Your organization may require an administrator to enable custom connectors. See Claude's connection guide for current account requirements.
Run this command in your terminal:
claude mcp add --transport http pdfbolt https://api.pdfbolt.com/mcp
Start Claude Code, run /mcp, select PDFBolt, and follow the browser sign-in prompts.
The connection uses Claude Code's default local scope. To use it across projects, add --scope user before pdfbolt in the command. See the Claude Code MCP reference.
For a custom connection, where your account and workspace allow it:
- Open Settings → Security and login and enable Developer mode.
- Open Plugins, select the plus button, and add an MCP connection named
PDFBolt. - Enter the server URL above and use OAuth authentication.
- Complete PDFBolt sign-in and review the discovered tools.
- Start a conversation and add PDFBolt from the tools menu.
If your interface differs, follow OpenAI's current connection instructions. These steps describe a custom connection, not a directory installation.
MCP stands for Model Context Protocol. PDFBolt uses Streamable HTTP with OAuth. Its authentication supports Client ID Metadata Documents (CIMD) and PKCE, rather than Dynamic Client Registration (DCR). A client that requires DCR may not connect automatically. Do not enter REST API keys into OAuth fields.
Check Your Connection
Ask your assistant:
Use PDFBolt to show my templates and remaining credits. Do not generate a PDF or change anything.
This check does not consume conversion credits. Once the assistant returns your templates and usage, you are ready to generate a document.
Generate a PDF
Describe the document you want. For example:
Use PDFBolt to create a one-page A4 quote for Acme Studio: design work for $600 and implementation for $900. Show the $1,500 total and say the quote is valid for 14 days. Use a navy heading and a clear table. Give me a download link. Do not save it as a template.
Open the returned link to check and save the PDF. You can also provide a web page URL or ask the assistant to use one of your published templates with new customer data.
For a single-attempt test, add: “Make exactly one conversion. If delivery fails, explain the problem without generating another PDF.” Otherwise, the assistant may try a different delivery mode, which is another billable conversion.
Work with Templates
Use a template when you want the same layout with different data:
Create a new PDFBolt draft template called “Customer quote” with fields for the customer, line items, total, and validity period. Use this sample data: Acme Studio, design work for $600, implementation for $900, a total of $1,500, and a validity period of 14 days. Validate it and show a preview. Save it as a draft only. Do not publish it or change existing templates.
Review the preview, request any changes, then tell the assistant when to publish. Future conversions use the published version; saving a draft does not replace it.
For an existing template, you can ask:
Compare the published “Customer quote” template with a proposal that uses a dark green heading. Use the same customer data for both PDFs. Save the change as a draft, but do not publish it.
Comparisons render two PDFs and consume credits for each successful render. See the template guide for more about reusable layouts.
Template details for developers
The assistant should call get_template_contract before authoring or changing templates, read an existing template before updating it, and validate and preview before publishing.
HTML inputs are programmatically Base64-encoded UTF-8. Templates use Handlebars with sample data and PDF options. Supply totals according to the template's fields; a field named totalPrice does not automatically sum line items.
get_template returns the active draft if one exists, otherwise the published version. Use list_templates to check version numbers. compare_template does not save or publish changes itself; it can return a successful PDF even if the other side fails.
The Template API reference describes the underlying operations. MCP uses OAuth, not the Personal Access Token authentication in those REST examples.
Receive Your PDF
| Option | When to use it |
|---|---|
| Download link — preferred | Open the PDF yourself or let your assistant download it. Save it before the link expires. |
| Direct file | Ask for direct delivery when your client can save PDFs received through MCP. No separate download is needed. |
Some AI environments block downloads or do not support direct PDF attachments. A successful conversion does not mean the assistant can open or visually check the file. You can still open a working download link yourself. Treat document links as confidential.
Delivery details for developers
convert_pdf_syncreturnsdocumentUrlandexpiresAt. WithcustomS3PresignedUrl, it confirms the upload to your storage instead of returning a download link. See custom storage.convert_pdf_directreturns an embeddedapplication/pdfresource in MCPcontent. The client must save theresource.blobbytes. Thepdfbolt://URI identifies the attachment; it is not a persistent download endpoint. Client response-size limits still apply.- Previews and comparisons default to
responseFormat: "url". The"json"option embeds PDF resources rather than returning a plain-text PDF payload. - The server recommends sync first, then direct if downloading fails. An explicit request for direct starts there. Each fallback is a new conversion, must respect your restrictions and credit budget, and should preserve the requested PDF options. Authentication, input, credit, and rendering errors are not reasons to switch delivery modes.
See the underlying Sync, Direct, and PDF options documentation. MCP's live tool schemas define its supported arguments; REST authentication and response formats are not interchangeable with MCP.
Credits and Access
Successfully generated PDFs and previews use your normal PDFBolt credits. A comparison renders two documents and charges for each successful render.
If a PDF is generated but your AI client cannot download or save it, those credits are still used. Generating it again in another delivery mode incurs a new charge. Requests rejected before conversion, such as invalid input or failed authentication, do not consume conversion credits.
Checking usage, reading templates, validating, and saving, publishing, or deleting templates do not themselves consume conversion credits. A request that also includes a preview is charged for that render. Your AI provider's billing is separate. See pricing and rate limits.
The connection includes tools that can change or delete templates, not just read them. Deletion has no restore operation, and future conversions using that template ID fail. Ask the assistant to identify the exact template before deleting it.
To revoke an app's access, open Dashboard Settings, find Connected Apps, and select Revoke for that connection.
Document content and data needed for your request are sent to PDFBolt. Results may also appear in your AI provider's chat or execution environment. Review PDFBolt's privacy policy and your AI provider's policies before using sensitive data.
Available Tools
View all 13 MCP tools
| Tool | Purpose |
|---|---|
convert_pdf_sync | Generate from HTML, a URL, or a published template; return a link or confirm a custom-storage upload. |
convert_pdf_direct | Generate a PDF and return an embedded file. |
get_usage | Read the connected team's plan and credit packages. |
get_template_contract | Read template authoring and validation guidance. |
list_templates | List templates and draft/published version numbers. |
get_template | Read the active draft, or the published template if there is no draft. |
validate_template | Check template content, data, and options without rendering. |
preview_template | Render supplied template content and data without publishing. |
compare_template | Render the published template beside a proposed replacement. |
create_template_draft | Save a new unpublished draft. |
update_template_draft | Update a draft or create one from a published template. Omitted fields retain their values. |
publish_template | Publish the current validated draft. |
delete_template | Delete a template, including access to draft and published versions. |
There is no async conversion tool in the MCP catalog.
Troubleshooting
Connected, but no tools appear
Enable PDFBolt for the conversation. Refresh its tool metadata or reconnect, then start a new conversation. Check whether your workspace administrator restricts external tools.
Sign-in fails or the client asks for DCR
Check the server URL and update your client. If offered, choose the client's published identity (CIMD), not automatic DCR registration. Clients that only support DCR may need a different integration path. Contact support with the client name and error; do not paste API keys into OAuth settings.
The PDF was generated, but the assistant cannot open it
A sandbox may block the download host. Open the link yourself before it expires, or try direct delivery if your client supports embedded files. Changing a prompt cannot grant network access. Another conversion consumes credits.
If you see “Resources of type application/pdf are not currently supported”, the client cannot expose the direct file to the assistant. Use a download link or a client with file-saving support. The pdfbolt:// URI is not an alternative download URL.
Credits, authorization, or rate-limit errors
Check your balance for a credit error, sign in again for an authorization error, or follow the retry guidance for a rate limit. Switching delivery modes does not bypass these checks.
Need help? Email [email protected] with your client name and version, tool name, timestamp, and error. Do not include tokens, confidential PDF links, or customer document content.