Skip to content
ShipMyForm logo

ShipMyForm MCP server

Which servers in the official MCP registry are ShipMyForm's own, whether they answer, and what they offer. A program checked each of these, nobody copied them from a product page.

read 2026-10-19

← Back to ShipMyForm

Whose server it is
  • Registry namecom.shipmyform/shipmyformverified in the MCP registry

The registry name sits under shipmyform.com. The registry only lets a publisher use that namespace after proving control of the domain through DNS or HTTP.

When we asked itchecked 2026-10-19
  • Stateanswerschecked 2026-10-19
  • Tools29
  • Server calls itselfshipmyform
  • Server version2.0.0
  • Protocol version2025-06-18

On 2026-10-19 the server answered initialize and tools/list without a sign-in. First answer in 300 ms.

Measured dailydaily checks: 2, the first on 2026-10-19
  • Answeredmeasuring2 of the 7 daily checks it takes to print a share
  • Median first answer358 ms
  • Space in an agent's context≈ 3,473 tokensthe definitions of all its tools (29), which an agent carries on every turn
  • Tool definitionsC · 73 of 100
  • No description an agent can choose by: 3 of 29
  • Parameters without a description: in 15 of 29
  • Not saying whether it only reads or can destroy: 29 of 29

Worth a look

  • Tools that delete, send or pay without telling the client so: revoke_api_key, delete_form, remove_connector, delete_submissions
  • Tools that change data, on a server that answers without a sign-in: create_api_key, create_form, update_form, delete_form, add_connector

A program checks the server once a day: initialize and tools/list, no model. Tokens are the definitions' length at about four characters a token. The grade averages six checks of every tool's name, description, schema and annotations; it says how well the tools are described, not whether they work. The state of vendors' MCP servers: method and numbers →

Tools it offers29 tools · read 2026-10-19
  • sign_up

    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…

  • verify_account

    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.

  • resend_verification_code

    Email a fresh 6-digit verification code to the account's address.

  • get_account

    The account's email, verification state, plan, limits, usage and dashboard URL.

  • create_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.

  • list_api_keys

    API keys on this workspace (metadata only).

  • revoke_api_key

    Revoke a key by id. The key in use on this connection cannot revoke itself.

  • start_upgrade

    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).

  • get_billing_portal

    A self-service billing portal URL: change plan, update the card, cancel.

  • list_forms

    The workspace's forms with their public endpoint URLs.

  • create_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.

  • get_form

    A form's full configuration, connectors and hosted-page status.

  • update_form

    Change any subset of a form's settings: name, purpose, allowedDomains, redirectUrl, spamMode, active, storeSubmissions, validation rules, blocklist, autoResponder (Pro).

  • delete_form

    Delete a form; its endpoint stops accepting submissions.

  • get_form_snippet

    A copy-paste form snippet for a framework (html, react, vue, or fetch) wired to the form's endpoint.

  • get_submission_stats

    Delivered / spam-held / flagged counts for a form, plus workspace quota usage. Works on every plan.

  • list_connector_types

    Every destination submissions can be routed to, with the config fields each needs and which plan it requires.

  • list_connectors

    Connectors on a form with their status and last error.

  • add_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.

  • test_connector

    Send a test delivery through a connector and report the result.

  • set_connector_active

    No description given.

  • remove_connector

    No description given.

  • publish_hosted_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.

  • unpublish_hosted_page

    No description given.

  • 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.

  • get_submission

    One submission with spam signals and delivery history.

  • label_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.

  • delete_submissions

    Permanently delete submissions (and their files).

  • export_submissions

    All of a form's submissions (up to 2,000) as CSV text, optionally filtered by status.

How to connect

Add the server to your MCP client config. Claude Desktop, Cursor and most other clients read this shape:

{
  "mcpServers": {
    "shipmyform": {
      "type": "http",
      "url": "https://shipmyform.com/api/mcp"
    }
  }
}

Each line is something a program found when it went looking: the registry entry, the server's own answer, a spec that parses. A missing line means we did not find it, not that it does not exist.