Paperform MCP by usefulapi
Read Paperform forms, submissions, products and coupons, Papersign documents, and manage coupons.
Connect it
Settings → Connectors → Add custom connector
URL: https://paperform.usefulapi.io/mcpSettings → Apps & Connectors → Advanced → Developer mode
Create connector with URL: https://paperform.usefulapi.io/mcp{
"mcpServers": {
"paperform": {
"url": "https://paperform.usefulapi.io/mcp"
}
}
}claude mcp add --transport http paperform https://paperform.usefulapi.io/mcp{
"servers": {
"paperform": {
"type": "http",
"url": "https://paperform.usefulapi.io/mcp"
}
}
}23 tools, verified live
paperform_list_formsread-onlyList the forms in the Paperform account (id, slug, custom_slug, title, url, live, tags, submission_count, space_id, dates), newest first. Search by title, or also by slug/custom_slug with search_fields. Start here to find the slug or id the other tools need. Paperform: GET /forms.
paperform_get_formread-onlyFetch one form by slug, custom slug or id: title, description, url, live flag, tags, submission_count, space and dates. Paperform: GET /forms/{slug_or_id}.
paperform_list_form_fieldsread-onlyList a form's questions (key, title, type, required, custom_key, description, options). The field keys are the keys of a submission's `data` object, so read this to interpret answers. Paperform: GET /forms/{slug_or_id}/fields.
paperform_list_submissionsread-onlyList one page of a form's completed submissions, newest first: answers (`data`, keyed by field key — see paperform_list_form_fields), device and UTM info, payment `charge`, generated PDFs and created_at. Page with skip/next_skip or after_id/last_id; filter by date. Paperform: GET /forms/{slug_or_id}/submissions.
paperform_get_submissionread-onlyFetch one submission by id, with every answer, device info, payment charge and PDFs. Paperform: GET /submissions/{id}.
paperform_list_partial_submissionsread-onlyList one page of a form's partial submissions (someone started the form), newest first: answers so far, last_answered field, dates. Partials that were later completed stay in the list with submitted_at set; only those with submitted_at null are abandoned. Useful for drop-off analysis and follow-ups. Paperform: GET /forms/{slug_or_id}/partial-submissions.
paperform_get_partial_submissionread-onlyFetch one partial submission by id, with the answers given so far. It may have been completed since (submitted_at set); submitted_at null means abandoned. Paperform: GET /partial-submissions/{id}.
paperform_list_productsread-onlyList the products sold on a form (SKU, name, price, quantity in stock, sold, minimum/maximum, discountable, images). Paperform: GET /forms/{slug_or_id}/products.
paperform_get_productread-onlyFetch one product on a form by SKU: price, quantity in stock, sold count, limits. Paperform: GET /forms/{slug_or_id}/products/{sku}.
paperform_list_couponsread-onlyList a form's coupon codes (code, enabled, target, discountAmount or discountPercentage, expiresAt). Paperform: GET /forms/{slug_or_id}/coupons.
paperform_get_couponread-onlyFetch one coupon on a form by code. Paperform: GET /forms/{slug_or_id}/coupons/{code}.
paperform_list_webhooksread-onlyList the webhooks on a form (id, target_url, triggers: submission / partial_submission, dates). Needs the Business API. Paperform: GET /forms/{slug_or_id}/webhooks.
paperform_list_spacesread-onlyList the account's spaces (folders that group forms): id, name, dates. Needs the Business API. Paperform: GET /spaces.
paperform_list_space_formsread-onlyList the forms in one space. Needs the Business API. Paperform: GET /spaces/{id}/forms.
paperform_list_papersign_documentsread-onlyList Papersign e-signature documents (id, name, status, folder, space, signers, variables, source form/submission, sent/completed dates), filtered by name, status, folder, space or the Paperform submission that created them. Needs the Papersign API. Paperform: GET /papersign/documents.
paperform_get_papersign_documentread-onlyFetch one Papersign document by id: status, signers and their progress, variables, folder, space and dates. Needs the Papersign API. Paperform: GET /papersign/documents/{id}.
paperform_get_signed_document_urlread-onlyGet a download link for a completed (fully signed) Papersign document as a PDF. A fresh link is made on each call and is valid for one week (expires_at_utc). Needs the Papersign API. Paperform: GET /papersign/documents/{id}/completed-document-url.
paperform_list_papersign_foldersread-onlyList Papersign folders (id, name, parent_id, space_id), optionally inside one space or folder. Needs the Papersign API. Paperform: GET /papersign/folders.
paperform_list_papersign_spacesread-onlyList Papersign spaces (id, name, root_folder_id). Needs the Papersign API. Paperform: GET /papersign/spaces.
paperform_create_couponcan modifyWRITE: create a coupon code on a form, with a fixed discountAmount or a discountPercentage (not both), an optional target (price or subscription) and expiry. Respondents can use it at checkout as soon as it is enabled. Undo: paperform_update_coupon with enabled=false. Paperform: POST /forms/{slug_or_id}/coupons.
paperform_update_couponcan modifyWRITE: change a coupon on a form — enable or disable it, change its discount (amount or percentage), target or expiry (null = never expires). Only the fields you pass are sent. Paperform: PUT /forms/{slug_or_id}/coupons/{code}.
paperform_set_product_quantitycan modifyWRITE: set how many units of a form product are available (its stock quantity), e.g. after restocking. Replaces the current value; read it first with paperform_get_product. Not atomic: it overwrites rather than adjusts, so a sale between your read and this write is lost. Paperform: PUT /forms/{slug_or_id}/products/{sku}/quantity.
paperform_set_product_soldcan modifyWRITE: set the number of units of a form product recorded as sold (e.g. to correct it after a refund or an offline sale). Replaces the current value; read it first with paperform_get_product. Not atomic: it overwrites rather than adjusts, so a sale between your read and this write is lost. Paperform: PUT /forms/{slug_or_id}/products/{sku}/sold.
Alternatives in Docs & Knowledge
Compare →
Onfido MCP by usefulapiB
Create and read Onfido applicants, documents, checks and reports.
Mistral MCP by usefulapiB
Manage your Mistral platform — models, files, batch jobs, agents and RAG document libraries.
Anvil MCP by usefulapiB
Hosted MCP server for Anvil — fill & generate PDFs and run Etch e-signature packets for AI agents.
DLDayze — Life ContextB
Life context for agents: get_context_pack + public notable packs. x402 + OAuth.
ABAiqbee BrainB
AI knowledge graph for architecture, portfolio, and digital strategy management.
SESquaredUp (EU)B
Query and manage SquaredUp dashboards, data streams, the knowledge graph, and KPIs (EU region).