MCP 서버

ShipMyForm

com.shipmyform/shipmyform
비즈니스 및 운영 개발자 도구 공개 · 연결 가능 MCP 2025-11-25

이 MCP로 할 수 있는 일

Creates hosted or embeddable web form endpoints, manages submissions, exports data, and routes submissions to email, webhooks, and business applications.

add_connector
Add a connector
Route a form's submissions somewhere: email, webhook, Slack, Discord, Airtable, HubSpot, Telegram and more. Get the config fields from list_connector_types. OAuth connectors (Google Sheets, Notion) must be added in the dashboard.
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['formId', 'type', 'config'], 'properties': {'type': {'type': 'string', 'description': "Connector type from list_connector_types, e.g. 'slack'"}, 'config': {'type': 'object', 'description': 'Field values keyed by the config field names', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'formId': {'type': 'string', 'description': 'Form id, e.g. frm_abc123'}}}
create_api_key
Create an API key
Mint another API key for this workspace (shown once), optionally narrower than this one. A key can never grant scopes it does not itself hold, so this is the safe way to hand a limited key to another agent.
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['name'], 'properties': {'name': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'preset': {'enum': ['full', 'wiring', 'readonly', 'triage'], 'type': 'string', 'description': 'Named scope bundle: full (everything), wiring (forms only, no submission access), readonly, triage'}, 'scopes': {'type': 'array', 'items': {'enum': ['forms:read', 'forms:write', 'forms:delete', 'submissions:read', 'submissions:write', 'submissions:delete', 'account:manage'], 'type': 'string'}, 'description': "Explicit scopes, instead of a preset. Ignored where it would exceed the calling key's own scopes."}}}
create_form
Create a form
Create a form and get its endpoint plus a paste-ready HTML snippet. Email notifications to the account owner are set up automatically. Works on every plan.
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['name'], 'properties': {'name': {'type': 'string', 'maxLength': 80, 'minLength': 1, 'description': "Human-readable form name, e.g. 'Contact form'"}, 'purpose': {'type': 'string', 'maxLength': 500, 'description': 'What the form is for, in a sentence. Helps the spam classifier.'}, 'allowedDomains': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 20, 'description': "Sites allowed to submit, e.g. ['example.com']. Empty = any."}}}
delete_form
Delete form
Delete a form; its endpoint stops accepting submissions.
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['formId'], 'properties': {'formId': {'type': 'string', 'description': 'Form id, e.g. frm_abc123'}}}
delete_submissions
Delete submissions
Permanently delete submissions (and their files).
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['ids'], 'properties': {'ids': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 200, 'minItems': 1}}}
export_submissions
Export submissions as CSV
All of a form's submissions (up to 2,000) as CSV text, optionally filtered by status.
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['formId'], 'properties': {'formId': {'type': 'string', 'description': 'Form id, e.g. frm_abc123'}, 'status': {'enum': ['ok', 'spam', 'flagged'], 'type': 'string'}}}
get_account
Get account
The account's email, verification state, plan, limits, usage and dashboard URL.
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
get_billing_portal
Billing portal link
A self-service billing portal URL: change plan, update the card, cancel.
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
get_form
Get form
A form's full configuration, connectors and hosted-page status.
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['formId'], 'properties': {'formId': {'type': 'string', 'description': 'Form id, e.g. frm_abc123'}}}
get_form_snippet
Get form snippet
A copy-paste form snippet for a framework (html, react, vue, or fetch) wired to the form's endpoint.
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['formId'], 'properties': {'formId': {'type': 'string', 'description': 'Form id, e.g. frm_abc123'}, 'framework': {'enum': ['html', 'react', 'vue', 'fetch'], 'type': 'string', 'default': 'html'}}}
get_submission
Get a submission
One submission with spam signals and delivery history.
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['submissionId'], 'properties': {'submissionId': {'type': 'string'}}}
get_submission_stats
Get submission stats
Delivered / spam-held / flagged counts for a form, plus workspace quota usage. Works on every plan.
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['formId'], 'properties': {'formId': {'type': 'string', 'description': 'Form id, e.g. frm_abc123'}}}
label_submissions
Classify submissions
Mark submissions as spam, ok (not spam) or flagged. spam/ok also teach the classifier, so your judgement improves future filtering. This is how you triage in your own environment: list, decide, label.
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['ids', 'label'], 'properties': {'ids': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 200, 'minItems': 1}, 'label': {'enum': ['ok', 'spam', 'flagged'], 'type': 'string'}}}
list_api_keys
List API keys
API keys on this workspace (metadata only).
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
list_connectors
List a form's connectors
Connectors on a form with their status and last error.
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['formId'], 'properties': {'formId': {'type': 'string', 'description': 'Form id, e.g. frm_abc123'}}}
list_connector_types
List connector types
Every destination submissions can be routed to, with the config fields each needs and which plan it requires.
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
list_forms
List forms
The workspace's forms with their public endpoint URLs.
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
list_submissions
List submissions
Read submissions across the workspace or for one form, with filters (status, date range, text search, country, attachments, failed deliveries) and paging. Spam is excluded unless status is 'spam'. Requires a paid plan.
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'q': {'type': 'string', 'description': 'Free-text search across field values'}, 'sort': {'enum': ['newest', 'oldest', 'score'], 'type': 'string'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'since': {'type': 'string', 'description': 'ISO date; received on/after'}, 'until': {'type': 'string', 'description': 'ISO date; received before'}, 'formId': {'type': 'string', 'description': 'Form id, e.g. frm_abc123'}, 'offset': {'type': 'integer', 'default': 0, 'maximum': 9007199254740991, 'minimum': 0}, 'status': {'enum': ['ok', 'spam', 'flagged'], 'type': 'string'}, 'hasFiles': {'type': 'boolean'}, 'countries': {'type': 'array', 'items': {'type': 'string'}, 'description': 'ISO 3166 alpha-2 codes'}, 'deliveryFailed': {'type': 'boolean'}}}
publish_hosted_page
Publish a hosted form page
Publish a standalone page for the form on shipmyform.com (no website needed) and get its URL plus an embed script. Uses the designed page if one exists, otherwise a default email + message form.
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['formId'], 'properties': {'formId': {'type': 'string', 'description': 'Form id, e.g. frm_abc123'}}}
remove_connector
Remove a connector
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['connectorId'], 'properties': {'connectorId': {'type': 'string'}}}
resend_verification_code
Resend the verification code
Email a fresh 6-digit verification code to the account's address.
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
revoke_api_key
Revoke an API key
Revoke a key by id. The key in use on this connection cannot revoke itself.
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['keyId'], 'properties': {'keyId': {'type': 'string'}}}
set_connector_active
Enable or disable a connector
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['connectorId', 'active'], 'properties': {'active': {'type': 'boolean'}, 'connectorId': {'type': 'string'}}}
sign_up
Create an account
Start a ShipMyForm account from an email address, with no browser. A 6-digit code is emailed to the address; verify_account with { email, code } then returns the API key. Works without authentication. Also works for an existing account (the code approves API access).
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['email'], 'properties': {'agent': {'type': 'string', 'maxLength': 40, 'description': "Your name, e.g. 'Claude Code', shown in the verification email."}, 'email': {'type': 'string', 'description': "The user's email address. Ask for it; never invent one."}, 'preset': {'enum': ['full', 'wiring', 'readonly', 'triage'], 'type': 'string', 'description': 'Named scope bundle: full (everything), wiring (forms only, no submission access), readonly, triage'}, 'scopes': {'type': 'array', 'items': {'enum': ['forms:read', 'forms:write', 'forms:delete', 'submissions:read', 'submissions:write', 'submissions:delete', 'account:manage'], 'type': 'string'}, 'description': "Explicit scopes, instead of a preset. Ignored where it would exceed the calling key's own scopes."}, 'workspaceName': {'type': 'string', 'maxLength': 80}}}
start_upgrade
Start a paid plan
Get a hosted checkout URL for the Starter or Pro plan. Payment is completed by a person on that page; the plan activates automatically afterwards (check with get_account).
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['plan'], 'properties': {'plan': {'enum': ['starter', 'pro'], 'type': 'string'}, 'period': {'enum': ['monthly', 'annual'], 'type': 'string', 'default': 'monthly'}}}
test_connector
Test a connector
Send a test delivery through a connector and report the result.
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['connectorId'], 'properties': {'connectorId': {'type': 'string'}}}
unpublish_hosted_page
Unpublish the hosted page
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['formId'], 'properties': {'formId': {'type': 'string', 'description': 'Form id, e.g. frm_abc123'}}}
update_form
Update form settings
Change any subset of a form's settings: name, purpose, allowedDomains, redirectUrl, spamMode, active, storeSubmissions, validation rules, blocklist, autoResponder (Pro).
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['formId'], 'properties': {'name': {'type': 'string'}, 'active': {'type': 'boolean'}, 'formId': {'type': 'string', 'description': 'Form id, e.g. frm_abc123'}, 'purpose': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'spamMode': {'enum': ['basic', 'strict'], 'type': 'string'}, 'blocklist': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Emails, @domains or keywords that mark a submission as spam'}, 'validation': {'anyOf': [{'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, {'type': 'null'}], 'description': 'Server-side rules by field, e.g. { "email": { "required": true, "type": "email" }, "message": { "minLength": 10 } }. null clears.'}, 'redirectUrl': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Absolute URL visitors are sent to after submitting'}, 'autoResponder': {'type': 'object', 'properties': {'enabled': {'type': 'boolean'}, 'message': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'subject': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}}, 'allowedDomains': {'type': 'array', 'items': {'type': 'string'}}, 'storeSubmissions': {'type': 'boolean'}}}
verify_account
Verify the account email
Prove the address with the 6-digit code emailed by sign_up. Without a key on the connection, pass the email too: on success this returns the API key (shown once). Turns on email notifications.
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['code'], 'properties': {'code': {'type': 'string', 'maxLength': 6, 'minLength': 6}, 'agent': {'type': 'string', 'maxLength': 40}, 'email': {'type': 'string', 'description': 'Required when not yet connected with a key'}, 'preset': {'enum': ['full', 'wiring', 'readonly', 'triage'], 'type': 'string', 'description': 'Named scope bundle: full (everything), wiring (forms only, no submission access), readonly, triage'}, 'scopes': {'type': 'array', 'items': {'enum': ['forms:read', 'forms:write', 'forms:delete', 'submissions:read', 'submissions:write', 'submissions:delete', 'account:manage'], 'type': 'string'}, 'description': "Explicit scopes, instead of a preset. Ignored where it would exceed the calling key's own scopes."}}}
추가됨
export_submissions
2026년 10월 1일 2:40 AM
추가됨
delete_submissions
2026년 10월 1일 2:40 AM
추가됨
label_submissions
2026년 10월 1일 2:40 AM
추가됨
get_submission
2026년 10월 1일 2:40 AM
추가됨
list_submissions
2026년 10월 1일 2:40 AM
추가됨
unpublish_hosted_page
2026년 10월 1일 2:40 AM
추가됨
publish_hosted_page
2026년 10월 1일 2:40 AM
추가됨
remove_connector
2026년 10월 1일 2:40 AM
추가됨
set_connector_active
2026년 10월 1일 2:40 AM
추가됨
test_connector
2026년 10월 1일 2:40 AM
추가됨
add_connector
2026년 10월 1일 2:40 AM
추가됨
list_connectors
2026년 10월 1일 2:40 AM
추가됨
list_connector_types
2026년 10월 1일 2:40 AM
추가됨
get_submission_stats
2026년 10월 1일 2:40 AM
추가됨
get_form_snippet
2026년 10월 1일 2:40 AM
추가됨
delete_form
2026년 10월 1일 2:40 AM
추가됨
update_form
2026년 10월 1일 2:40 AM
추가됨
get_form
2026년 10월 1일 2:40 AM
추가됨
create_form
2026년 10월 1일 2:40 AM
추가됨
list_forms
2026년 10월 1일 2:40 AM
추가됨
get_billing_portal
2026년 10월 1일 2:40 AM
추가됨
start_upgrade
2026년 10월 1일 2:40 AM
추가됨
revoke_api_key
2026년 10월 1일 2:40 AM
추가됨
list_api_keys
2026년 10월 1일 2:40 AM
추가됨
create_api_key
2026년 10월 1일 2:40 AM
추가됨
get_account
2026년 10월 1일 2:40 AM
추가됨
resend_verification_code
2026년 10월 1일 2:40 AM
추가됨
verify_account
2026년 10월 1일 2:40 AM
추가됨
sign_up
2026년 10월 1일 2:40 AM