Aleksandr Filippov
06/05/2026, 1:47 PMAuthorization: Bearer <token> or a custom header? If yes, where is this configured and how are secrets stored/rotated?
2. How exactly can we grant specific users or groups access to specific tools on a specific MCP server? Is the model limited to Low / Medium / High trust levels, or can we configure an exact user/group × tool permission matrix via UI, API, or policy?
3. For OAuth-protected upstream MCP servers, does every end user have to complete the upstream OAuth flow individually, or can Permit use admin/service-account credentials for all users? How are Permit-level permissions separated from upstream permissions?
4. When using Permit Cloud, which outbound IP addresses are used to call upstream MCP servers? We need to allowlist incoming connections on our side. Are these IPs static and region-specific?Ask Inkeep
06/05/2026, 1:47 PMAsk Inkeep
06/05/2026, 1:47 PM401 response indicating OAuth is required, the upstream OAuth step is skipped entirely .
The sources don't document a configuration option for static API tokens, service account credentials, or custom headers for non-OAuth upstream servers. The architecture shows that upstream OAuth tokens are stored in Redis when OAuth is required, but there's no mention of static token configuration .
2. Granular User/Tool Permissions
The permission model is based on the *Low / Medium / High trust level system* (2) (1) . Tools are auto-classified into these trust levels based on naming patterns during import (2) :
• *Low trust* — read-only tools (default for tools not matching medium or high patterns) (3)
• *Medium trust* — write operations (tools containing: create, write, update, set, modify, etc.)
• *High trust* — destructive operations (tools containing: delete, remove, destroy, drop, etc.)
Trust levels are hierarchical — higher levels inherit all permissions from lower levels .
The sources indicate that admins grant users access to specific MCP servers and set a per-user trust ceiling, and users then choose their agent's trust level during consent (up to that ceiling) (2) (1) . However, the sources don't document a way to create an exact user × tool permission matrix that grants access to individual tools outside of the trust level framework.
The gateway returns all tools in list_tools responses regardless of the agent's trust level, with authorization enforcement happening exclusively at call_tool time (3) .
3. Upstream OAuth Flow
For OAuth-protected upstream MCP servers, *every end user must complete the upstream OAuth flow individually* (1) . The consent flow shows:
1. The Consent Service probes the upstream server and receives a 401 indicating OAuth is required
2. The user is redirected to the upstream provider to authorize
3. The Consent Service exchanges the authorization code for tokens
4. The upstream tokens are stored securely and used for all future tool calls proxied through the gateway
The sources don't document an option to use admin or service-account credentials for all users. The architecture explicitly shows that upstream OAuth tokens are stored per-user session and used when proxying tool calls .
Permit-level permissions (the trust level system) are separate from upstream permissions — Permit enforces which tools an agent can call based on trust levels, while upstream OAuth handles authentication to the upstream service (3) (2) .
4. Outbound IP Addresses for Permit Cloud
The sources don't document static outbound IP addresses for the Permit Cloud hosted gateway deployment. The egress requirements table in the on-premises installation guide lists upstream MCP servers as a required destination, but this is in the context of customer-controlled deployments, not the hosted cloud service (4) Ask Inkeep
06/05/2026, 1:48 PMAsk Inkeep
06/05/2026, 1:50 PMOr Weis
06/05/2026, 2:37 PMOr Weis
06/05/2026, 2:42 PMOr Weis
06/05/2026, 2:42 PMAleksandr Filippov
06/05/2026, 3:27 PMAuthorization: Bearer <token>?
- Can it be sent as a custom header?
- Is it configured per MCP server or per Gateway host?
- Is it used both during import/tool discovery and during runtime tool calls?
- How is it stored and rotated?
3. For policies, I can see generated roles/actions in https://app.permit.io/policy-editor, including mcp_toolbox#low/medium/high and exact tool actions. Can we safely customize these generated policies, or can MCP Gateway sync/re-import overwrite them?
4. So we can implement a true user/group x MCP tool permission matrix, not just Low/Medium/High trust levels. right?
5. At runtime, does the Gateway check permissions as agent|client_id only? If so, how should we model per-human permissions so they apply correctly to ChatGPT agent calls?Or Weis
06/05/2026, 3:51 PM