mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-04-25 00:36:31 +02:00
add frontend tiles for Linear, Jira, ClickUp MCP connectors
This commit is contained in:
parent
9b78fbfe15
commit
c414cc257f
2 changed files with 47 additions and 1 deletions
|
|
@ -105,6 +105,31 @@ export const OAUTH_CONNECTORS = [
|
|||
},
|
||||
] as const;
|
||||
|
||||
// MCP OAuth Connectors (one-click connect via official MCP servers)
|
||||
export const MCP_OAUTH_CONNECTORS = [
|
||||
{
|
||||
id: "linear-mcp-connector",
|
||||
title: "Linear (MCP)",
|
||||
description: "Interact with Linear issues via MCP",
|
||||
connectorType: EnumConnectorName.MCP_CONNECTOR,
|
||||
authEndpoint: "/api/v1/auth/mcp/linear/connector/add/",
|
||||
},
|
||||
{
|
||||
id: "jira-mcp-connector",
|
||||
title: "Jira (MCP)",
|
||||
description: "Interact with Jira issues via MCP",
|
||||
connectorType: EnumConnectorName.MCP_CONNECTOR,
|
||||
authEndpoint: "/api/v1/auth/mcp/jira/connector/add/",
|
||||
},
|
||||
{
|
||||
id: "clickup-mcp-connector",
|
||||
title: "ClickUp (MCP)",
|
||||
description: "Interact with ClickUp tasks via MCP",
|
||||
connectorType: EnumConnectorName.MCP_CONNECTOR,
|
||||
authEndpoint: "/api/v1/auth/mcp/clickup/connector/add/",
|
||||
},
|
||||
] as const;
|
||||
|
||||
// Content Sources (tools that extract and import content from external sources)
|
||||
export const CRAWLERS = [
|
||||
{
|
||||
|
|
|
|||
|
|
@ -10,12 +10,14 @@ import { ConnectorCard } from "../components/connector-card";
|
|||
import {
|
||||
COMPOSIO_CONNECTORS,
|
||||
CRAWLERS,
|
||||
MCP_OAUTH_CONNECTORS,
|
||||
OAUTH_CONNECTORS,
|
||||
OTHER_CONNECTORS,
|
||||
} from "../constants/connector-constants";
|
||||
import { getDocumentCountForConnector } from "../utils/connector-document-mapping";
|
||||
|
||||
type OAuthConnector = (typeof OAUTH_CONNECTORS)[number];
|
||||
type MCPOAuthConnector = (typeof MCP_OAUTH_CONNECTORS)[number];
|
||||
type ComposioConnector = (typeof COMPOSIO_CONNECTORS)[number];
|
||||
type OtherConnector = (typeof OTHER_CONNECTORS)[number];
|
||||
type CrawlerConnector = (typeof CRAWLERS)[number];
|
||||
|
|
@ -128,6 +130,10 @@ export const AllConnectorsTab: FC<AllConnectorsTabProps> = ({
|
|||
(c) => c.connectorType === EnumConnectorName.AIRTABLE_CONNECTOR
|
||||
);
|
||||
|
||||
const filteredMCPOAuth = MCP_OAUTH_CONNECTORS.filter(
|
||||
(c) => matchesSearch(c.title, c.description),
|
||||
);
|
||||
|
||||
const moreIntegrationsComposio = filteredComposio.filter(
|
||||
(c) =>
|
||||
!DOCUMENT_FILE_CONNECTOR_TYPES.has(c.connectorType) &&
|
||||
|
|
@ -279,6 +285,7 @@ export const AllConnectorsTab: FC<AllConnectorsTabProps> = ({
|
|||
nativeGoogleDriveConnectors.length > 0 ||
|
||||
composioGoogleDriveConnectors.length > 0 ||
|
||||
fileStorageConnectors.length > 0;
|
||||
const hasMCPOAuth = filteredMCPOAuth.length > 0;
|
||||
const hasMoreIntegrations =
|
||||
otherDocumentYouTubeConnectors.length > 0 ||
|
||||
otherDocumentNotionConnectors.length > 0 ||
|
||||
|
|
@ -288,7 +295,7 @@ export const AllConnectorsTab: FC<AllConnectorsTabProps> = ({
|
|||
moreIntegrationsOther.length > 0 ||
|
||||
moreIntegrationsCrawlers.length > 0;
|
||||
|
||||
const hasAnyResults = hasDocumentFileConnectors || hasMoreIntegrations;
|
||||
const hasAnyResults = hasDocumentFileConnectors || hasMCPOAuth || hasMoreIntegrations;
|
||||
|
||||
if (!hasAnyResults && searchQuery) {
|
||||
return (
|
||||
|
|
@ -318,6 +325,20 @@ export const AllConnectorsTab: FC<AllConnectorsTabProps> = ({
|
|||
</section>
|
||||
)}
|
||||
|
||||
{/* Live MCP Integrations */}
|
||||
{hasMCPOAuth && (
|
||||
<section>
|
||||
<div className="flex items-center gap-2 mb-4">
|
||||
<h3 className="text-sm font-semibold text-muted-foreground">
|
||||
Live MCP Integrations
|
||||
</h3>
|
||||
</div>
|
||||
<div className="grid grid-cols-1 sm:grid-cols-2 gap-3">
|
||||
{filteredMCPOAuth.map((connector) => renderOAuthCard(connector as OAuthConnector | ComposioConnector))}
|
||||
</div>
|
||||
</section>
|
||||
)}
|
||||
|
||||
{/* More Integrations */}
|
||||
{hasMoreIntegrations && (
|
||||
<section>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue