update_branding
Modify workspace branding elements like name, logo, colors, and tagline to customize client-facing appearance and hide platform badges.
Instructions
Update the workspace's whitelabel branding configuration. Set any combination of branding fields. Pass null or empty string to clear a field.
Fields:
displayName: Brand name shown to clients (e.g., "Acme Corp")
logoUrl: URL to brand logo image
tagline: Short tagline under the brand name
primaryColor: Hex color for light mode (e.g., "#6366f1")
primaryColorDark: Hex color for dark mode (e.g., "#818cf8")
faviconUrl: URL to custom favicon
hideBadge: Boolean — hide the "Built with Agentled" badge (requires teams/enterprise plan)
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| displayName | No | Brand name shown to clients | |
| logoUrl | No | URL to brand logo image | |
| tagline | No | Short tagline under the brand name | |
| primaryColor | No | Hex color for light mode (e.g., "#6366f1") | |
| primaryColorDark | No | Hex color for dark mode (e.g., "#818cf8") | |
| faviconUrl | No | URL to custom favicon | |
| hideBadge | No | Hide "Built with Agentled" badge (requires teams/enterprise plan) |
Implementation Reference
- src/tools/branding.ts:51-70 (handler)The tool handler for update_branding, which extracts arguments and calls the client implementation.
async (args, extra) => { const client = clientFactory(extra); // Only send fields that were actually provided const branding: Record<string, any> = {}; if (args.displayName !== undefined) branding.displayName = args.displayName; if (args.logoUrl !== undefined) branding.logoUrl = args.logoUrl; if (args.tagline !== undefined) branding.tagline = args.tagline; if (args.primaryColor !== undefined) branding.primaryColor = args.primaryColor; if (args.primaryColorDark !== undefined) branding.primaryColorDark = args.primaryColorDark; if (args.faviconUrl !== undefined) branding.faviconUrl = args.faviconUrl; if (args.hideBadge !== undefined) branding.hideBadge = args.hideBadge; const result = await client.updateBranding(branding); return { content: [{ type: 'text' as const, text: JSON.stringify(result, null, 2), }], }; } - src/tools/branding.ts:42-50 (schema)Zod schema defining the input arguments for the update_branding tool.
{ displayName: z.string().optional().describe('Brand name shown to clients'), logoUrl: z.string().optional().describe('URL to brand logo image'), tagline: z.string().optional().describe('Short tagline under the brand name'), primaryColor: z.string().optional().describe('Hex color for light mode (e.g., "#6366f1")'), primaryColorDark: z.string().optional().describe('Hex color for dark mode (e.g., "#818cf8")'), faviconUrl: z.string().optional().describe('URL to custom favicon'), hideBadge: z.boolean().optional().describe('Hide "Built with Agentled" badge (requires teams/enterprise plan)'), }, - src/tools/branding.ts:29-71 (registration)Registration of the update_branding tool using the McpServer.
server.tool( 'update_branding', `Update the workspace's whitelabel branding configuration. Set any combination of branding fields. Pass null or empty string to clear a field. Fields: - displayName: Brand name shown to clients (e.g., "Acme Corp") - logoUrl: URL to brand logo image - tagline: Short tagline under the brand name - primaryColor: Hex color for light mode (e.g., "#6366f1") - primaryColorDark: Hex color for dark mode (e.g., "#818cf8") - faviconUrl: URL to custom favicon - hideBadge: Boolean — hide the "Built with Agentled" badge (requires teams/enterprise plan)`, { displayName: z.string().optional().describe('Brand name shown to clients'), logoUrl: z.string().optional().describe('URL to brand logo image'), tagline: z.string().optional().describe('Short tagline under the brand name'), primaryColor: z.string().optional().describe('Hex color for light mode (e.g., "#6366f1")'), primaryColorDark: z.string().optional().describe('Hex color for dark mode (e.g., "#818cf8")'), faviconUrl: z.string().optional().describe('URL to custom favicon'), hideBadge: z.boolean().optional().describe('Hide "Built with Agentled" badge (requires teams/enterprise plan)'), }, async (args, extra) => { const client = clientFactory(extra); // Only send fields that were actually provided const branding: Record<string, any> = {}; if (args.displayName !== undefined) branding.displayName = args.displayName; if (args.logoUrl !== undefined) branding.logoUrl = args.logoUrl; if (args.tagline !== undefined) branding.tagline = args.tagline; if (args.primaryColor !== undefined) branding.primaryColor = args.primaryColor; if (args.primaryColorDark !== undefined) branding.primaryColorDark = args.primaryColorDark; if (args.faviconUrl !== undefined) branding.faviconUrl = args.faviconUrl; if (args.hideBadge !== undefined) branding.hideBadge = args.hideBadge; const result = await client.updateBranding(branding); return { content: [{ type: 'text' as const, text: JSON.stringify(result, null, 2), }], }; } ); - src/client.ts:312-317 (handler)The underlying client method that performs the API call to update the branding.
async updateBranding(branding: Record<string, any>) { return this.request('/workspace/branding', { method: 'PATCH', body: JSON.stringify({ branding }), }); }