BriefGate collects logos, copy and logins from your clients. Build the request in your browser — no AI agent needed — or let your AI coding agent build it for you.
Websites get built in days, then stall for weeks waiting on the client.
List what you need in the dashboard or through your agent,
and BriefGate sends the client a branded portal and chases them until everything arrives.
You download it all as one ZIP — or the agent calls get_intake_results() and keeps building.
Run BriefGate straight from the browser, or let your AI coding agent do the asking. Both create the same intake, send the same portal and run the same reminders.
Build the request from scratch, from a sample project or from a template. Send the link, watch items arrive, send anything that's off back for revision (Solo and up), and download everything as one ZIP. Keep clients in folders; on Agency, invite your team.
Claude Code, Cursor or Codex calls define_intake() over MCP or REST. A webhook fires when the client is done, and get_intake_results() returns typed data, file URLs and one-time secrets.
The agent declares what it needs, the client fills in the portal, and the results land back in the agent. No narration, no cuts.
You or your agent say what's needed. BriefGate does the chasing. Everything comes back in one place.
Pick the items in the dashboard — or Claude Code calls define_intake() with a typed list: logo, copy, credentials, structured data.
An email lands in the client's inbox with a magic link — no password, no account. A branded portal guides them through each item with in-place validation.
BriefGate reminds the client on whatever cadence you pick — the default 2, 5 and 9 days, every hour, or every morning at 7. Quiet hours apply unless you say otherwise, and every reminder lists only what is still missing. The "bad guy" is the robot, not you.
Download the results as one ZIP from the dashboard. Or a webhook fires on intake.completed, the agent calls get_intake_results() and gets typed data, signed file URLs, and decrypted credentials — ready to use.
# Agent defines what it needs define_intake({ project_name: "John Finance", client: { email: "john@example.com" }, items: [ { key: "logo", type: "image", constraints: { min_width: 512 } }, { key: "wp_admin", type: "secret" }, { key: "opening_hours", type: "structured", schema: { properties: { mon_fri: {type:"string"} } } } ] }) # → intake created, client emailed { intake_id: "in_8f3k", portal_url: "https://p.briefgate.dev/8f3k", status: "sent" } # Later: webhook fires → agent retrieves get_intake_results("in_8f3k") # → logo url, typed opening hours, # one-time secret token ✓
BriefGate ships as an MCP server. Claude Code calls define_intake the same way it reads a file or calls an API. The full conversation context stays intact — no tab switching, no email threads to summarize later.
Every MCP tool maps to a REST endpoint too, so CI pipelines, other agents, and custom scripts all work without MCP.
Content Snare built a great human-first tool. BriefGate keeps the workflow simple for you and your client, and adds what agents need — typed schemas, a secrets vault, revision flows, and webhooks as first-class features.
Text, longtext, image, file, file_list, color_list, select, multiselect, boolean, url, structured (JSON Schema), and secret. The agent gets data it can use directly — not raw strings to parse from a PDF export.
Client's WordPress admin, Stripe keys, API tokens — encrypted at rest with a libsodium sealed box before they hit the database. One-time reveal via get_intake_results(). Never logged.
Default schedule: T+2d, T+5d, T+9d, then weekly — or any cadence you set, from five minutes up, including a fixed time of day. Quiet hours (8–19 local time). The reminder robot never mentions you — it's "Radim needs a few more items," not "I've emailed you three times."
Register item.submitted and intake.completed webhooks. When a logo is blurry, call request_revision() with a note — client is notified, resubmits, webhook fires again.
Agents can read the tier limits themselves: GET /pricing.json (no auth). No scraping the landing page. The API enforces the same numbers, so there's no drift.
On Solo, Studio, and Agency, the client sees your logo, your colors, your sender name. They never see "BriefGate." Magic link, no registration, mobile-first, in CZ/SK/PL/DE/ES/EN.
Start from a sample project or a built-in template, tweak the items, and save the list as your own template for the next client (Solo and up). An agent can pass the same template to define_intake.
Keep every client project in folders. On Agency, three people share one account — the owner manages who is invited, and each extra seat is $15/mo.
Free tier handles one real project — enough to see the value before you pay anything.
Annual billing saves 20%. Code AGENT20: 20% off the first 3 months. Add-ons: extra 50 GB $5/mo · extra Agency seat $15/mo
POST /v1/intakes from any language, CI pipeline, or agent framework. Cursor, Codex, and custom agent loops all work over REST without the MCP server.get_intake_results with an API key carrying the secrets:read scope; it is released once, the reveal is written to the audit log, and a later read returns the time of the reveal instead of the value. Secrets expire after 30 days. Available on Solo, Studio, and Agency. See Security.Idempotency-Key header. Over MCP, the client derives a stable key from the project name, client email and item list automatically — there is nothing to set. BriefGate deduplicates on that key: a retry returns the original response without creating a second intake or sending a second email. Rate limits also protect against runaway agent loops.Practical, tool-agnostic guides for agencies and freelancers: what to ask for, how to ask, and what to do when nothing arrives.
Create an account, build your first request in the browser or point your agent at the MCP server, and send it in a few minutes. The free plan needs no card and covers a real project.