PdfCraft for your agent

Use professional PDF tools from your own agent. Read and search PDFs, organize pages, edit supported text and forms, and get PDF or PNG files back in your chat.

Use PDF tools in your agent’s chat

  1. Connect once. Follow the MCP setup instructions to add the PDF tools and the other 12 toolsets to your agent.
  2. Provide your PDF. Give your agent a path it can read, or attach the file if your client supports uploads. The agent needs file access and HTTP transfer tools.
  3. Ask for the result. In your agent’s chat, describe the PDF task. Your agent calls the connected PDF tools and returns the information or a file you can download.

There is no required brand phrase or special command. If your agent chooses another method, ask it to use the connected EasyRunCraft tools. If several files match, specify which PDF you mean.

What to ask your agent

After connecting, use your own filenames and send a request like these in your agent’s chat:

Ask your agentYou get
Merge agenda.pdf and notes.pdf in that order, add page numbers in the footer, and return one PDF.Downloads a combined PDF with page numbers.
Delete page 2, move the last page to the beginning, then insert a blank page after page 1.Applies the edits in order and downloads a new PDF.
Split report.pdf into a new file every 4 pages.Downloads each part as its own PDF.
Render page 3 of this PDF as a PNG.Downloads an image of the requested page.
Extract pages 2 through 4 from report.pdf into a separate PDF.Downloads a PDF containing the selected pages.
Read the text on pages 1 and 3 of this PDF and show me the invoice numbers.Reads the specified pages and uses the returned text to find the invoice numbers.

Supported PDF operations

Use pdf_capabilities to check which operations are available. Page numbers start at 1. In a series of edits, each operation uses the page order left by the previous operation.

Inspect and search inspect_file

inspect
Read document details and extract text from up to five selected pages. Pass a file ID and, optionally, up to five page numbers. Defaults to page 1.

Inspect and search query_pdf

search_text
Find a phrase in the PDF text and return page locations. Pass the phrase to find. Optionally set a starting page, skip matches, or cap the response at 100 matches.
read_lines
Read existing text lines and their line numbers on one page. Pass one page number. Use the returned line number and exact text when replacing a line.
list_bookmarks
Read the bookmark outline. Use offset and limit to page through the outline. Bookmark paths are arrays of 1-based positions.
list_forms
List interactive form fields, options and current values. Use the returned field names and field types when filling or resetting a form.
list_comments
List annotations and comments. Optionally provide a page number to narrow the results.

Organize pages edit_pdf

merge
Combine up to five uploaded PDFs in order. Pass the file IDs in the intended order. Omit additional edits with an empty operations array.
rotate
Rotate selected pages by 90, 180 or 270 degrees. Pass the pages and a clockwise angle. Use 270 degrees for a 90-degree counterclockwise rotation.
delete
Delete selected pages from the copy. Pass the pages to remove from the current page order.
move
Move selected pages to a new position. Pass the pages to move and the destination position as counted before this move.
duplicate
Duplicate selected pages. Pass the pages to copy. The copies go after the last selected page.
insert_blank
Insert a blank page, with optional dimensions. Pass the insertion position. Provide both width and height in points to set the size, or omit both to use the neighboring page size.
insert_from_pdf
Insert selected pages from another uploaded PDF. Set merge_inputs to false and put the target PDF first. Pass the source file’s position in file_ids, the insertion position and optional source pages.
replace_from_pdf
Replace selected page content with pages from another uploaded PDF. Set merge_inputs to false and put the target PDF first. Pass the source file’s position, the destination pages and, optionally, the same number of source pages.
extract
Save only the selected pages as a new PDF. Pass the pages to keep. Use extraction only once and place it last in a series of edits.
crop
Set crop margins in points. Cropping changes the visible area. Pass the pages and four margins in points in left, bottom, right, top order.
reset_crop
Restore the default crop box. Pass the pages whose default crop box you want to restore.
page_labels
Set viewer page labels such as i, ii, iii or A-1, A-2. Pass the first and last page. Choose decimal, Roman numerals, letters or prefix only. A prefix and starting number are optional.

Edit content and document details edit_pdf

