Connect over MCP
Connect over MCP
Formcarry’s MCP does everything you would do in the dashboard for your forms and submissions: create a form, set its recipients, spam blocker and webhooks, list and search submissions, mark spam, and read where each submission was delivered. Lovable connects to it as a chat connector, so it manages the form it built instead of only writing the front end.
Prerequisites
Before you start, you need:- A formcarry account. Sign up is free.
- A form in the dashboard. Its endpoint is on the form’s Setup page. The examples use
https://formcarry.com/s/AbC123xyz; put yours in its place. - The form’s name and id from its page in the dashboard, for the prompt.
1. Provide the instructions
In Build mode (the default), paste this into the chat field at the bottom of the panel on the left:2. Check what it changed
Lovable’s reply says what changed, and Details lists every step and file change. For a diff, open History in the top bar and click View code changes. The Code tab shows every file; on the free plan it is read only. With GitHub connected under Project settings > Git, the change is also a commit. In the diff, check five things:- The endpoint in the form’s
actionorfetchURL matches the form’s Setup page, otherwise formcarry answers401. method="POST"on the form, ormethod: "POST"in thefetchcall, otherwise the browser sends a GET and formcarry answers with a page that says GET is not allowed.- A
nameon every field, otherwise the browser leaves it out of the request and it never reaches formcarry. emailon the visitor’s address field, otherwise replying to the notification email goes nowhere and the auto response is not sent.Accept: application/jsonwhen it posts from JavaScript, otherwise the answer is the thank you page’s HTML.
3. Send a test submission
Submit the form once in the preview on the right, or type “test this” in the chat. Browser testing then fills the form in the preview, submits it and reads the network requests. The submission is on the form’s page in the dashboard, and the notification email arrives at your account’s address. Wait 15 seconds before a second test rather than sending it at once, otherwise the same IP address gets a429 for that form.
Publish (top right) deploys a snapshot, so a change made after publishing goes live on the next publish.
Where the request runs
Lovable writes edge functions for work it decides cannot happen in the browser, such as calling other services, and for any API with a key. The formcarry endpoint needs no key, so the app calls it directly, with no edge function. If the request lands in an edge function or on a server anyway, ask Lovable to move it into the browser rather than accepting the edge function, otherwise no spam blocker token can be sent:What’s next
- What every form needs: field names, hidden inputs, limits and the answers.
- Spam protection: add a challenge once the form is live.
- Connect over MCP: let the tool manage the form, not only write it.