{"server":"com.formpaste/formpaste","count":6,"tools":[{"name":"create_form","title":null,"description":"Create a Formpaste form and return its access key + a wired snippet. Triggers destination verification for a new address (the owner completes it in the dashboard); an already-verified destination delivers immediately. Errors with: unauthorized, upgrade_required.","input_schema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["name","destinationEmail"],"properties":{"name":{"type":"string","description":"A human-readable name for the form, e.g. \"Contact form\"."},"framework":{"enum":["html","react","nextjs","astro","vue","svelte"],"type":"string","description":"Target framework for the returned snippet. Defaults to html."},"destinationEmail":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","description":"Where submissions are emailed. Must be verified before delivery starts."}}},"output_schema":null,"annotations":null,"source":"probe","observed_at":"2026-09-20T12:17:39.503Z"},{"name":"get_form","title":null,"description":"Read one of your forms to verify it is wired correctly: returns its access_key, destination_email, destination_verified (whether submissions will be emailed yet), allowed_domains, and notification/autoresponder/webhook config. Never returns the webhook signing secret. Errors with: unauthorized, not_found.","input_schema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["formId"],"properties":{"formId":{"type":"string","description":"A form id from create_form or list_forms, e.g. frm_..."}}},"output_schema":null,"annotations":null,"source":"probe","observed_at":"2026-09-20T12:17:39.503Z"},{"name":"get_snippet","title":null,"description":"Return a copy-paste form snippet for a framework (html, react, nextjs, astro, vue, svelte). Pass formId to fill in a real access key; otherwise a placeholder is used. Errors with: unauthorized, invalid_framework.","input_schema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["framework"],"properties":{"formId":{"type":"string","description":"An owned form id to fill in the real access key; omit for a placeholder."},"framework":{"enum":["html","react","nextjs","astro","vue","svelte"],"type":"string","description":"Target framework for the snippet."}}},"output_schema":null,"annotations":null,"source":"probe","observed_at":"2026-09-20T12:17:39.503Z"},{"name":"list_forms","title":null,"description":"List all forms on your account, each with its id, name, access_key, and inbox/spam counts. Use this to discover form ids or confirm a form you just created exists. Errors with: unauthorized.","input_schema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"output_schema":null,"annotations":null,"source":"probe","observed_at":"2026-09-20T12:17:39.503Z"},{"name":"list_submissions","title":null,"description":"List submissions for one of your forms. Returns counts + per-submission metadata by default; set includeContent to include message bodies (third-party PII). Errors with: unauthorized, not_found, forbidden. Requires a full-access token.","input_schema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["formId"],"properties":{"limit":{"type":"number","description":"Maximum number of submissions to return."},"folder":{"enum":["inbox","spam"],"type":"string","description":"Which folder to list. Defaults to inbox."},"formId":{"type":"string","description":"A form id from create_form or list_forms, e.g. frm_..."},"includeContent":{"type":"boolean","description":"Include full submission message bodies (third-party PII). Defaults to false."}}},"output_schema":null,"annotations":null,"source":"probe","observed_at":"2026-09-20T12:17:39.503Z"},{"name":"send_test_submission","title":null,"description":"Store a TEST submission so you can prove a form is live and receiving. Stored only: it appears in the owner's Inbox with a Test badge but sends NO email, runs NO spam scoring, and never counts toward quota. Optionally pass sample fields; omit to use a default payload. Capped at the 5 newest test rows per form. Errors with: unauthorized, not_found, invalid_input, too_many_fields, field_too_large.","input_schema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["formId"],"properties":{"fields":{"type":"object","description":"Optional sample form fields as a flat string map, e.g. { name, email, message }. Omit to use a default test payload.","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}},"formId":{"type":"string","description":"A form id from create_form or list_forms, e.g. frm_..."}}},"output_schema":null,"annotations":null,"source":"probe","observed_at":"2026-09-20T12:17:39.503Z"}],"next_cursor":null,"next_actions":[{"action":"get_connection","description":"Connection block to call these tools","href":"/v1/servers/com.formpaste%2Fformpaste/connection?target=mcpServers","arguments":{"name":"com.formpaste/formpaste","target":"mcpServers"}},{"action":"get_server","description":"Full descriptor with trust and connectability","href":"/v1/servers/com.formpaste%2Fformpaste","arguments":{"name":"com.formpaste/formpaste"}}]}