mirror of
https://github.com/supermemoryai/supermemory.git
synced 2026-08-27 09:22:27 +00:00
<!-- VORFLUX_AGENT_PR_BODY_BEGIN -->
Adds the full 654-entry MCP directory without bundling records into client JavaScript, with explicit capability status and connector branding that degrades safely when no authoritative logo is available.
## Changes
- Lazy-load and validate the searchable, filterable, progressively rendered MCP catalog.
- Render same-origin proxied provider icons for 543 entries, with a reviewed domain allowlist and deterministic fallback marks for 111 unresolved or unbranded entries.
- Record OAuth discovery capability separately from end-to-end support; all directory setup actions remain suppressed until their authentication flow is verified.
- Add a reproducible OAuth metadata probe with HTTPS/private-network protections, stable URL keys, authorization-server scanning, and catalog fingerprint validation.
- Add Google Drive branding for the curated built-in connector.
## Testing
- **Passed:** Deterministic generation and catalog assertions.
```bash
PATH="$HOME/.bun/bin:$PATH" python3 apps/web/scripts/generate-mcp-directory.py --output
cmp apps/web/public/mcp-directory.json
```
Verified 654 entries, 254 DCR discoveries, 27 preregistered OAuth discoveries, 373 unclassified entries, and zero directory setup actions.
- **Passed:** Stale OAuth metadata fingerprint is rejected by the generator.
- **Passed:** Touched-file Biome checks and `git diff --check`.
- **Passed:** Icon proxy returned 200 for an allowlisted domain and 400 for an unknown valid-looking domain.
- **Passed:** Authenticated desktop/mobile browser inspection and conservative capability labels.
- **Passed:** Public preview returned HTTP 200 and rendered the real app. Authentication cookies do not transfer to the public hostname, so the public screenshot shows login.
- **Partial:** Repository-wide TypeScript checks remain blocked by unrelated existing errors outside the touched MCP files.
- **Partial:** 111 entries intentionally retain deterministic fallback marks; endpoint-derived domains may not always be the canonical brand logo.
- **Blocked:** Google rejected the local HTTP OAuth callback, so live Google Drive consent, callback, persistence, tool discovery, disconnect, and reconnect were not completed.
Public preview: https://ar8ruchhbi65.preview.us1.vorflux.com/configure/tools
---
**Attached Images**
*[288.csv]*
*[mcp-directory-final.json]*



