formpaste
Create and wire up contact forms from your coding agent. Forms, snippets, and submissions.
사용해야 할까요
품질 및 안전성
발견 사항 (3)
- HIGH
- MEDIUMget_snippet에서
- INFOget_snippet에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"formpaste": {
"command": "npx",
"args": [
"formpaste-mcp"
]
}
}
}실행 가능한 패키지
1.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#"
}커뮤니티
증거