Skip to content
Scrive MCP

Capabilities & tools

The Scrive MCP covers finding, preparing, sending and following up on documents, plus the basics of multi-document bundle flows. Most tools take a document or draft id that the agent gets from list_documents or list_flow_drafts; the agent chains them for you.

  • Find documents by title, party name, status, tag or date.
  • Prepare documents from an uploaded PDF or a template, with parties, eID authentication, delivery methods and signing order.
  • Send and follow up: start signing, remind, cancel, download the signed PDF.
  • Prepare bundle flows: create a bundle draft, add PDFs and participants.
  • Report on daily or monthly usage.

Some tools are read-only. The rest change data in Scrive. A few of those cannot be undone or reach other people, and are annotated as destructive so your AI client asks before running them: start_signing, cancel_document, start_flow and delete_flow_draft. remind_document sends email or SMS to parties too, so treat it the same way. Keep those confirmations on.

download_document does not change anything in Scrive, but it is not annotated as read-only, so some clients ask before running it too.

Tool results link to the documents, flow drafts and flows they touch, and the MCP asks the agent to include the link whenever it tells you about one. Documents link to https://scrive.com/new/document/<id>, flow drafts to https://scrive.com/new/flow/editor/<id> and started flows to https://scrive.com/new/started-process/<flow_id>.

Some tools move PDF files between your computer and Scrive: create_document, set_file, add_document_to_draft and download_document. They open a small panel inside your chat, built on the MCP Apps extension, where you pick the file to upload or click to download. Each PDF can be up to 30 MB, and add_document_to_draft takes up to 25 at once. Once an upload finishes, the panel shows an Open in Scrive link.

Clients without MCP Apps support see a text message asking you to pick a file and cannot complete the upload. Claude renders these panels; in clients that do not, create documents from templates with create_from_template instead.

ToolTypeDescription
list_documentsReadLists your documents with filters and sorting. Matches titles and party names.
get_documentReadReturns a document’s full JSON, optionally narrowed to chosen properties.
download_documentReadOpens a panel to download the document’s main PDF, the sealed file once signed.
ToolTypeDescription
create_documentWriteUploads a PDF from your computer as a new document in preparation. Opens a file picker.
create_from_templateWriteCreates a new document from one of your templates.
set_fileWriteReplaces the main PDF of a document in preparation. Opens a file picker.
update_documentWriteEdits a document’s settings: title, deadlines, messages, language, tags, display options and parties.
add_partyWriteAdds a signing party, viewer or approver to a document.
update_partyWriteChanges a party’s role, details, authentication or delivery settings.
ToolTypeDescription
start_signingWrite, confirmStarts the signing process and sends the invitations.
remind_documentWrite, confirmSends a reminder to every party who has not signed yet.
cancel_documentWrite, confirmCancels a pending document.
ToolTypeDescription
create_flow_draftWriteCreates a new flow draft with a title.
list_flow_draftsReadLists your flow drafts, with pagination.
get_flow_draftReadReturns a flow draft’s documents, participants and steps.
add_document_to_draftWriteAdds one or more PDFs to a flow draft. Opens a file picker.
add_participant_to_draftWriteAdds a participant with an action and regenerates the flow’s steps.
start_flowWrite, confirmStarts the flow and sends the first invitations.
delete_flow_draftWrite, confirmDeletes a flow draft.
ToolTypeDescription
get_usage_statsReadDaily or monthly usage statistics for you or your company.

Four further tools with names starting with an underscore, such as _create_document_upload, exist only for the upload and download panels to call. They are hidden from the agent.

Lists documents with filtering and sorting. search_text matches document titles and party names, not the text inside documents.

InputTypeDescription
max_resultsintegerPage size. Default 20.
offsetintegerNumber of documents to skip. Default 0.
statusstring[]preparation, awaiting_start, pending, closed, canceled, timedout, rejected, document_error.
mtimeobjectstart_time and end_time, ISO 8601: last modified within the range.
tagobjectname and value: documents carrying that tag value. Ignored unless both are given.
has_tagstringDocuments carrying a tag with this name.
is_authorbooleanOnly documents you authored.
author_idstringOnly documents authored by this user id.
user_can_signstringOnly documents this user id can sign.
search_textstringCase-insensitive match on title and party names.
is_template, is_not_templatebooleanTemplates only, or documents only.
is_in_trash, is_not_in_trashbooleanTrashed only, or not trashed.
is_signable_on_padbooleanDocuments that can be signed in person on a pad.
sortingobject[]sort_by (title, status, mtime, author) and order (ascending, descending).

Returns offset, total_matching and a compact documents list with id, title, status, mtime and url.

Retrieves a document’s full JSON representation.

InputTypeDescription
document_idstringThe document id. Required.
propertiesstring[]Only return these top-level properties: id, title, parties, file, sealed_file, author_attachments, ctime, mtime, timeout_time, auto_remind_time, status, days_to_sign, days_to_remind, display_options, invitation_message, sms_invitation_message, confirmation_message, sms_confirmation_message, lang, api_callback_url, object_version, access_token, date_format, timezone, tags, is_template, is_saved, is_shared, is_trashed, is_deleted. Omit for the whole document.

