MCP server

Connect Claude, ChatGPT, or any MCP client to your shop — setup per client, the consent screen, and managing connections.

Formtoro isn't only driven from the admin, it's a fully agentic platform.

Formtoro runs a hosted MCP (Model Context Protocol) server, so MCP-compatible AI clients — Claude, ChatGPT, your own agent — can work with your shop on your behalf: read your analytics, draft forms, and design branding. The client prompts you to sign in to Formtoro and approve the connection, so you stay in control.

Connections are managed in Settings → API and MCP Connections, alongside API keys.

The MCP server is part of the AI Insights plan. On other plans the page shows everything in a locked state with an upgrade banner — and if you ever downgrade, existing connections stay visible so you can still revoke them.

The server URL

The server speaks the streamable HTTP transport — connect to it as a remote HTTP server, not a local (stdio) one. The server URL is:

https://mcp.formtoro.com/mcp

You'll find the same URL, with a copy button, under Settings → API and MCP Connections → Connect a new client.

Connect a client

Claude Desktop

Formtoro connects as a remote server through Claude's connectors — no config file editing needed:

  1. Open Claude Desktop → Settings → Connectors.
  2. Choose Add custom connector.
  3. Paste the server URL and confirm.

Claude then walks you through the Formtoro sign-in and consent screen.

Claude Code (CLI)

Run this in your terminal — the --transport http flag is required, since without it Claude Code treats the server as a local (stdio) one and the connection fails:

claude mcp add --transport http formtoro https://mcp.formtoro.com/mcp

Then run /mcp inside Claude Code, select the MCP "formtoro", authenticate and approve the connection.

ChatGPT

Open ChatGPT → Settings → Connectors → Add custom MCP server, then paste the server URL.

Signing in and granting access

The first time a client connects, Formtoro asks which shop you're connecting — enter your .myshopify.com domain (pasting your admin URL or just the store handle works too). You then sign in through your Shopify account for that shop and land on a consent screen that names the exact client requesting access. Reading analytics is always part of a connection; everything beyond that is a checkbox you tick explicitly:

  • Form editing — create and edit form drafts.
  • Discounts — read your discount definitions.
  • Branding — read your themes and confirmed brand.
  • Branding editing — fork and edit themes and reusable styles.
  • Customer lifetime value — customer-level revenue data.

An unticked box is never granted, and a client can't widen its own access later — to change what a connection can do, disconnect it and connect again. These are the same permissions an API key carries; the scopes table spells out what each one covers.

Managing connections

Once approved, the connection appears under Settings → API and MCP Connections, showing when it was created and last used. Connections are per team member — you only see the ones you authorized — and you can Disconnect any of them at any time, which immediately revokes access. Disconnected clients move to a separate list for reference.

Connecting more than one store

Each connection is tied to exactly one shop — the one you pick during sign-in. If you run multiple stores, connect the server once per store.

In Claude Code, add the server under a different name for each store, then authenticate each one to its own shop:

claude mcp add --transport http formtoro-storea https://mcp.formtoro.com/mcp
claude mcp add --transport http formtoro-storeb https://mcp.formtoro.com/mcp

Naming the entries after your stores also keeps the assistant from mixing them up — both connections expose the same tools, so the server name is what tells it which store you mean.

Claude Desktop and ChatGPT identify a connector by its URL, so they hold one Formtoro connection at a time. To work with a different store there, disconnect the connector and add it again, signing in to the other shop.

What a connected client can do

A connected assistant gets the same tool surface Luigi uses in-app, so it can work with your shop end to end:

  • Learn your building blocks. list_node_types and list_targeting_options teach it Formtoro's form vocabulary; list_themes, get_theme, and get_shop_brand give it your brand and themes so what it builds looks like yours.
  • Author forms — always as drafts. create_form builds a new form from a high-level blueprint (or a full schema), get_form + update_form edit an existing one, and validate_form_schema, get_form_issues, and check_publish_readiness let it check its own work — the same issue checks the builder's issues panel runs. Nothing an AI client writes goes live: you review the draft in the builder and press Save version yourself.
  • Design reusable branding (with Branding editing approved): fork and update themes, create and update shared style classes.
  • Read discounts (list_discounts) so a form it builds can reference a real discount.
  • Answer analytics questions. Over thirty read tools cover funnels, step drop-off, trends, attribution, revenue by UTM, ad spend, discount performance, A/B experiment results, subscriber breakdowns, customer cohorts and lifetime value, and more.

The server also ships ready-made prompts your client can surface — like author_popup, daily_executive_summary, conversion_audit, and experiment_readout — that walk the model through a full task with the right tools.

Next steps

  • API keys — scoped keys for scripts, BI tools, and integrations that aren't MCP clients.
  • Luigi, your AI assistant — the in-app version of the same capabilities.
  • Settings & team — roles and permissions, which bound what you can grant.