Add MCP setup screen (#22468)

## Summary

- Add a first-tab MCP setup experience under MCP & APIs with quick
install cards, manual configuration, client logos, and HTTPS gating for
Claude install links.
- Rename API/Webhooks settings surfaces to MCP & APIs and update related
icons, permissions, breadcrumbs, and command menu entries.
- Add the Tabler sparkle-2 icon wrapper and MCP setup visual assets.

## Screenshots

| Before | After |
| --- | --- |
| ![Before: APIs & Webhooks MCP
tab](https://gist.githubusercontent.com/Bonapara/f8a97d31fbc3cab2771d18cbacd53d4c/raw/5838d123bc3aae3df0d37507b3e69135bec86444/before-mcp-settings.png)
| <img alt="image"
src="https://github.com/user-attachments/assets/a6ae2ae6-322b-4370-b9b6-0a3d73ff7fa7"
/> |

<!-- This is an auto-generated description by cubic. -->
<a
href="https://cubic.dev/pr/twentyhq/twenty/pull/22468?utm_source=github"
target="_blank" rel="noopener noreferrer"
data-no-image-dialog="true"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"><source
media="(prefers-color-scheme: light)"
srcset="https://www.cubic.dev/buttons/review-in-cubic-light.svg"><img
alt="Review in cubic"
src="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"></picture></a>
<!-- End of auto-generated description by cubic. -->

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
Thomas des Francs
2026-07-04 16:38:59 +02:00
committed by GitHub
parent cfe0fc7ce6
commit 1a60d4eaa3
66 changed files with 1304 additions and 178 deletions
@@ -16,7 +16,7 @@ import { useIsFeatureEnabled } from '@/workspace/hooks/useIsFeatureEnabled';
import { t } from '@lingui/core/macro';
import { isNonEmptyString } from '@sniptt/guards';
import {
IconApi,
IconApps,
IconAt,
IconCalendarEvent,
IconColorSwatch,
@@ -148,9 +148,9 @@ const useSettingsNavigationItems = (): SettingsNavigationSection[] => {
!isBillingEnabled || !permissionMap[PermissionFlagType.WORKSPACE],
},
{
label: t`APIs & Webhooks`,
label: t`MCP & APIs`,
path: SettingsPath.ApiWebhooks,
Icon: IconApi,
Icon: IconPlug,
isHidden: !permissionMap[PermissionFlagType.API_KEYS_AND_WEBHOOKS],
},
// TODO: Re-enable when integrations page is ready
@@ -163,7 +163,7 @@ const useSettingsNavigationItems = (): SettingsNavigationSection[] => {
{
label: t`Apps`,
path: SettingsPath.Applications,
Icon: IconPlug,
Icon: IconApps,
isHidden: !permissionMap[PermissionFlagType.APPLICATIONS],
},
{