Is ShipMyForm MCP Server official?
Yes. ShipMyForm runs it at `https://shipmyform.com/api/mcp` and documents it at shipmyform.com/docs/mcp.

@ShipMyForm.com
Basic information
Transport
Streamable HTTP
Authentication
API Key
Last updated
Category
Developer Tools
Author
ShipMyForm.com
Submitted by
Azeem Hassni
Form backend for static sites. Create form endpoints, get paste-ready markup for HTML, React, Vue, Svelte and Astro, and read submission stats — straight from your agent. Submissions are spam-filtered, stored, and routed to email, Slack, Sheets and 20+ other tools. Works on the free plan: 100 submissions a month, no card.
https://shipmyform.com/api/mcpclaude mcp add shipmyform --transport http https://shipmyform.com/api/mcpStart 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).
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.
Email a fresh 6-digit verification code to the account's address.
The account's email, verification state, plan, limits, usage and dashboard URL.
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.
API keys on this workspace (metadata only).
Revoke a key by id. The key in use on this connection cannot revoke itself.
Get a hosted checkout URL for the Starter or Business plan. Payment is completed by a person on that page; the plan activates automatically afterwards (check with get_account).
A self-service billing portal URL: change plan, update the card, cancel.
The workspace's forms with their public endpoint URLs.
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.
A form's full configuration, connectors and hosted-page status.
Change any subset of a form's settings: name, purpose, allowedDomains, redirectUrl, spamMode, active, storeSubmissions, validation rules, blocklist, autoResponder (Pro).
Delete a form; its endpoint stops accepting submissions.
A copy-paste form snippet for a framework (html, react, vue, or fetch) wired to the form's endpoint.
Delivered / spam-held / flagged counts for a form, plus workspace quota usage. Works on every plan.
Every destination submissions can be routed to, with the config fields each needs and which plan it requires.
Connectors on a form with their status and last error.
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.
Send a test delivery through a connector and report the result.
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.
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.
One submission with spam signals and delivery history.
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.
Permanently delete submissions (and their files).
All of a form's submissions (up to 2,000) as CSV text, optionally filtered by status.
ShipMyForm MCP Server is the official remote MCP server for ShipMyForm, a form backend for static sites. It lets a coding agent create form endpoints, paste ready-made markup into your site, route submissions to tools like Slack or webhooks, and read submission stats without opening a browser.
ShipMyForm calls itself an AI-native form backend: everything the dashboard can do is a tool on the MCP server, plus a few things the dashboard cannot. An agent can even create and verify the account itself. Submissions are spam-filtered, stored and routed to email, Slack, Sheets and 20+ other tools. The free plan covers 100 submissions a month with no card.
The server is remote (Streamable HTTP), so there is nothing to install. Every client needs three facts:
URL: https://shipmyform.com/api/mcp
Transport: Streamable HTTP (not SSE, not stdio)
Auth: Authorization: Bearer smf_YOUR_KEY
Get an API key in Settings → API keys (every plan, including free), or let your agent call sign_up with your email. ShipMyForm emails a 6-digit code, and verify_account with that code returns the key. ShipMyForm recommends keeping the key in an environment variable such as SMF_API_KEY rather than in a committed file.
claude mcp add --transport http shipmyform https://shipmyform.com/api/mcp \
--header "Authorization: Bearer smf_YOUR_KEY"
To share it through a project .mcp.json, which expands environment variables:
{
"mcpServers": {
"shipmyform": {
"type": "http",
"url": "https://shipmyform.com/api/mcp",
"headers": { "Authorization": "Bearer ${SMF_API_KEY}" }
}
}
}
The "Add custom connector" dialog is built for OAuth and has no API-key header field, and ShipMyForm does not offer OAuth. On Claude Desktop, use the mcp-remote bridge (needs Node.js) in claude_desktop_config.json and restart the app:
{
"mcpServers": {
"shipmyform": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://shipmyform.com/api/mcp", "--header", "Authorization:${AUTH_HEADER}"],
"env": { "AUTH_HEADER": "Bearer smf_YOUR_KEY" }
}
}
}
On Team and Enterprise plans, an organization admin can add it as a custom connector with an authorization request header (an Anthropic beta).
~/.cursor/mcp.json or .cursor/mcp.json:
{
"mcpServers": {
"shipmyform": {
"url": "https://shipmyform.com/api/mcp",
"headers": { "Authorization": "Bearer ${env:SMF_API_KEY}" }
}
}
}
.vscode/mcp.json (top-level key servers). The input variable makes VS Code prompt for the key once and store it securely:
{
"inputs": [
{ "type": "promptString", "id": "shipmyform-key", "description": "ShipMyForm API key (smf_…)", "password": true }
],
"servers": {
"shipmyform": {
"type": "http",
"url": "https://shipmyform.com/api/mcp",
"headers": { "Authorization": "Bearer ${input:shipmyform-key}" }
}
}
}
ShipMyForm's docs also cover Codex CLI, Gemini CLI, Windsurf, Cline, Zed, opencode and JetBrains.
sign_up and verify_account create an account and return a key with no browser.wiring, triage, readonly and full. A key can never grant scopes it does not hold, so a narrow key is a real limit.The live server exposes 29 tools in a few groups:
sign_up, verify_account, resend_verification_code, get_account, create_api_key, list_api_keys, revoke_api_key. Use create_api_key to hand another agent a narrower key.start_upgrade returns a hosted checkout URL that a person completes; get_billing_portal links to plan and card management.create_form, list_forms, get_form, update_form (allowed domains, redirect, spam mode, validation, blocklist, auto-responder), delete_form and get_form_snippet.list_connector_types, add_connector, test_connector, set_connector_active, remove_connector. OAuth connectors such as Google Sheets and Notion must be added in the dashboard.publish_hosted_page, unpublish_hosted_page.get_submission_stats works on every plan. list_submissions, get_submission, label_submissions, delete_submissions and export_submissions (CSV, up to 2,000 rows) need a paid plan.mcp-remote bridge on Claude Desktop instead.env, as in the Claude Desktop example.Yes. ShipMyForm runs it at `https://shipmyform.com/api/mcp` and documents it at shipmyform.com/docs/mcp.
The free plan includes the whole wiring flow (account, forms, snippets, connectors, hosted pages, stats) and 100 submissions a month with no card. Reading submission content through MCP needs a paid plan.
Yes, a `smf_` key in the `Authorization` header. An agent can get one without a key by calling `sign_up` and `verify_account` with the emailed code.
Not yet, according to ShipMyForm. The server authenticates with an API key and does not offer OAuth, which ChatGPT's connector settings expect.
No. The 6-digit code is sent to that address and is the only thing that produces a key, so whoever controls the inbox decides. For an existing account, the email says an agent is asking for API access.
Give it a scoped key, for example the `readonly` preset (`forms:read`, `submissions:read`) or `wiring`, which cannot read any submission.
The ShipMyForm remote MCP server is a hosted Model Context Protocol endpoint at https://shipmyform.com/api/mcp, so AI assistants can connect to it without installing or running anything locally.
Add the endpoint https://shipmyform.com/api/mcp to any MCP-compatible client such as Claude Code, Cursor, or VS Code. The setup snippets on this page configure each client in one step.
Yes. ShipMyForm requires an API key — check the official documentation for how to obtain one, then include it in your client's configuration.
ShipMyForm exposes a Streamable HTTP endpoint, the transport used by remote MCP servers and supported by all major MCP clients.
Hosted 3GPP MCP server: cited search across Rel-15 through Rel-20 TS/TR specs, recent TDocs, company proposals and meeting decisions. OAuth 2.1; no local index required.
Hosted AdLoop: Google Ads, Reddit Ads, GA4 and Tag Manager in claude.ai, ChatGPT and more, with a preview before every change.
Live crypto trading signals via API. Full trade setups with entry, stop-loss, take-profit, leverage, and automated verification. Built for Claude Code, OpenAI Codex, and 30+ AI agents.
App Store keyword research, rank tracking, competitor analysis and authorized performance data.
Read-only, source-backed AI model pricing, history, comparisons and cost calculations.
Comments