The result always carries the document’s url, even when narrowed. A document with many parties runs to tens of thousands of tokens. The agent narrows properties when it only needs part of it.

Opens a panel with a download button for the document’s main PDF: the sealed file once the document is closed, otherwise the current main file.

InputTypeDescription
document_idstringThe document id. Required.

Uploads a PDF file to Scrive as a new document in preparation. Takes no inputs: it opens a file picker in the chat for you to choose the PDF. Returns the new document’s id, and the panel links to it in Scrive. Add parties and start signing next.

Creates a new document from a template.

InputTypeDescription
document_idstringThe template’s document id, found with list_documents and is_template. Required.

Returns the new document’s id and link.

Sets the main PDF of a document in preparation. Opens a file picker for the PDF.

InputTypeDescription
document_idstringThe document id. Required.

Updates the metadata of a document in preparation. Only the keys provided in document change.

InputTypeDescription
document_idstringThe document id. Required.
documentobjectThe changes, see below. Required.
object_versionintegerThe document’s object_version as last seen. The update is rejected with a 409 if the document has changed since, which prevents overwriting a concurrent edit.
return_propertiesstring[]Narrow the returned document to these top-level properties, as for get_document.

Returns the updated document with its url.

Keys accepted in document:

KeyTypeDescription
titlestringDocument title.
days_to_signinteger1 to 365.
days_to_remindinteger or nullDays before an automatic reminder.
invitation_message, confirmation_messagestringEmail texts.
sms_invitation_message, sms_confirmation_messagestringSMS texts.
langstringcs, da, de, el, en, es, et, fi, fr, hu, is, it, lt, lv, nl, pl, pt, sv.
api_callback_urlstring or nullCallback URL for status changes.
timezonestringFor example Europe/Stockholm.
is_templatebooleantrue turns the document into a template. One-way.
tagsobject[]name and value pairs.
display_optionsobjectshow_header, show_pdf_download, show_reject_option, allow_reject_reason, show_footer, document_is_receipt, show_arrow, show_form, show_form_arrow.
partiesobject[]Replaces the document’s party list. Entries are matched positionally, entries you omit are removed, and the first entry is always the author. Give an entry the id of an existing party to carry its data forward and change only the settings you pass. Each entry accepts the party settings listed under add_party. The author’s name and email cannot be changed and are ignored.

Adds a new party to a document in preparation.

InputTypeDescription
document_idstringThe document id. Required.
namestringFull name; the first word becomes the first name. Required.
emailstringRequired.
signatory_rolestringsigning_party, viewer or approver. Required.

Plus any of the party settings:

SettingTypeDescription
authentication_method_to_signstringstandard, sms_pin, se_bankid, no_bankid, no_bankid_qes, dk_mitid, dk_mitid_erhverv, fi_tupas, freja, freja_orgid, nl_idin, oneid, onfido, onfido_document_check, onfido_document_and_photo_check, swisscom_qes, swisscom_qes_with_srs, verimi_qes, itsme_qes, smart_id_qes, scrive_qes, scrive_qes_global. eID methods generally need personal_number; sms_pin needs mobile_number. The method must be enabled on your account or start_signing fails.
authentication_method_to_view, authentication_method_to_view_archivedstringstandard, sms_pin, dk_mitid, dk_mitid_erhverv, fi_tupas, freja, freja_orgid, nl_idin, no_bankid, oneid, onfido, onfido_document_check, onfido_document_and_photo_check, se_bankid, verimi. Required to view the document before signing, or the archived document afterwards.
personal_numberstringNational identification number, used by eID methods.
mobile_numberstringE.164 format. Required for sms_pin and mobile delivery.
sign_orderintegerSigning turn, from 1. Parties sharing an order sign in parallel; a higher order is invited once every lower order has signed.
delivery_methodstringemail, mobile, email_mobile, pad, api.
confirmation_delivery_methodstringemail, mobile, email_mobile, email_link, email_link_mobile, none.
notification_delivery_methodstringemail, mobile, email_mobile, none. How reminders reach the party.
allows_highlightingbooleanParty may highlight areas of the PDF while signing.
hide_personal_numberbooleanHide the personal number on the finalised document.
can_forwardbooleanParty may forward the signing process to someone else.
is_visibleboolean or nullViewers and approvers only; pass null for a signing party.
sign_success_redirect_url, reject_redirect_urlstringWhere the party lands after signing or rejecting.
attachmentsobject[]Files the party must upload before signing: name, description, required and add_to_sealed_file, both true by default. Replaces the party’s current list.
fieldsobject[]The party’s full field list, replacing the current one, so pass the existing fields plus your changes. See below. name, email, mobile_number and personal_number are applied on top of this list.

Each entry in fields:

