Repository navigation
MCP individual permission controls unresponsive despite canConfigure: true #18443
Replies: 1 comment
|
In the current source the per-action control can't be blocked on its own. The per-row Off / Ask first / Allowed buttons and the "Set all" dropdown are disabled by the same flag, the page's save-in-progress state, and while it's set the section header shows "Saving…". So the not-allowed cursor means a save is running (normally the one your click just started), and the real question is why that save doesn't stick. The response to that request will name the cause, and you can set one action through the API in the meantime (below). I checked v2026.1106.0 (the latest tag) and v2026.1023.0 (the latest on the day you posted).
I ran the component in vitest with 32 Read and 8 Write actions, all Off. When idle, "Get Entity State: Ask first" is enabled, and clicking it calls the setter once with What the click sends: one
Workaround: set one action through the API. Run this in the browser console on the Paperclip tab, so your session cookie and Origin are used: const connectionId = location.pathname.match(/\/apps\/([0-9a-f-]{36})/)[1];
const { companyId } = await (await fetch(`/api/tool-connections/${connectionId}`)).json();
const { catalog } = await (await fetch(`/api/tool-connections/${connectionId}/catalog`)).json();
const action = catalog.find((e) => (e.title ?? e.toolName) === "Get Entity State");
console.log(action.id, action.status, action.isReadOnly); // expect "active", true
const res = await fetch(`/api/companies/${companyId}/tools/apps/${connectionId}/finish`, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
preserveExistingAccess: true,
enabledCatalogEntryIds: [action.id],
askFirstCatalogEntryIds: [action.id],
access: { agentIds: [] },
}),
});
console.log(res.status, await res.json());
Auth and validation for that route (route, schema):
If this call also fails, its error text is what is blocking the UI. I found no existing issue, PR or discussion for this. |
Uh oh!
There was an error while loading. Please reload this page.
Bug report — MCP permission controls not working
I'm requesting help from the Paperclip maintainers with an issue preventing me from configuring individual MCP action permissions.
What happens
I have an installed Home Assistant MCP connection in Paperclip, with 40 discovered actions (32 Read and 8 Write).
All actions currently show Off.
When I try to change the individual Get Entity State action from Off to Ask first, nothing happens. The permission remains Off, and a prohibited cursor appears.
This happens in both Brave and Microsoft Edge.
Expected behaviour
I should be able to change one individual MCP action to Ask first, without enabling all 32 Read actions or any Write actions.
What has already been verified
capabilities.canConfigure: true.Technical investigation
The following frontend files were examined:
PermissionsPanel.tsxAppDetail.tsxindex-YJY9oyby.jsIsolated component and mocked save tests passed, but the reported behaviour has not been reproduced in an automated browser environment.
A separate reproduction package has been prepared containing source hashes, test evidence, a mocked browser harness and disposable-database instructions.
The exact cause remains unknown.
Help requested
Could a Paperclip maintainer please investigate why individual MCP permission controls are unresponsive even when the API reports
canConfigure: true?I need to enable specific read-only actions while leaving all write actions disabled.
I would appreciate guidance on a verified fix rather than further speculative troubleshooting.
No production permissions, deployment settings or credentials have been changed as part of this investigation.
All reactions