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, search_by_contents or list_flow_drafts; the agent chains them for you.

  • Find documents by title, party, status, tag or date, or by what they say.
  • 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, and download_document only reads a file. 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.

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. Uploads are bounded by a 44 MB request limit.

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.
search_by_contentsReadSearches the text inside documents, including scanned PDFs, and returns matching excerpts.
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; to search the text written inside documents, use search_by_contents.

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.
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 and mtime.

Searches the text inside documents, including scanned PDFs, and returns the matching excerpts. A document can also match on its title, a party name or a stored field value, in which case it is returned without excerpts. Every result carries a url the agent shows you and a ref it passes to other tools.

InputTypeDescription
querystringWords that must all appear in the document. Words of three characters or more also match longer words starting with them. Required.
statusstring[]preparation, pending, closed, canceled, rejected, timedout.
partystringOnly documents with a party whose name, email, organisation number, address or reference contains this text.
owned_by_mebooleantrue for documents you own, false for documents someone else owns.
to_signtrueOnly documents out for signature and waiting for you to sign.
updated_after, updated_beforeISO 8601Changed after, before.
signed_after, signed_beforeISO 8601Signed after, before.
max_resultsinteger1 to 100. Default 20.
cursorstringnext_cursor from an earlier call, for the following page.

Returns results with title, url, ref, status, updated_at, source (standalone document or document in a flow) and excerpts, plus next_cursor. Matches in draft documents or in flow attachments whose contents cannot be opened yet are counted in omitted.

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.

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 its URL, https://scrive.com/d/<id>. 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 URL.

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.

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.

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, add_to_sealed_file. Replaces the party’s current list.
fieldsobject[]The party’s full field list, replacing the current one. Each field has a type (name, full_name, email, mobile, company, personal_number, company_number, signature, checkbox, radiogroup, text, multi_line_text, date, sign_date), a name for custom fields, an optional value, flags such as is_obligatory and should_be_filled_by_sender, and placements that position it on the PDF by page and relative coordinates or by anchoring to text.

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.

InputTypeDescription
limitintegerPage size. Default 20.
pagestringPage cursor from an earlier call.
InputTypeDescription
draft_idstringThe draft id. Required.

Returns the draft with its documents, participants and steps.

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

InputTypeDescription
draft_idstringThe draft id. Required.
namestringDocument name. Defaults to the filename without extension.

Adds a participant and regenerates the draft’s steps: participants are grouped by action, and each acts on every document in the draft.

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.

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, parties, signing, reminders, flows, usageThe whole platform
Best forAsking questions, preparing and sending, following upAutomated pipelines and integrations