KeyTypeDescription
typestringname, full_name, email, mobile, company, personal_number, company_number, signature, checkbox, radiogroup, text, multi_line_text, date, sign_date. Required.
namestringIdentifies a text, multi_line_text, checkbox, signature, radiogroup or date field, where it is required.
orderintegerFor name fields: 1 is the first name, 2 the last name.
valuestring or nullThe field’s value.
is_obligatory, should_be_filled_by_sender, editable_by_signatorybooleanMust be filled before signing; filled by the sender; editable by the signatory.
descriptionstring or nullField description.
is_checkedbooleancheckbox only.
values, selected_valuestring[], stringradiogroup only: at least two distinct options, and the selected one.
custom_validationobjecttext only: pattern, positive_example and tooltip.
configurationobjectdate only, where it is required: start_date and end_date, each a number of days from first view or an absolute YYYY-MM-DD. Pass {} for no bounds.
placementsobject[]Where the field is drawn: wrel, hrel and fsrel as fractions of the page, plus either page, xrel and yrel, or anchors that position it relative to text in the PDF. checkbox and radiogroup placements take fixed sizes, and a radiogroup needs one placement per value, all on one page.

Updates a party’s role, name, email, authentication or delivery settings on a document in preparation.

InputTypeDescription
document_idstringThe document id. Required.
party_idstringThe party id, from get_document. Required.

Plus any of the party settings listed under add_party, including name, email and signatory_role.

Starts the signing process for a document in preparation and sends the invitations.

InputTypeDescription
document_idstringThe document id. Required.

Sends a reminder invitation to every party who has not yet signed.

InputTypeDescription
document_idstringThe document id. Required.

Cancels a pending document.

InputTypeDescription
document_idstringThe document id. Required.

Journey flows send several documents to several participants in one process, with signers, viewers, approvers and copy recipients. The agent uses them for anything more involved than a single document.

InputTypeDescription
process_titlestringTitle of the flow. Required.

Returns the draft id and a link to the draft in the Scrive flow editor.

InputTypeDescription
limitintegerPage size. Default 20.
pagestringPage cursor from an earlier call.

Returns results, each with its url, and navigation with the next_page and previous_page cursors.

InputTypeDescription
draft_idstringThe draft id. Required.

Returns the draft with its documents, participants, steps and url.

Adds one or more PDFs to a flow draft. Opens a file picker for up to 25 PDFs.

InputTypeDescription
draft_idstringThe draft id. Required.
namestringDocument name. Defaults to the filename without extension. When several files are picked, every one gets this name, so leave it out.

Adds a participant and regenerates the draft’s steps: participants are grouped by action, and each acts on every document in the draft. Steps only cover documents already in the draft, so add the documents first.

InputTypeDescription
draft_idstringThe draft id. Required.
namestringFull name. Required.
emailstringRequired.
actionstringsign (default), view, approve, receive_copy.
invitation_methodstringemail (default), sms, email_and_sms, link_only, kivra, eboks, eboks_private.
confirmation_methodstringemail (default), sms, email_and_sms, none, kivra, eboks, eboks_private.
authentication_to_signstringonfido, sms_otp, se_bank_id, dk_mit_id, no_bank_id, ftn, no_bank_id_qes, swisscom, verimi, scrive_qes, scrive_qes_global. Journey names differ from the document tools. sms_otp needs mobile_number.
authentication_to_view, authentication_to_view_archivedstringonfido, sms_otp, se_bank_id, dk_mit_id, no_bank_id, ftn.
personal_numberstringNational identification number, used by eID providers.
mobile_numberstringE.164 format. Required for sms_otp.

Starts a flow draft, creating a running flow and sending the first invitations. Returns the flow id and a link to the started flow. No tool reads a flow once it has started, so follow it in Scrive.

InputTypeDescription
draft_idstringThe draft id. Required.
InputTypeDescription
draft_idstringThe draft id. Required.

Retrieves usage statistics from Scrive.

InputTypeDescription
periodstringdays for daily statistics (default last 30 days) or months for monthly (default last 12 months). Required.
withCompanybooleanInclude the company summary.
userGroupIDstringUser group to report on, when withCompany is true.
recursivebooleanInclude child user groups, when withCompany is true.
includeZeroRecordsbooleanInclude periods with no activity.
fromDate, toDatestringBounds as YYYY-MM-DD or YYYY-MM.
Scrive MCPScrive API
CallerAI assistants and agents deciding at runtimeYour code with explicit logic
AuthSign in with your Scrive account in the AI clientOAuth credentials from Account settings → Integrations
CoverageDocuments, templates, parties, signing, reminders, cancelling, downloads, flow drafts, usageThe whole platform
Best forAsking questions, preparing and sending, following upAutomated pipelines and integrations
  • Searching the text inside documents. list_documents matches titles and party names only.
  • Deleting, trashing or restoring documents.
  • Changing a document once signing has started, other than reminding or cancelling.
  • Reading, reminding or cancelling a flow once it has started.
  • Removing documents or participants from a flow draft, or reordering its steps.

Use the Scrive app or the Scrive API for these.