What is BriefGate?
BriefGate is a client intake platform for AI coding agents.
An AI agent asks for the files, information, structured answers and credentials a project needs. BriefGate handles the person on the other end — the email, the portal, the reminders, the validation — and returns the answers to the agent as machine-readable data.
The problem
An AI coding agent can build a website in an afternoon, then stall for two weeks.
Not because the code is hard. Because the logo is in someone's Dropbox, the opening hours are in someone's head, and the WordPress password is in an email nobody wants to forward. The agent has no way to ask a non-technical client for any of it, no way to chase them when they forget, and no way to tell whether what came back is usable.
That gap is the whole product. Everything below exists to close it.
How it works
1. The agent declares what it needs.
Through the MCP tool define_intake, or POST /v1/intakes over REST. Each item
has a key the agent will read it back by, a label the client will read, a type,
and optional constraints:
{
"project_name": "Bella Cucina website",
"client": { "email": "[email protected]", "name": "Marek", "language": "cs" },
"items": [
{ "key": "logo", "type": "image", "label": "Company logo",
"constraints": { "formats": ["svg", "png"], "min_width": 512 } },
{ "key": "opening_hours", "type": "structured", "label": "Opening hours",
"schema": { "type": "object", "properties": {
"mon_fri": { "type": "string" }, "sat": { "type": "string" } } } },
{ "key": "wp_admin", "type": "secret", "label": "WordPress admin access" }
]
}2. The client gets a portal, not a form to figure out.
An email with a magic link. One click opens a branded page in their own language, listing what is still needed and what is already done. No account, no password, no registration. The session lasts 14 days, so they can start on a phone and finish on a laptop.
The portal never mentions agents, MCP or APIs. As far as the client is concerned, someone building their website needs six things from them.
3. BriefGate chases them.
On a schedule the agent chose, respecting quiet hours, stopping the moment an item arrives and stopping permanently if the address bounces. After the last reminder the intake is marked stalled and handed back, rather than nagging forever.
4. The agent gets typed data back.
A webhook fires, or the agent calls get_intake_results:
{
"intake_id": "in_01J9Z8X",
"status": "completed",
"progress": { "submitted": 3, "total": 3 },
"missing": [],
"results": {
"logo": { "url": "https://…", "filename": "logo.svg", "checksum_sha256": "…" },
"opening_hours": { "mon_fri": "11:00–22:00", "sat": "12:00–23:00" },
"wp_admin": { "value": "…", "one_time": true }
}
}File URLs with checksums. Structured objects, validated against the schema the
agent declared. Secrets released once, to an API key carrying the right scope,
with the reveal written to an audit log. And missing, naming anything still
outstanding, so the agent can decide whether it has enough to keep going.
5. The agent continues building.
Who it is for
- AI coding agents — Claude Code, Cursor, Codex, Windsurf, or any MCP-compatible client. Every MCP tool has a REST equivalent, so a custom agent loop in any language works too.
- Web agencies running several client projects at once, where chasing is a systemic cost rather than an annoyance.
- Freelance developers who would rather not be the person sending the fourth "just following up on the logo" email.
- Anyone whose delivery stalls waiting on assets, content or credentials.
How it differs from a form builder
A form builder is designed for a human to build a form and a human to read the answers. Both ends are people.
In BriefGate the agent is the one declaring the requirement and the one
consuming the result. That is why the items are typed, why the response is typed
JSON rather than a spreadsheet export, why there is a missing array, why
repeated calls are idempotent, and why webhooks exist. The human-facing half is
deliberately the smaller half: the client sees a page asking for six things, and
nothing about how it got there.
It also collects credentials, which a form builder should not be asked to do.
A secret item is encrypted on receipt, released once, and never rendered on
any screen — see Security.
What it does not do
It is not a CRM, a project manager, an invoicing tool or a contract system. It does one thing: get the missing information from a person to an agent. Anything else on that list would make it worse at that.
Start here
- Quickstart — a working intake in five minutes
- MCP tools — every tool, argument and response
- REST API — the same surface without MCP
- Client portal — what your client actually sees
- Security — including what BriefGate is not