From 8c8d55bd07575604a76f6df59bfbb42ceb6a71e6 Mon Sep 17 00:00:00 2001 From: Brooklyn Nicholson Date: Thu, 13 Aug 2026 16:47:12 -0500 Subject: [PATCH] feat(desktop): grow the MCP suggestion directory to 18 official hosted remotes Vercel, Supabase, Netlify, Hugging Face, Asana, Intercom, Airtable, Webflow, PayPal, and Square join the directory. Every entry is a vendor-operated remote with its docs page linked, same URL-only rule as the founding eight. Trigger notes where words are ambiguous: 'square' the English word never fires (squareup only), and vercel.app/netlify.app deploy-preview hosts are deliberately absent (a pasted preview link is about the site, not the platform). Brand glyphs wired for all newcomers. --- apps/desktop/src/lib/mcp-brands.tsx | 13 ++++ apps/desktop/src/lib/mcp-directory.ts | 87 +++++++++++++++++++++++++++ 2 files changed, 100 insertions(+) diff --git a/apps/desktop/src/lib/mcp-brands.tsx b/apps/desktop/src/lib/mcp-brands.tsx index c587bb550f..10a8e6136b 100644 --- a/apps/desktop/src/lib/mcp-brands.tsx +++ b/apps/desktop/src/lib/mcp-brands.tsx @@ -7,12 +7,17 @@ * a favicon service for it would leak that hostname off-box. */ import { + SiAirtable, + SiAsana, SiAtlassian, SiDatadog, SiFigma, SiGithub, SiGitlab, + SiHuggingface, + SiIntercom, SiLinear, + SiNetlify, SiNotion, SiPaypal, SiPostgresql, @@ -21,6 +26,7 @@ import { SiStripe, SiSupabase, SiVercel, + SiWebflow, SiZapier } from '@icons-pack/react-simple-icons' import type { ComponentType, SVGProps } from 'react' @@ -35,12 +41,18 @@ export interface McpBrand { } export const MCP_BRAND_ICONS: Record = { + airtable: { Icon: SiAirtable, color: '#18BFFF' }, + asana: { Icon: SiAsana, color: '#F06A6A' }, atlassian: { Icon: SiAtlassian, color: '#0052CC' }, datadog: { Icon: SiDatadog, color: '#632CA6' }, figma: { Icon: SiFigma, color: '#F24E1E' }, github: { Icon: SiGithub, color: '#181717', monochrome: true }, gitlab: { Icon: SiGitlab, color: '#FC6D26' }, + hugging_face: { Icon: SiHuggingface, color: '#FFD21E' }, + huggingface: { Icon: SiHuggingface, color: '#FFD21E' }, + intercom: { Icon: SiIntercom, color: '#6AFDEF' }, linear: { Icon: SiLinear, color: '#5E6AD2' }, + netlify: { Icon: SiNetlify, color: '#00C7B7' }, notion: { Icon: SiNotion, color: '#000000', monochrome: true }, paypal: { Icon: SiPaypal, color: '#003087' }, postgres: { Icon: SiPostgresql, color: '#4169E1' }, @@ -50,6 +62,7 @@ export const MCP_BRAND_ICONS: Record = { stripe: { Icon: SiStripe, color: '#635BFF' }, supabase: { Icon: SiSupabase, color: '#3FCF8E' }, vercel: { Icon: SiVercel, color: '#000000', monochrome: true }, + webflow: { Icon: SiWebflow, color: '#146EF5' }, zapier: { Icon: SiZapier, color: '#FF4A00' } } diff --git a/apps/desktop/src/lib/mcp-directory.ts b/apps/desktop/src/lib/mcp-directory.ts index 107fb14479..902cc18348 100644 --- a/apps/desktop/src/lib/mcp-directory.ts +++ b/apps/desktop/src/lib/mcp-directory.ts @@ -99,6 +99,93 @@ export const MCP_DIRECTORY: McpDirectoryEntry[] = [ keywords: ['stripe'], name: 'stripe', url: 'https://mcp.stripe.com' + }, + { + description: 'Deployments, logs, and projects via Vercel’s hosted MCP.', + docs: 'https://vercel.com/docs/mcp', + // No `vercel.app` on purpose (same rule as GitHub): pasted deploy-preview + // links are about the site being previewed, not about managing Vercel. + hosts: ['vercel.com'], + keywords: ['vercel'], + name: 'vercel', + url: 'https://mcp.vercel.com' + }, + { + description: 'Database, auth, and storage from your Supabase projects.', + docs: 'https://supabase.com/docs/guides/ai-tools/mcp', + hosts: ['supabase.com', 'supabase.co'], + keywords: ['supabase'], + name: 'supabase', + url: 'https://mcp.supabase.com/mcp' + }, + { + description: 'Sites, deploys, and env vars via Netlify’s hosted MCP.', + docs: 'https://docs.netlify.com/build/build-with-ai/agent-setup-guides/agent-setup-overview/', + // No `netlify.app` for the same deploy-preview reason as vercel.app. + hosts: ['netlify.com'], + keywords: ['netlify'], + name: 'netlify', + url: 'https://netlify-mcp.netlify.app/mcp' + }, + { + description: 'Models, datasets, Spaces, and papers from the Hugging Face Hub.', + docs: 'https://huggingface.co/docs/hub/agents-mcp', + hosts: ['huggingface.co', 'hf.co'], + keywords: ['hugging face', 'huggingface'], + // Underscored so prettyName renders "Hugging Face", not "Huggingface". + name: 'hugging_face', + url: 'https://huggingface.co/mcp' + }, + { + description: 'Tasks, projects, and goals from your Asana workspace.', + docs: 'https://developers.asana.com/docs/using-asanas-mcp-server', + hosts: ['asana.com'], + keywords: ['asana'], + name: 'asana', + url: 'https://mcp.asana.com/sse' + }, + { + description: 'Conversations, tickets, and customer data from Intercom.', + docs: 'https://developers.intercom.com/docs/guides/mcp', + hosts: ['intercom.com', 'intercom.io'], + keywords: ['intercom'], + name: 'intercom', + url: 'https://mcp.intercom.com/mcp' + }, + { + description: 'Bases, tables, and records from your Airtable workspace.', + docs: 'https://support.airtable.com/articles/9897799762-using-the-airtable-mcp-server', + hosts: ['airtable.com'], + keywords: ['airtable'], + name: 'airtable', + url: 'https://mcp.airtable.com/mcp' + }, + { + description: 'Sites, CMS collections, and pages via Webflow’s hosted MCP.', + docs: 'https://developers.webflow.com/mcp/reference/getting-started', + // No `webflow.io` — that's published staging sites, not Webflow intent. + hosts: ['webflow.com'], + keywords: ['webflow'], + name: 'webflow', + url: 'https://mcp.webflow.com/mcp' + }, + { + description: 'Payments, invoices, and subscriptions via PayPal’s hosted MCP.', + docs: 'https://developer.paypal.com/tools/mcp-server/', + hosts: ['developer.paypal.com'], + keywords: ['paypal'], + name: 'paypal', + url: 'https://mcp.paypal.com/sse' + }, + { + description: 'Catalog, orders, and payments via Square’s hosted MCP.', + docs: 'https://developer.squareup.com/docs/mcp', + hosts: ['squareup.com'], + // "square" the English word is everywhere ("square brackets", "square + // corners") — only the unambiguous brand form triggers. + keywords: ['squareup'], + name: 'square', + url: 'https://mcp.squareup.com/sse' } ]