What it does
Describe what you need in your AI chat; it builds it in your project.
Connect Claude, ChatGPT, Cursor or any assistant that speaks MCP (the Model Context Protocol) to one of your projects. Then say what you need — “a booking system with rooms, guests and payments” — and it looks at the models you have, plans new ones with you, and builds them in that project once you say go. Your own AI subscription does the thinking; MINT does the building, with the same checks as the model builder.
It can also answer questions about your records — “which clients haven’t paid this month?” — if you let it.
Project keys
Build → Connect AI. Making keys needs the AI keys permission.
Press New key, name it after where it’ll be used (“Claude on my laptop”) and choose:
| Option | Means |
|---|---|
| Can build | On: it can create and change models and pages. Off: it can only look at your models and check plans. |
| Can read records | It can read records to answer questions — only pages you can view, never changing anything. |
| Can publish | It can put drafts and your site live — only when you ask it to, and only where your role has Publish. Off (the default): it writes drafts and you publish them yourself. |
| May publish (website projects) | It may put the site live when you ask. Off by default: it builds drafts and you publish. Make this key from the site builder’s AI menu. |
| Expires | Never, or in 7, 30, 90 days or a year. |
- A key belongs to one project and acts as you: it can never do more than your role allows, and stops working if you leave the organization or lose access to the project.
- The key is shown once. Copy it straight into your assistant; if it’s lost, revoke it and make another.
- Revoke stops it at once. The list shows each key’s scope, who made it and when it was last used.
Connecting your assistant
The Connect AI page shows these steps with your key already filled in.
| Assistant | How |
|---|---|
| Claude (claude.ai, Desktop) | Settings → Connectors → Add custom connector. Paste the connector URL (it ends in your key), leave OAuth empty, and switch it on in a chat. |
| ChatGPT | Settings → Apps & Connectors → Advanced → Developer mode on. Create a connector with the URL, no authentication, then pick it under “+” in a chat. |
| Claude Code | One command in a terminal (below). |
| Cursor | Add the server to its MCP settings (below); the tools appear in Agent mode. |
| Others | Any client that speaks Streamable HTTP, with the key as a Bearer header — or at the end of the URL. |
The address, for this MINT:
https://mint-c5e1255519fc.herokuapp.com/tenant/mcp
# or, for assistants that only take a URL:
https://mint-c5e1255519fc.herokuapp.com/tenant/mcp/<your key>claude mcp add --transport http mint https://mint-c5e1255519fc.herokuapp.com/tenant/mcp --header "Authorization: Bearer <your key>"{
"mcpServers": {
"mint": {
"url": "https://mint-c5e1255519fc.herokuapp.com/tenant/mcp",
"headers": {
"Authorization": "Bearer <your key>"
}
}
}
}localhost.What to ask
Talk about the business, not the database.
- “I run a dental clinic. I need patients, appointments with a dentist and a time, and invoices for each visit.”
- “Add a loyalty points field to customers, and show their orders as a tab on their page.”
- “On the orders table, show the code, customer, total and status, newest first.”
- “How many bookings did we have last month, by room?” (with Can read records on)
- “Write three blog posts about our spring menu as drafts.” · “Rewrite the home page’s hero and questions for families.” · “Suggest a better title and description for the About page.”
It goes one step at a time: it proposes the models and their fields, links and tabs, waits for your changes, and only builds when you agree. Everything it makes shows up straight away — in the sidebar, under Models → Features, and in Pages for fine-tuning by hand.
What the AI can do
| Tool | What it’s for |
|---|---|
| describe_platform | Learn the field kinds and rules for models here. |
| list_models · get_model | See your project’s models, fields, pages and links. |
| list_sidebar_categories | See where new pages can go. |
| plan_feature | Check a plan exactly as the build would. Changes nothing. |
| build_feature | Build an agreed plan — models, fields, links, tabs, sidebar — all or nothing. |
| update_page | Change a page’s columns, the buttons in each row’s ⋯ menu (a “Download receipt” only on paid bills, say), form, detail page, add button or Linked Relationships — rules that update the records a page picks when it’s saved. |
| query_records | Read records to answer a question (keys with Can read records). |
| get_dashboard · update_dashboard | Read and change the dashboard’s widgets. |
| create_records | Add records — or update them, matched by a field — checked like the form, all or nothing. |
| set_public_api | Turn a model’s public API on or off. |
| list_endpoints · generate_endpoints · save_endpoint | See, generate and change your API’s endpoints — who can call each, its rules and fields. |
| get_api_logs | Read the calls made to your API (last 7 days) — find why one fails. |
| list_automations · save_automation · test_automation | See, make and change automations — when they run, their conditions, and what they do (notify, email, webhook, update or add a record) — and try one on a record without sending anything. |
| get_automation_runs · delete_automation | Read what automations did and why one failed; delete one when you ask. |
| list_email_designs · save_email_design · send_test_email_design | See and change how the project’s emails look — header, logo, colours, footer — make one the default, and send you a sample. Changing them needs Manage projects. |
| upload_media | Put an image into your Media library and get its address — with its alt text and caption. |
| list_content_types · get_entry · save_entry_draft | Your content (models with Drafts and publishing, single types): what isn’t live yet, one entry’s draft and what’s published, and writing drafts — never live until published. |
| publish_entry | Publish entries, or take them off — now, or at a time you give (“publish it on Monday at 9”) — only when you ask, with a key that Can publish and your Publish right. |
| get_page_contents · fill_page · suggest_seo | Website projects: read a page’s contents, write them from your brief as drafts, and gather a page’s words to write its SEO title and description. |
| site_builder_guide · get_site_builder · start_from_theme · set_site_design · set_site_contents · save_site_page · check_site · publish_site | Website projects: build the site in the site builder — a theme’s demo to start from, the words in Contents, lists as models with their public API on, pages with SEO — see Build with your own AI. Also prompts: “Build my site” and “Add a list to my site”. |
| describe_website · get_site · update_site_settings · upsert_page · site_snippets | Website projects: build a site that’s managed from here — see Build your site with AI. |
Staying in control
- The AI is told to plan with you and never build without a clear yes; Claude and ChatGPT also ask before any tool that writes.
- A build is all or nothing: if any part fails, nothing is left half made.
- It can’t delete models, records or pages (a website block it drops is archived, not deleted), and it only ever works in the key’s project.
- Everything it builds is yours to change or remove in Models and Pages.
- Content it writes stays a draft: the site and API don’t change until it’s published — by you, or by the AI when you ask and its key Can publish.
Troubleshooting
| Message or symptom | Why, and what to do |
|---|---|
| “This API key was revoked or doesn’t exist” | Make a new key and update the connector. |
| “This key’s project is archived” | Restore the project on Projects. |
| “The person who made this key no longer has access” | Whoever made it left the organization. Make a new key. |
| It can look but not build | The key’s Can build is off, or your role lacks Build. |
| ChatGPT or claude.ai can’t connect | They need MINT’s public https address, and the URL must end in the key. |