Summary
The hosted OAuth MCP endpoint can read tasks and execute integration checks, but create_comment fails with HTTP 403 Unable to verify permissions for the same signed-in organization administrator.
Reproduction
Tested 2026-08-14 against the recommended hosted endpoint:
https://mcp.trycomp.ai/mcp
- Complete MCP OAuth successfully.
- Call
get_tasks — succeeds.
- Call
run_check_for_task on an existing task/check — succeeds and returns a check run ID.
- Call
create_comment for that same task with a short plain-text comment.
Actual result:
{
"message": "Unable to verify permissions",
"error": "Forbidden",
"statusCode": 403
}
Expected: the comment is created using the OAuth user's organization permissions, or a specific Access denied response if the resolved role genuinely lacks comment:create.
Notes
The current main PermissionGuard has a dedicated request.isMcpOAuth branch intended to authorize from the roles resolved by HybridAuthGuard. The generic error above comes from the non-OAuth hasPermission exception path, so the hosted request may not be marked as MCP OAuth for this route, or the hosted API may not include the current OAuth permission path.
No organization, task, user, or comment identifiers are included here.
Summary
The hosted OAuth MCP endpoint can read tasks and execute integration checks, but
create_commentfails with HTTP 403Unable to verify permissionsfor the same signed-in organization administrator.Reproduction
Tested 2026-08-14 against the recommended hosted endpoint:
get_tasks— succeeds.run_check_for_taskon an existing task/check — succeeds and returns a check run ID.create_commentfor that same task with a short plain-text comment.Actual result:
{ "message": "Unable to verify permissions", "error": "Forbidden", "statusCode": 403 }Expected: the comment is created using the OAuth user's organization permissions, or a specific
Access deniedresponse if the resolved role genuinely lackscomment:create.Notes
The current
mainPermissionGuardhas a dedicatedrequest.isMcpOAuthbranch intended to authorize from the roles resolved byHybridAuthGuard. The generic error above comes from the non-OAuthhasPermissionexception path, so the hosted request may not be marked as MCP OAuth for this route, or the hosted API may not include the current OAuth permission path.No organization, task, user, or comment identifiers are included here.