Skip to main content

Access Control Usage

When using the Gateway SDK, Access Control is applied automatically to all agent traffic. Configure role-based permissions from the dashboard below.

Access Control supports both tool-call and data-source controls, which can be configured in the dashboard with an admin account. On the Access Control tab, use the left sidebar to navigate between the Monitor and Manage Rules pages.

Configure Access Control Rules

Access control rules can be configured under the Role Management page in the dashboard with an admin account. The screenshot below shows that the admin can add new roles and manage existing users and roles. The roles can be imported from existing roles.

Access Control Manage Rules page

The admin can then configure the access for each role — i.e., which tools and data sources each user group can access.

Access Control group permissions

Access Control Monitor

The Access Control → Monitor page provides both high-level statistics and detailed activity logs of access checks and blocked attempts.

Access Control monitor page

The lower section lists individual access decisions. Clicking into a decision opens its details — the agent's raw observation, the attempted action, the explanation of why it was allowed or blocked, and the specific rule that was matched.

Access Control detail page

PDF Report Generation

Scan results can be exported as a detailed PDF report by clicking the Generate PDF Report button in the dashboard.


API Reference

All endpoints accept JWT (Authorization: Bearer <jwt>) or an API key (X-API-Key: <api_key>), except where noted.

Tool Permissions

Per-tool permissions let you allow, require approval for, or block individual tools on an MCP server.

GET /api/mcp-servers/{server_id}/tool-permissions

Get the current permission setting for every tool on the server.

Response:

{
"server_id": "mcp_def456",
"permissions": {
"create_lead": "allow",
"delete_lead": "block",
"update_lead": "approval"
}
}

PATCH /api/mcp-servers/{server_id}/tool-permissions

Update permissions for one or more tools. Unspecified tools are not changed.

Valid values: allow, approval, block.

Request:

{
"permissions": {
"delete_lead": "approval",
"export_contacts": "block"
}
}

Response:

{
"server_id": "mcp_def456",
"permissions": {
"create_lead": "allow",
"delete_lead": "approval",
"export_contacts": "block"
}
}

Access Control Logs

GET /api/access-control-logs

Retrieve access control decision logs. JWT only.

Non-admins always see only their own logs.

Query parameters:

ParameterTypeDefaultDescription
user_idstringFilter by user ID
start_datestringISO 8601 start datetime
end_datestringISO 8601 end datetime
limitint100Maximum entries to return (0 for no limit)
session_idstringFilter by session ID
server_idstringFilter by MCP server ID
gateway_idsstringFilter by gateway IDs (comma-separated)

Response:

{
"entries": [
{
"allowed": false,
"user_id": "usr_abc",
"user_role": "viewer",
"tool_id": "create_lead",
"tool_call_query": "create_lead(name='John Doe')",
"violations": ["Role 'viewer' does not have permission to call create_lead"],
"explanation": "User role does not permit this tool call.",
"session_id": "ses_abc123",
"gateway_id": "gw_xyz",
"server_id": "mcp_def456",
"server_name": "Salesforce MCP",
"auth_token_used": "present",
"timestamp": "2026-05-19T10:00:05Z"
}
],
"total": 1,
"timestamp": "2026-05-19T10:35:00Z"
}
FieldDescription
allowedWhether the tool call was permitted
user_roleComma-separated roles of the requesting user
tool_call_queryThe raw tool call that was evaluated
violationsRules that caused the decision
explanationHuman-readable explanation of the decision