<!-- VORFLUX_AGENT_PR_BODY_END -->
---
**Session Details**
- Session: [View Session](https://supermemory.us1.vorflux.com/agent-sessions/1cd0aab9-2a45-4818-aa13-f9bfe032ddba)
- Requested by: Dhravya Shah (dhravya@supermemory.com)
- Address comments on this PR. Add `(aside)` to your comment to have me ignore it.
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> **Medium Risk**
> Changes how users pick MCP URLs and auth (OAuth vs API key) before hitting existing connect endpoints; no new backend auth logic in this diff, but misconfiguration or trusting bad URLs remains a user-risk surface.
>
> **Overview**
> Adds a **browseable MCP directory** on the Company Brain connectors page: the catalog is **not bundled in JS**—it loads from static **`/mcp-directory.json`** only after the user opens the directory (with validation, caching, and abort handling).
>
> The new **`McpDirectoryBrowser`** supports search, category/availability filters, and progressive “show more” rendering. Supported remote entries route into the existing custom MCP flow via **Set up**, which pre-fills name/URL and opens the connector dialog with context-specific copy.
>
> The custom connector dialog now uses an explicit **OAuth vs API key** toggle; API key fields only appear for API-key mode, and directory-backed connections get **stable slugs** (`-dir-` suffix) so names display cleanly on connected cards. **Middleware** excludes `mcp-directory.json` from the auth matcher so the asset can be fetched publicly.
>
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit 8b59bae84a. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
518 lines
10 KiB
JSON
518 lines
10 KiB
JSON
{
|
|
"domains": [
|
|
"10xgenomics.com",
|
|
"activecampaign.com",
|
|
"actively.ai",
|
|
"adisinsight-mcp.springer.com",
|
|
"adobe-creativity.adobe.io",
|
|
"adobeaemcloud.com",
|
|
"aep-ai-ama.adobe.io",
|
|
"affinity.co",
|
|
"aftership.com",
|
|
"agent.thoughtspot.app",
|
|
"agentmail.to",
|
|
"agents.riskanalytics.dnb.com",
|
|
"agenttools.wolfram.com",
|
|
"ahrefs.com",
|
|
"ai-connect.norton.com",
|
|
"ai-inc.mailchimp.com",
|
|
"ai-inc.quickbooks.intuit.com",
|
|
"ai-inc.turbotax.intuit.com",
|
|
"ai-tools.tillermoney.com",
|
|
"ai.chronograph.pe",
|
|
"ai.consilio.com",
|
|
"ai.thirdbridge.com",
|
|
"ai.todoist.net",
|
|
"ai.veltra.com",
|
|
"airbnb.com",
|
|
"airtable.com",
|
|
"ajo-mcp.adobe.io",
|
|
"alltrails.com",
|
|
"alma.food",
|
|
"alphavantage.co",
|
|
"alphaxiv.org",
|
|
"alpic.ai",
|
|
"amplitude.com",
|
|
"analytics.credit.morningstar.com",
|
|
"analytics.lseg.com",
|
|
"android.com",
|
|
"angellist.com",
|
|
"anthropic.mcp.creditkarma.com",
|
|
"api-ssl.bitly.com",
|
|
"apify.com",
|
|
"apigw.americanexpress.com",
|
|
"apollo.io",
|
|
"apollographql.com",
|
|
"app.airops.com",
|
|
"app.base44.com",
|
|
"app.brighthire.ai",
|
|
"app.carta.com",
|
|
"app.definely.com",
|
|
"app.eraser.io",
|
|
"app.files.com",
|
|
"app.flourish.studio",
|
|
"app.fyxer.com",
|
|
"app.grasp-ai.com",
|
|
"app.hanoverpark.com",
|
|
"app.ketryx.com",
|
|
"app.magicschool.ai",
|
|
"app.midpage.ai",
|
|
"app.synthesize.bio",
|
|
"app.tropicapp.io",
|
|
"app.unthread.io",
|
|
"appfolio.com",
|
|
"asana.com",
|
|
"ashbyhq.com",
|
|
"asset-management.mcp.cloudinary.com",
|
|
"atlassian.com",
|
|
"attention.tech",
|
|
"attio.com",
|
|
"audible.com",
|
|
"auraintelligence.com",
|
|
"autodesk.com",
|
|
"autorfp.ai",
|
|
"benchling.com",
|
|
"benevity.org",
|
|
"bigdata.com",
|
|
"bigquery.googleapis.com",
|
|
"bindings.mcp.cloudflare.com",
|
|
"blockscout.com",
|
|
"blueconic.com",
|
|
"boltz.bio",
|
|
"box.com",
|
|
"brandfetch.io",
|
|
"brave.com",
|
|
"braze.com",
|
|
"brevo.com",
|
|
"brex.com",
|
|
"briskteaching.com",
|
|
"calendar.google.com",
|
|
"calendly.com",
|
|
"callbacks.omniapp.co",
|
|
"canary-data.com",
|
|
"candid.org",
|
|
"canva.com",
|
|
"cargoai.co",
|
|
"cbinsights.com",
|
|
"chargebee.com",
|
|
"chartmogul.com",
|
|
"chatgpt.mermaid.ai",
|
|
"checkatrade.com",
|
|
"circleback.ai",
|
|
"civitatis-claude-app.civitatis.com",
|
|
"cja-mcp.adobe.io",
|
|
"clapi.guidepoint.io",
|
|
"clarify.ai",
|
|
"clarity-sfdr20-mcp.pro.clarity.ai",
|
|
"claude-mcp-api.ml.goodnotes.com",
|
|
"claude.mcp.kpler.com",
|
|
"claude.slidesgpt.com",
|
|
"claudecompanion.gateway.api.mcafee.com",
|
|
"clay.com",
|
|
"clerk.com",
|
|
"clickhouse.cloud",
|
|
"clickup.com",
|
|
"close.com",
|
|
"cloud.cdata.com",
|
|
"cloudimanage.com",
|
|
"cloze.com",
|
|
"cognitoforms.com",
|
|
"coindesk.com",
|
|
"columnapi.com",
|
|
"cometchat.com",
|
|
"commonroom.io",
|
|
"compute.googleapis.com",
|
|
"connect.squareup.com",
|
|
"connector.scholargateway.ai",
|
|
"consensus.app",
|
|
"contentsquare.com",
|
|
"context.era.app",
|
|
"context7.com",
|
|
"coralogix.com",
|
|
"coteach.ai",
|
|
"coupler.io",
|
|
"coursera.com",
|
|
"courtlistener.com",
|
|
"courtroom5.com",
|
|
"craft.do",
|
|
"crossbeam.com",
|
|
"crypto.com",
|
|
"customer.io",
|
|
"daloopa.com",
|
|
"dashboard.plaid.com",
|
|
"data-search.apigw.feverup.com",
|
|
"databricks.com",
|
|
"datacamp.com",
|
|
"datadoghq.com",
|
|
"datagrail.io",
|
|
"datahub.com",
|
|
"day.ai",
|
|
"deepl.com",
|
|
"demandapi-mcp.booking.com",
|
|
"descript.com",
|
|
"descrybe.com",
|
|
"developer.api.autodesk.com",
|
|
"developer.mcp.mastercard.com",
|
|
"devrev.ai",
|
|
"dhsprogram.com",
|
|
"dice.com",
|
|
"diffit.me",
|
|
"digits.com",
|
|
"directbooker.ai",
|
|
"docs.superhuman.com",
|
|
"docuseal.com",
|
|
"docusign.com",
|
|
"dovetail.com",
|
|
"dremio.com",
|
|
"drive.google.com",
|
|
"dropbox.com",
|
|
"dynatrace.com",
|
|
"econ-index.mcp.claude.com",
|
|
"elevenlabs.io",
|
|
"elicit.com",
|
|
"entendre.finance",
|
|
"eulerapp.com",
|
|
"everlaw.com",
|
|
"exa.ai",
|
|
"example-server.modelcontextprotocol.io",
|
|
"excalidraw.com",
|
|
"exp-app-mcp.prod.ep.viator.com",
|
|
"expedia.com",
|
|
"expo.dev",
|
|
"factset.com",
|
|
"fathom.ai",
|
|
"fellow.app",
|
|
"felt.com",
|
|
"fids-mcp.ice.com",
|
|
"fig-mcp.instacart.com",
|
|
"figma.com",
|
|
"financeanalytics.dnb.com",
|
|
"financialmodelingprep.com",
|
|
"fireflies.ai",
|
|
"firefox.com",
|
|
"fiscal.ai",
|
|
"fitch.group",
|
|
"floot.com",
|
|
"frontify-integrations.com",
|
|
"fullstory.com",
|
|
"funnel.io",
|
|
"g.runorion.com",
|
|
"g2.com",
|
|
"gainsight.com",
|
|
"gamma.app",
|
|
"gatewaymcp.verisk.com",
|
|
"genai-prod-ext.dominos.co.in",
|
|
"getaugust.ai",
|
|
"getguru.com",
|
|
"getmontecarlo.com",
|
|
"getunblocked.com",
|
|
"glean.com",
|
|
"global.datasite.com",
|
|
"glovoapp.com",
|
|
"gmail.com",
|
|
"gocardless.com",
|
|
"godaddy.com",
|
|
"gopigment.com",
|
|
"govcon.dev",
|
|
"govtribe.com",
|
|
"grain.com",
|
|
"granola.ai",
|
|
"grantedai.com",
|
|
"grasshopper-mcp.prd.narmitech.com",
|
|
"grounding.kensho.com",
|
|
"gusto.com",
|
|
"harmonic.ai",
|
|
"harness.io",
|
|
"harvey.ai",
|
|
"haveibeenpwned.com",
|
|
"hcls.mcp.claude.com",
|
|
"healthex.io",
|
|
"helium10.com",
|
|
"heygen.com",
|
|
"highspot.com",
|
|
"honeycomb.io",
|
|
"hrn-production.helix.com",
|
|
"hubspot.com",
|
|
"huggingface.co",
|
|
"ibisworld.com",
|
|
"ibkr.com",
|
|
"idiolect.app",
|
|
"ifttt.com",
|
|
"imedidata.com",
|
|
"incident.io",
|
|
"indeed.com",
|
|
"inductive.bio",
|
|
"inkbox.ai",
|
|
"insiderone.com",
|
|
"instrumentl.com",
|
|
"intapp.com",
|
|
"integrators.prod.api.tabsplatform.com",
|
|
"intercom.com",
|
|
"ipone.clarivate.com",
|
|
"ironcladapp.com",
|
|
"isometric.com",
|
|
"item.app",
|
|
"jam.dev",
|
|
"jentic.com",
|
|
"jotform.com",
|
|
"jupiterone.com",
|
|
"jusmundi.com",
|
|
"k.owkin.com",
|
|
"kfinance.kensho.com",
|
|
"kg.mcp.learningcommons.org",
|
|
"kindora-mcp.azurewebsites.net",
|
|
"kiwi.com",
|
|
"klaviyo.com",
|
|
"krisp.ai",
|
|
"kubernetes.io",
|
|
"lastminute.com",
|
|
"latch.bio",
|
|
"latticehq.com",
|
|
"lawve.ai",
|
|
"learn.microsoft.com",
|
|
"leaveadot.com",
|
|
"legal-mcp.thomsonreuters.com",
|
|
"legaldatahunter.com",
|
|
"legalzoom.com",
|
|
"letsbot.net",
|
|
"letsdeel.com",
|
|
"light.inc",
|
|
"lightfield.app",
|
|
"lilt.com",
|
|
"linear.app",
|
|
"listenlabs.ai",
|
|
"litmus.com",
|
|
"livestorm.co",
|
|
"localfalcon.com",
|
|
"lorikeetcx.ai",
|
|
"lovable.dev",
|
|
"lucid.app",
|
|
"luminpdf.com",
|
|
"lumonic.com",
|
|
"lunarcrush.ai",
|
|
"lusha.com",
|
|
"macaly.com",
|
|
"magicpatterns.com",
|
|
"mail.superhuman.com",
|
|
"mailerlite.com",
|
|
"make.com",
|
|
"manufact.com",
|
|
"marketplace-mcp.us-east-1.api.aws",
|
|
"matrixmcp.virtuoso.ai",
|
|
"mcp-app.turkishtechlab.com",
|
|
"mcp-demo.airwallex.com",
|
|
"mcp-gateway-external-pilot.spotify.net",
|
|
"mcp-pub.aiera.com",
|
|
"mcp-public.basecamp-research.com",
|
|
"mcp-server.egnyte.com",
|
|
"mcp-server.signnow.com",
|
|
"mcp-server.zomato.com",
|
|
"mcp-v1.tixel.com",
|
|
"mcp2.readwise.io",
|
|
"meetcampfire.com",
|
|
"melon.com",
|
|
"meltwater.com",
|
|
"mem.ai",
|
|
"mem0.ai",
|
|
"mercadolibre.com",
|
|
"mercury.com",
|
|
"metabase.com",
|
|
"metal.ai",
|
|
"metaview.ai",
|
|
"microsoft.com",
|
|
"mintlify.com",
|
|
"miro.com",
|
|
"mixpanel.com",
|
|
"monday.com",
|
|
"mongodb.com",
|
|
"moodys.com",
|
|
"morningstar.com",
|
|
"mospi.gov.in",
|
|
"motherduck.com",
|
|
"msci.com",
|
|
"mtnewswires.com",
|
|
"myisolved.com",
|
|
"n8n.io",
|
|
"netlify-mcp.netlify.app",
|
|
"netsuite.com",
|
|
"nimbleway.com",
|
|
"nlp.api.production.unwrap.ai",
|
|
"nooks.in",
|
|
"notion.com",
|
|
"omni.mulesoft.com",
|
|
"onesignal.com",
|
|
"ontra.ai",
|
|
"open-ai-app.stubhub.net",
|
|
"oreilly.com",
|
|
"otter.ai",
|
|
"ottotheagent.com",
|
|
"outreach.io",
|
|
"pagerduty.com",
|
|
"pandadoc.com",
|
|
"partner-mcp.ticketmaster.com",
|
|
"patlytics.ai",
|
|
"paypal.com",
|
|
"paytmpayments.com",
|
|
"peec.ai",
|
|
"pga.com",
|
|
"phished.io",
|
|
"phoenix.hginsights.com",
|
|
"pi.security",
|
|
"pinegap.ai",
|
|
"platform.opentargets.org",
|
|
"plaud.ai",
|
|
"playmcp.kakao.com",
|
|
"polaranalytics.com",
|
|
"pophive.org",
|
|
"posthog.com",
|
|
"postman.com",
|
|
"premium.mcp.pitchbook.com",
|
|
"privacy.com",
|
|
"process.st",
|
|
"prod.originhq.com",
|
|
"production.ai-mcp-extensibility-prd.tamg.cloud",
|
|
"projects.motionapp.com",
|
|
"pscale.dev",
|
|
"public-api.wordpress.com",
|
|
"pubmed.mcp.claude.com",
|
|
"qbo-connector.meridian.pilot.com",
|
|
"qonto.com",
|
|
"quartr.com",
|
|
"quicknode.com",
|
|
"quo.com",
|
|
"railway.com",
|
|
"rallyuxr.com",
|
|
"ramp-mcp-remote.ramp.com",
|
|
"ramp.com",
|
|
"rapid7.com",
|
|
"razorpay.com",
|
|
"react.dev",
|
|
"read.ai",
|
|
"reclaim.ai",
|
|
"reddit.com",
|
|
"relativity.com",
|
|
"remote.com",
|
|
"render.com",
|
|
"replit-mcp.com",
|
|
"resend.com",
|
|
"retool.com",
|
|
"revolut.com",
|
|
"rillet.com",
|
|
"roamresearch.com",
|
|
"roboflow.com",
|
|
"salesflare.com",
|
|
"salesloft.com",
|
|
"sanity.io",
|
|
"sap.com",
|
|
"scamguard.malwarebytes.com",
|
|
"scite.ai",
|
|
"seismic.com",
|
|
"semrush.com",
|
|
"send.co",
|
|
"sentry.dev",
|
|
"servicenow.com",
|
|
"services.biorender.com",
|
|
"services.functionhealth.com",
|
|
"services.oxfordeconomics.com",
|
|
"setup.shopify.com",
|
|
"shapes.co",
|
|
"shipbob.com",
|
|
"shippo.com",
|
|
"shutterstock.com",
|
|
"sigmacomputing.com",
|
|
"signeasy.com",
|
|
"similarweb.com",
|
|
"sketch.com",
|
|
"sketchup.com",
|
|
"slack.com",
|
|
"smartbear.com",
|
|
"smartling.com",
|
|
"smartsheet.com",
|
|
"snowflake.com",
|
|
"snowstorm-mcp.snomedtools.org",
|
|
"snyk.io",
|
|
"solveintelligence.com",
|
|
"sourcegraph.com",
|
|
"spinach.ai",
|
|
"splice.com",
|
|
"sprouts-mcp-server.kartikay-dhar.workers.dev",
|
|
"squareup.com",
|
|
"stackoverflow.com",
|
|
"staircase.ai",
|
|
"starburst.io",
|
|
"strava.com",
|
|
"stripe.com",
|
|
"stytch.dev",
|
|
"sumble.com",
|
|
"sumsub.com",
|
|
"supabase.com",
|
|
"super.com",
|
|
"supermetrics.com",
|
|
"surveymonkey.com",
|
|
"swagger.mcp.smartbear.com",
|
|
"sybill.ai",
|
|
"synapse.org",
|
|
"tableau.com",
|
|
"taskrabbit.com",
|
|
"tavily.com",
|
|
"taxact.com",
|
|
"teacher-tools.eedi.ai",
|
|
"teamtailor.com",
|
|
"techgc.co",
|
|
"tellme.embat.io",
|
|
"thumbtack.com",
|
|
"tickettailor.ai",
|
|
"ticktick.com",
|
|
"tigerdata.com",
|
|
"tines.com",
|
|
"tldraw-mcp-app.tldraw.workers.dev",
|
|
"tldv.io",
|
|
"tomtom.com",
|
|
"tray.io",
|
|
"trellis.law",
|
|
"trello.com",
|
|
"trivago.com",
|
|
"tryprofound.com",
|
|
"turquoise.health",
|
|
"twilio.com",
|
|
"uakozrqrztgrgwoywxkx.supabase.co",
|
|
"uber.com",
|
|
"ubereats.com",
|
|
"udemy.com",
|
|
"unsplash.com",
|
|
"use.kick.co",
|
|
"usepylon.com",
|
|
"v0.app",
|
|
"vast.blueskyapi.com",
|
|
"vendr.com",
|
|
"vercel.com",
|
|
"vibe.com",
|
|
"virtuoso.ai",
|
|
"voluum.com",
|
|
"webexapis.com",
|
|
"webflow.com",
|
|
"webull.com",
|
|
"whimsical.com",
|
|
"windsor.ai",
|
|
"wisdom-api.enterpret.com",
|
|
"wisprflow.ai",
|
|
"within.ai",
|
|
"wix.com",
|
|
"workable.com",
|
|
"workato.com",
|
|
"workfront.adobe.com",
|
|
"workos.com",
|
|
"wrike.com",
|
|
"wyndhamhotels.com",
|
|
"xactrestore-xactremodelserver-usw2-prod.propsol.io",
|
|
"xero.com",
|
|
"xweather.com",
|
|
"zapier.com",
|
|
"ziprecruiter.com",
|
|
"zocks.io",
|
|
"zoho.com",
|
|
"zoom.us",
|
|
"zoominfo.com",
|
|
"zscaler.com"
|
|
]
|
|
}
|