set_metadata
Set the title, author, subject or keywords. Choose Title, Author, Subject or Keywords. Pass an empty value to clear the field.
add_text
Place text using page coordinates and supported Western European characters. Pass the page, text and a position in points from the top-left corner. Width and font size are optional.
replace_text_line
Replace a supported PDF text line after checking its exact original text. Read the lines first. Submit a separate edit using the same uploaded PDF, page, line number, exact original text and one replacement line.
add_bookmark
Add a bookmark pointing to a page. Pass a title and page. An optional parent path creates a child bookmark.
rename_bookmark
Rename a bookmark. Pass the bookmark path and new title.
retarget_bookmark
Change a bookmark’s destination page. Pass the bookmark path and new destination page.
delete_bookmark
Delete a bookmark and its children. Pass the path of the bookmark to remove.
add_note
Add a comment note at a page position. Pass the page, top-left position in points and note text. The author is optional.
add_watermark
Add a text watermark. Pass text, with optional target pages and opacity from 0 to 1.
add_background
Apply a solid-color page background. Pass a #RRGGBB color and optionally select pages.
remove_page_marks
Remove supported headers, footers, watermarks or backgrounds. Choose header_footer, watermark or background. The engine removes supported marks of that kind.

Work with forms edit_pdf

fill_form
Fill supported interactive form fields. Pass field names with values matching their types, such as text, a checkbox boolean or a list of selected options. Up to 30 fields.
reset_form
Reset interactive fields to their defaults. Pass specific field names or omit the list to reset all fields.
flatten
Bake form fields or comments into the PDF page content. Choose forms, comments or both. The flattened elements become part of the page content.

Split and export export_pdf

split_every
Split into PDFs of N pages each, up to 20 outputs. Pass the number of pages per part. The last part can be shorter.
split_before
Start new PDFs at specified pages, up to 20 outputs. Pass the pages where a new file should start in ascending order. Each part has its own download link.
render_page
Render a page to a PNG at 36–144 DPI. Pass the page and optional DPI. The default is 96 DPI and the result is one PNG.
optimize
Create an optimized PDF copy. The result may have a similar file size. Pass the file ID. The service returns an optimized copy without a target-size setting.

Files, limits and results

Your assistant calls create_upload, sends the PDF bytes to the upload URL, then passes the returned file ID to the relevant tool. Each new task needs a unique request_id. Use the same ID only when retrying the same task.

Each PDF input and output can be up to 20 MB for accounts without a subscription and Starter, or 100 MB on Creator and Studio. An edit job accepts up to five PDFs totaling at most 100 MB, and up to 20 operations. A split job returns up to 20 PDFs with a combined output size within your account’s file allowance. See plan file limits. Each account can have two active jobs and each native command has a 45-second limit.

The assistant polls get_job at most once per second. A completed task returns its inspection result, a signed download in file, or a list of split downloads in files. Edits create a copy. Download it and open it in PdfCraft to continue working. Open the PdfCraft editor.

File storage and follow-up edits

MCP files are temporarily stored on EasyRunCraft servers for processing. Original uploads expire 4 hours after their upload request is created; outputs expire 4 hours after their processing task is created. Expired files cannot be accessed and are deleted automatically while the service is running. If the service is stopped, cleanup resumes on restart. Account and billing records are retained separately from file contents. Ask your agent to delete a file earlier when you no longer need it; other file versions are kept until deleted or expired.

Your agent receives a file_id and an expiry time. Before expiry, it can reuse the original ID or use an output file_id to continue from the latest edit without uploading again. Reusing an ID does not extend that file’s expiry. After expiry, upload your saved copy again. The agent manages these references; you do not need to enter them manually.

Uploads return file_id and file_expires_at. Completed outputs return file_id and expires_at; both expiry fields are Unix timestamps in milliseconds. The delete_at field gives the same deadline as an ISO date and time. Use a new request_id for a new edit, or the same request ID to retry the same task.

To remove a file sooner, ask your agent to call delete_file with that version’s file_id. Deletion has no separate credit charge. Other versions remain independent; a file in an active task must be released by finishing or cancelling that task first.

Upload and download links are valid for up to 10 minutes and stop working when the file expires. Your agent can call get_job for a fresh download link while the output is still available. Anyone holding a valid signed link can use it until it expires.

Unsupported requests and feedback

An unsupported operation ID returns UNSUPPORTED_OPERATION. A job that reaches the PDF engine can still fail, for example when a page number is out of range or the selected line has changed. The job response includes the reason and a link here.

Tell us what you wanted to do and what your assistant reported. You can include the task ID. Keep private PDFs, upload and download links, and access tokens out of the message.

Email PDF feedback