The visibility setting
A project’s visibility lives atsettings.mcp.visibility and takes one of two values:
The setting applies only to the production endpoint. The draft endpoint always requires authentication, even on public projects.
When to use each
Stay private for:- MCP Apps that ship to specific customers or partners (per-token auth).
- MCP Apps embedded in your own product via the Assistant SDK (your backend mints tokens).
- Anything you’d otherwise gate behind an API key.
- MCP Apps with a public Gallery/discoverable surface (e.g., a directory listing).
- Demos, sample apps, and tutorials where anyone should connect without an invitation.
- Open utility tools that don’t depend on per-user state.
How to flip the toggle
In Metabind Studio:- Click the gear icon at the top right (Project Settings), and choose General.
- In the Access section, click Change and pick Private or Public.
- In the confirmation dialog, click I understand the impact. For public → private (kill switch), the change is immediate.

Kill switch (disable-public)
If you need to cut a public project off the internet now — a security incident, abuse, an unexpected cost spike — flip it back to private. The action is atomic: the production endpoint stops accepting unauthenticated requests within seconds.
The same operation is available via API for automated runbooks:
settings.mcp.visibility = "private" atomically and returns {"data": {"visibility": "private"}}. Any organization Owner or Admin can call it.
Permissions
This is intentionally tighter than other publish actions — making a project public has organization-wide reputational implications, so it’s gated to Owners and Admins.
Audit trail
Metabind records every visibility change internally, with who made it, when, and the old and new values. There’s no customer-facing view or export of that record yet, so if your compliance process needs a history of visibility changes, keep one in your own change log.Public visibility and tokens
When a project is public:- Tools listed via
tools/listare visible without auth. - Tools called via
tools/callexecute without auth (subject to project rate limits). - Per-token rate limits still apply for any caller that does authenticate.
- The execution history records each call’s authentication type:
publicfor anonymous calls.
- All requests must include
Authorization: Bearer <token>. - Rate limits are scoped per token.
- The execution history records each call’s authentication type and, for API keys, which key made it.
Visibility and the Assistant SDK
The Assistant SDK always uses an authenticated path — your backend mints a per-user Metabind token — so visibility doesn’t affect the SDK directly. Public visibility primarily matters for connected MCP hosts and direct REST/MCP client connections.Fast cutover playbook
If you discover an active issue on a public project:- Hit the kill switch.
POST .../mcp/disable-publicfrom your runbook (or click the toggle in Metabind Studio). - Confirm the change took effect. An unauthenticated request to the production URL should now return
401. - Investigate. Open Analytics → Recent Executions in Metabind Studio to see which calls came through during the public window. Anonymous calls show the authentication type
public. Execution history is available on the Developer plan and up. - Re-enable cautiously. Once the underlying issue is resolved, decide whether to re-enable public visibility or keep the project private going forward.
Related
Project setup
Where the visibility setting first appears during project creation.
Custom MCP hosts
How clients authenticate to public and private projects.
Rate limiting
Per-token and per-project ceilings, public or private.
Team management
Who can change visibility.