AGENTS.md for Codex.
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. Codex connects to it in the desktop app, the CLI and the IDE extension, 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
To connect the form, paste this prompt with your form’s name and id in the placeholders:codex in its directory, in the IDE extension, or as a local project in the ChatGPT desktop app. Rules for every task go into AGENTS.md at the repository root, and /init creates one. Codex reads it before doing any work.
2. Check what it changed
In ChatGPT, the code is in Canvas. In Codex, it is in the diff: the CLI shows the diff as it appears, the IDE extension shows it beside a summary, and the desktop app shows it in its diff pane. Check the endpoint in the form’saction, method="POST", a name on every field and email on the address field. To check a plain HTML form, compare it with this one:
method="POST" the browser sends a GET and formcarry answers with a page that says GET is not allowed. A field without a name is not sent at all. email becomes the reply to address of the notification email and the recipient of the auto response.
When it posts from JavaScript, the endpoint is the fetch URL and the request also carries Accept: application/json:
Accept header the answer is the thank you page’s HTML, so there is no data.code to read.
If it wrote a server route instead, reply “post to formcarry from the browser”, otherwise no spam blocker token exists.
3. Send a test submission
Copy the code out of Canvas into your project and submit it from the browser there. OpenAI’s docs do not say whether a Canvas preview can reach an outside URL. With Codex, start the site yourself and submit from the browser. The submission is on the form’s page in the dashboard, and the notification email is in your inbox. WithAccept: application/json, a stored submission answers with:
429 that says “Wait 15 seconds before making another request”: 1 submission per 15 seconds per form per IP address.
What Codex cannot do
- Codex asks before using the internet, so approve its test submission or send one yourself. On your machine its test and yours come from one IP address, so wait 15 seconds between them, otherwise the second gets a
429. - Codex cloud blocks internet access during the agent phase by default, so a cloud task cannot send the test. Review the diff, open the pull request, and test after you pull.
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.