Skip to content

Let members manage their own scoped MCP connections - #77

Merged
shuv1337 merged 2 commits into
v2from
cursor/member-mcp-connections-8b55
Nov 5, 2026
Merged

shuv1337 merged 2 commits into
v2from
cursor/member-mcp-connections-8b55

Conversation

@shuv1337

@shuv1337 shuv1337 commented Nov 5, 2026 •

Copy link
Copy Markdown
Owner

Organization members can list, create, update, and revoke their own scoped MCP connections, and mint and revoke keys on those connections. A member's API key previously received 403 OrganizationForbidden unless that member was an admin.

An Executor app self-call uses the member's managed full-authority key. The host now binds the MCP connection that invoked the call onto that request. Create, update, and mint stay inside that connection's apps, tools, events, and runsAs accounts, so a scoped connection cannot create an all-apps connection or mint a key for a wider connection. A narrowed connection that does not grant every tool of its apps has no manage authority and is refused with 403. A full connection can still create a narrower Mesh-style connection and mint a key on it. runsAs accepts a personal account the member owns; a group-shared account is refused. Another member's connections stay unreachable. Audit lines for connection changes and key mint or revoke include the caller kind and, for a self-call, the calling connection.

mcp-connections.spec.ts
connection-api-keys.spec.ts
connection-keys.spec.ts
Open in Web Open in Cursor 

cursoragent and others added 2 commits November 5, 2026 04:02
A member's API key was refused with OrganizationForbidden on mcpConnections create and list unless the member was an admin. Members can now list, create, update, and revoke their own connections, and mint and revoke keys on them. Apps and accounts stay limited to what that member can use, and another member's connections stay unreachable.

Co-authored-by: shuv <shuv1337@users.noreply.github.com>
The app's self-call uses the member's full key. The host now binds the calling MCP connection to that request, and create, update, and mint stay inside that connection's apps, tools, and runsAs accounts. A narrowed connection without manage is refused. runsAs accepts only a personal account the member owns.

Co-authored-by: shuv <shuv1337@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants