Tools and permissions
What each connection can do in the v5 release.
These are the tools currently available. Use the names below when writing an integration or extending the starter.
| Server | Tool | Scope | Available in |
|---|---|---|---|
| User | account_context | user:read | All 8 kits |
| User | projects_list | user:read | All 8 kits |
| User | projects_create | user:write | Both Convex kits, with explicit write consent |
| Admin | admin_users_list | admin:read | All 8 kits |
| Admin | admin_workspaces_list | admin:read | All 8 kits |
User permissions
A User MCP connection selects one workspace. Being an administrator doesn't widen that connection to other workspaces or add admin tools to it.
projects_create is an optional Convex tool. The user must approve write access, and their current workspace permissions must still allow project creation. Approval of read access alone doesn't allow a write.
The Supabase, Neon and D1 MCP servers expose read-only tools in v5. Add a permission-aware tool and its tests before using these kits for a write workflow.
Admin permissions
The Admin MCP lists users and workspaces. It doesn't change roles, impersonate users, run arbitrary queries or manage infrastructure credentials.
Every admin connection requires the application's current administrator role. Removing that role ends access even if the token hasn't expired yet.
OAuth support
The current implementation supports public clients, dynamic client registration, authorization code flow and PKCE S256. The registered callback and requested MCP resource must match exactly.
Client ID metadata documents and confidential clients are not supported in this release. A client that requires one of those methods needs an adapter change before it can connect.
Browser requests are allowed from the configured app origin, Claude and ChatGPT. Desktop and server clients without an Origin header are also supported. This allowlist doesn't mean every client integration has been tested.
Extending the tools
For Supabase, Neon and D1, start in apps/web/src/mcp/. The protocol and provider adapters are separated, and the tests cover consent, token reuse, expiry, revocation and permission changes.
For Convex, start in apps/database/convex/mcp/. The user and admin gateway components are separate, and tool handlers call the existing authenticated application functions.
Keep the authenticated user identity on the server. A tool argument such as userId or workspaceId is not proof of permission. Resolve the connection and current access before returning data or making a change.