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 textget_snippet 内
  • INFOTool description contains placeholder or incomplete textget_snippet 内

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~991トークン数(ツール定義)
~1.1 KB一般的なレスポンスサイズ
注意への影響は中程度(128k コンテキストの 0.77%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `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 件