Your coding agent asks the client for logos, copy and credentials; BriefGate chases them for you.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by BriefGate.
define_intakeCreate a new client intake β a branded portal where the client submits the assets you need. BriefGate sends the invite email and chases the client automatically until everything is collected.
get_intake_statusCheck which items are submitted, pending, or need revision. Includes the history of automated chase emails and when the client last opened the portal.
get_intake_resultsRetrieve typed submitted values. Files are signed URLs (valid 24 hours). **Secrets are one-time** β decrypted and returned on the first call only; store them before moving on.
request_revisionAsk the client to resubmit an item with a note explaining what is wrong.
send_chaseSend a manual reminder outside the automatic schedule. Use when a deadline is approaching or email attempts have failed.
list_intakesList all intakes across projects, optionally filtered by status, client email, folder, or a text search.
Stop your coding agent stalling on client logos, copy and credentials.

BriefGate is the first client intake tool built for AI agents. Your agent declares what it needs (define_intake), BriefGate generates a branded portal and chases the client automatically with email reminders, and your agent retrieves fully typed assets (get_intake_results) and keeps building.
Option 1 β sign in, nothing to copy:
login prints a short code and a URL, tries to open your browser to it, and waits (up to 10 minutes) for you to click Allow. On success it prints Signed in as <account> and exits; the key lands in ~/.briefgate/credentials.json (mode 0600) and the server picks it up automatically β no restart, nothing to paste into config. npx -y @briefgate/mcp logout removes it again and best-effort revokes it on the server too.
Prefer to sign in from inside the agent instead of a terminal? Skip the login command above and just ask Claude Code to "call the briefgate login tool" instead β same flow, one call at a time. See Sign in without an API key.
Prefer connecting straight to the hosted endpoint instead of running the package locally? claude mcp add --transport http briefgate https://mcp.briefgate.dev/mcp walks you through OAuth in the browser β see Hosted endpoint + OAuth below.
Option 2 β paste an API key (for CI, scripts, or if you'd rather manage the key yourself). Get one at briefgate.dev (free tier available, no card required):
Or add manually to ~/.claude/settings.json:
BRIEFGATE_API_KEY (or --api-key on the command line), if set, always takes precedence over a key login stored locally β running login while one is configured just says so instead of doing anything.
Verify it loaded β run /mcp in Claude Code and look for briefgate with 15 tools.
login / logout work the same way for any client that runs the package locally: register it with no key at all, then either run npx -y @briefgate/mcp login yourself or ask the agent to call the login tool.
Or paste an API key instead, add to your MCP config (usually .cursor/mcp.json or similar):
Two ways to get a key onto this machine without pasting one β both run the same device-authorization flow (RFC 8628) against the same credential file, so pick whichever fits how you're using the package.
From a terminal β the login / logout subcommands:
login blocks until you approve it (or it times out at 10 minutes), then prints Signed in as <account_name> and exits 0 β or prints why it didn't work (denied, expired, an error) and exits 1. logout always removes the local copy; it also sends DELETE /v1/keys/current using that same key to revoke it server-side, and if that call fails (no network, API unreachable) it says so and points at the BriefGate dashboard instead of leaving you unsure whether the key is still live.
From an agent β the login / logout tools (see Tools):
Same flow, for a client that can't block a terminal on your click. login is two-phase because a tool call can't sit open for minutes:
login again β any time, or once you've approved it β to check progress. While it's still waiting, it says so; once approved, that same call reports success and the key is saved. No restart needed: the very next tool call is signed in.logout as a tool does exactly what the subcommand does, including the best-effort remote revoke.
Either way, the key lands in ~/.briefgate/credentials.json (directory mode 0700, file mode 0600; override the path with BRIEFGATE_CREDENTIALS_FILE), keyed by which BriefGate server it's for so a staging BRIEFGATE_BASE_URL and production never collide. An explicit key always wins over a stored one β --api-key, then BRIEFGATE_API_KEY, then whatever login last saved β and login says so instead of running the flow when one of those is already set. Neither the subcommands nor the tools apply to the shared hosted endpoint (mcp.briefgate.dev) β see Hosted endpoint + OAuth, where connecting a client triggers real OAuth instead.
| Variable | Required | Default | Description |
|---|---|---|---|
BRIEFGATE_API_KEY | No | β | API key (bg_live_... or bg_test_...). Takes precedence over a credential stored by login. If nothing is configured, tool calls fail with a message pointing at login. |
BRIEFGATE_BASE_URL | No | https://api.briefgate.dev | Override for staging or local development. |
BRIEFGATE_CREDENTIALS_FILE | No | ~/.briefgate/credentials.json | Where login/logout store the key. Mainly for tests and unusual setups. |
BRIEFGATE_NO_BROWSER | No | unset | Set to 1 to stop login from opening a browser (headless servers, CI); the URL is printed either way. |
BRIEFGATE_MCP_HTTP | No | β | Set to 1 to start Streamable HTTP instead of stdio. |
BRIEFGATE_MCP_PORT | No | 3000 | Port for HTTP mode. |
BRIEFGATE_MCP_PUBLIC_HOST | No | β | Publishes the server as a shared, multi-customer OAuth endpoint. See Hosted endpoint + OAuth. |
BRIEFGATE_MCP_AUTH_SERVER | No | BRIEFGATE_BASE_URL | The OAuth authorization server advertised to clients in published mode. Defaults to BRIEFGATE_BASE_URL for local dev, where they're usually the same address; a real deployment behind a container network sets this explicitly (see below). |
--api-key bg_live_... is also accepted on the command line, ahead of BRIEFGATE_API_KEY in priority. login and logout are also accepted as the first command-line argument (npx @briefgate/mcp login), instead of --http/no flag.
For remote or multi-session deployments, start the server in HTTP mode:
The server binds to 127.0.0.1 only and includes DNS-rebinding protection. Behind a reverse proxy, terminate TLS there and forward to the local port β do not expose the port directly.
Set BRIEFGATE_MCP_PUBLIC_HOST to the hostname the server is published under and
it becomes a shared, multi-customer endpoint: each caller sends its own key as
Authorization: Bearer bg_live_... (an OAuth access token, for this API, is
that same key β see below), and the server speaks to the BriefGate API as that
caller. The public instance is https://mcp.briefgate.dev/mcp.
Several things change, on purpose:
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/briefgate)<a href="https://allmcps.com/mcp/briefgate"><img src="https://allmcps.com/api/badge/briefgate?style=directory" alt="BriefGate on AllMCPs" /></a>