formpaste

Create and wire up contact forms from your coding agent. Forms, snippets, and submissions.

我该使用它吗

质量与安全性

A
描述质量
97%
模式完整度
88%
命名质量
100%
投毒风险
80%
权限匹配度
100%
协议合规性
100%

发现(3)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool 'get_snippet' description contains placeholder text在 get_snippet 中
  • INFOTool description contains placeholder or incomplete text在 get_snippet 中

基于对工具定义和协议合规性的自动分析。

上下文开销

~991token 数(工具定义)
~1.1 KB典型响应大小
对注意力有中等影响(占 128k 上下文窗口的 0.77%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "formpaste": {
      "command": "npx",
      "args": [
        "formpaste-mcp"
      ]
    }
  }
}

可运行的软件包

npmformpaste-mcp1.0.1stdio

远程端点

https://api.formpaste.com/mcpstreamable-http

它能做什么

工具清单

工具(6)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟡create_form(name, destinationEmail, framework)

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.

输入模式

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "A human-readable name for the form, e.g. \"Contact form\"."
    },
    "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."
    },
    "framework": {
      "description": "Target framework for the returned snippet. Defaults to html.",
      "type": "string",
      "enum": [
        "html",
        "react",
        "nextjs",
        "astro",
        "vue",
        "svelte"
      ]
    }
  },
  "required": [
    "name",
    "destinationEmail"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_snippet(framework, formId)

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.

输入模式

{
  "type": "object",
  "properties": {
    "framework": {
      "type": "string",
      "enum": [
        "html",
        "react",
        "nextjs",
        "astro",
        "vue",
        "svelte"
      ],
      "description": "Target framework for the snippet."
    },
    "formId": {
      "description": "An owned form id to fill in the real access key; omit for a placeholder.",
      "type": "string"
    }
  },
  "required": [
    "framework"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡list_submissions(formId, folder, limit, includeContent)

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.

输入模式

{
  "type": "object",
  "properties": {
    "formId": {
      "type": "string",
      "description": "A form id from create_form or list_forms, e.g. frm_..."
    },
    "folder": {
      "description": "Which folder to list. Defaults to inbox.",
      "type": "string",
      "enum": [
        "inbox",
        "spam"
      ]
    },
    "limit": {
      "description": "Maximum number of submissions to return.",
      "type": "number"
    },
    "includeContent": {
      "description": "Include full submission message bodies (third-party PII). Defaults to false.",
      "type": "boolean"
    }
  },
  "required": [
    "formId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_forms

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.

输入模式

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_form(formId)

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.

输入模式

{
  "type": "object",
  "properties": {
    "formId": {
      "type": "string",
      "description": "A form id from create_form or list_forms, e.g. frm_..."
    }
  },
  "required": [
    "formId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡send_test_submission(formId, fields)

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.

输入模式

{
  "type": "object",
  "properties": {
    "formId": {
      "type": "string",
      "description": "A form id from create_form or list_forms, e.g. frm_..."
    },
    "fields": {
      "description": "Optional sample form fields as a flat string map, e.g. { name, email, message }. Omit to use a default test payload.",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "string"
      }
    }
  },
  "required": [
    "formId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

社区

评价此服务器

证据

最近观测

已验证未记录版本6 个工具
已验证未记录版本6 个工具