Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
0c3b11a
feat(coderd): add MCP ACL candidates endpoint
ibetitsmike Aug 25, 2026
fc5da1a
feat(site): add MCP server ACL sharing plumbing
ibetitsmike Aug 25, 2026
661b361
feat(site): add MCP server sharing dialog
ibetitsmike Aug 25, 2026
ab5d87e
feat(site): wire MCP server sharing controls
ibetitsmike Aug 25, 2026
8233626
test(site): stabilize MCP share access story
ibetitsmike Aug 25, 2026
52a7ecb
refactor(site): narrow MCP permission query keys
ibetitsmike Aug 25, 2026
5f4a1ed
refactor(site): reuse typed query keys in MCP ACL queries
ibetitsmike Aug 25, 2026
82b68dc
fix(site): surface AI settings navigation for MCP share-only users
ibetitsmike Aug 25, 2026
115f978
test(site): cover share-only MCP navigation with interaction stories
ibetitsmike Aug 25, 2026
ff0a96b
fix(coderd): keep share-only MCP detail route contract
ibetitsmike Aug 25, 2026
220826f
fix(site): surface MCP permission lookup failure in AI settings redirect
ibetitsmike Aug 25, 2026
15e5b07
refactor(site): share ACL dialog implementation
ibetitsmike Aug 25, 2026
395e0ab
Merge remote-tracking branch 'origin/main' into mike/acl-sharing-a8yw
ibetitsmike Aug 26, 2026
3a04800
chore: tighten ACL sharing comments
ibetitsmike Aug 26, 2026
33c6eab
fix: align MCP sharing permissions
ibetitsmike Aug 26, 2026
ac1ba20
chore: merge main into MCP ACL sharing
ibetitsmike Aug 26, 2026
5795281
Merge remote-tracking branch 'origin/main' into mike/acl-sharing-a8yw
ibetitsmike Aug 26, 2026
58855aa
fix(coderd): limit ACL candidates route to v2
ibetitsmike Aug 26, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
chore: tighten ACL sharing comments
  • Loading branch information
ibetitsmike committed Aug 26, 2026
commit 3a048005293c856dd94f979de186def6c93493bb
5 changes: 1 addition & 4 deletions coderd/mcp_acl_available_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -146,10 +146,7 @@ func TestMCPServerConfigDisabledSharerFetch(t *testing.T) {
})
require.NoError(t, err)

// Delegated sharers hold read alongside share: share alone deliberately
// does not admit the detail route (enterprise share-only contract), but
// sharers with read keep access to disabled configs so they can still
// open them and manage sharing, matching the list behavior.
// The detail route requires read permission in addition to share.
fetched, err := sharerClient.MCPServerConfigByID(ctx, firstUser.OrganizationID, config.ID)
require.NoError(t, err)
require.Equal(t, config.ID, fetched.ID)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,8 @@ type UseCanShareOrganizationMCPServersOptions = {
enabled?: boolean;
};

// Discovers whether the user can share MCP servers in any organization so
// top-level navigation can admit share-only users who hold no site-wide MCP
// permissions.
// Top-level navigation must admit organization-scoped sharers without
// site-wide MCP permissions.
export const useCanShareOrganizationMCPServers = (
organizations: readonly Organization[],
options: UseCanShareOrganizationMCPServersOptions = {},
Expand Down
1 change: 0 additions & 1 deletion site/src/testHelpers/handlers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,6 @@ export const handlers = [
},
),

// MCP servers
http.get(
"/api/experimental/organizations/:organizationId/mcp-servers/:serverId/acl/available",
() => HttpResponse.json(M.MockMCPServerConfigACLAvailable),
Expand Down