# Paperform Muse connector

From musedirectory.ai, the independent directory of Meta Muse connectors. Not affiliated with Meta.

## Paperform

Read and manage Paperform forms, submissions, products, coupons and Papersign documents

- Record: https://musedirectory.ai/connector/paperform
- Category: Shopping & Commerce
- Developer: usefulapi (https://usefulapi.io/paperform/)
- Muse status: Extra setup. Not in Muse's Connectors list yet. Muse can still use it: its page gives you a request to paste into Muse.
- Health: Working, 45ms, checked 2026-10-29T11:31:06Z
- Endpoint: https://paperform.usefulapi.io/mcp
- Auth: No account needed; Pricing: unknown
- Screening: Screened, no issues found (2026-10-29T07:56:33Z)
- Source: Found in the official MCP Registry (io.usefulapi/paperform) https://registry.modelcontextprotocol.io/v0/servers?search=io.usefulapi%2Fpaperform

Connect to Paperform to list forms and submissions, view form responses and partial submissions, manage products and coupon codes, and access Papersign e-signature documents. Requires a Paperform API key.

Example request: "Show me all form submissions from this week and create a 20% off coupon code for my online store."

How to connect: Not in Muse's Connectors list yet, but Muse can still use it. Paste this into Muse: "Use Paperform to help me. It is a free service with an MCP server at https://paperform.usefulapi.io/mcp. It does not need an API key. Ask me before you share anything with it." Muse asks before it shares anything with the app's site. Meta does not review apps used this way, so only use ones you trust. We tested this in the Muse app on September 24, 2026: Muse used an app's link directly this way and returned a live answer.

Tools:
- paperform_list_forms: List 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_form: Fetch 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_fields: List 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_submissions: List 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
- paperform_get_submission: Fetch one submission by id, with every answer, device info, payment charge and PDFs. Paperform: GET /submissions/{id}.
- paperform_list_partial_submissions: List 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 anal
- paperform_get_partial_submission: Fetch 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_products: List 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_product: Fetch one product on a form by SKU: price, quantity in stock, sold count, limits. Paperform: GET /forms/{slug_or_id}/products/{sku}.
- paperform_list_coupons: List a form's coupon codes (code, enabled, target, discountAmount or discountPercentage, expiresAt). Paperform: GET /forms/{slug_or_id}/coupons.
- paperform_get_coupon: Fetch one coupon on a form by code. Paperform: GET /forms/{slug_or_id}/coupons/{code}.
- paperform_list_webhooks: List 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_spaces: List the account's spaces (folders that group forms): id, name, dates. Needs the Business API. Paperform: GET /spaces.
- paperform_list_space_forms: List the forms in one space. Needs the Business API. Paperform: GET /spaces/{id}/forms.
- paperform_list_papersign_documents: List 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/docu
- paperform_get_papersign_document: Fetch 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_url: Get 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_folders: List 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_spaces: List Papersign spaces (id, name, root_folder_id). Needs the Papersign API. Paperform: GET /papersign/spaces.
- paperform_create_coupon: WRITE: 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: 
- paperform_update_coupon: WRITE: 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_quantity: WRITE: 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. Paperfor
- paperform_set_product_sold: WRITE: 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 writ

Screening checks:
- MCP handshake: pass (Answered in 24ms)
- Domain against threat feeds (Cloudflare security DNS): pass (paperform.usefulapi.io, usefulapi.io not flagged)
- Published packages against the OSV malicious-package database: n/a (No npm or PyPI package published)
- Hidden instructions or invisible characters in tool text: pass (23 tools read, nothing found)
- Inputs asking for passwords, card numbers or seed phrases: pass (None found)
- Domain and redirects: pass (No redirects off the domain)
- AI review of purpose and tool behavior: pass (No concerns)
