Skip to content

Commit b0eb134

Browse files
fix(mcp): isolate shared query keys from discovery hooks
1 parent 91806b9 commit b0eb134

7 files changed

Lines changed: 23 additions & 32 deletions

File tree

apps/sim/hooks/mcp/use-mcp-oauth-popup.test.tsx

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,6 @@ vi.mock('@sim/emcn', () => ({
1515

1616
vi.mock('@/hooks/queries/mcp', () => ({
1717
useStartMcpOauth: () => ({ mutateAsync: mockStartOauth }),
18-
mcpKeys: {
19-
serversList: (workspaceId: string) => ['mcp', 'servers', workspaceId],
20-
managedCatalogList: (workspaceId: string) => ['mcp', 'managed-catalog', workspaceId],
21-
serverToolsList: (workspaceId: string, serverId: string) => [
22-
'mcp',
23-
'server-tools',
24-
workspaceId,
25-
serverId,
26-
],
27-
storedToolsList: (workspaceId: string) => ['mcp', 'stored-tools', workspaceId],
28-
},
2918
}))
3019

3120
import { useMcpOauthPopup } from '@/hooks/mcp/use-mcp-oauth-popup'

apps/sim/hooks/mcp/use-mcp-oauth-popup.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ import { createLogger } from '@sim/logger'
66
import { toError } from '@sim/utils/errors'
77
import { useQueryClient } from '@tanstack/react-query'
88
import type { McpOauthCallbackMessage, McpOauthCallbackReason } from '@/lib/mcp/oauth'
9-
import { mcpKeys, useStartMcpOauth } from '@/hooks/queries/mcp'
9+
import { useStartMcpOauth } from '@/hooks/queries/mcp'
10+
import { mcpKeys } from '@/hooks/queries/utils/mcp-keys'
1011

1112
const logger = createLogger('useMcpOauthPopup')
1213

apps/sim/hooks/mcp/use-mcp-tools.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ import { McpIcon } from '@/components/icons'
1313
import { getManagedMcpConnectorIcon } from '@/lib/credential-groups/managed-mcp-connector-icons'
1414
import { createMcpToolId } from '@/lib/mcp/shared'
1515
import type { McpToolSchema } from '@/lib/mcp/types'
16-
import { mcpKeys, useMcpToolsQuery } from '@/hooks/queries/mcp'
16+
import { useMcpToolsQuery } from '@/hooks/queries/mcp'
17+
import { mcpKeys } from '@/hooks/queries/utils/mcp-keys'
1718

1819
const logger = createLogger('useMcpTools')
1920

apps/sim/hooks/queries/credential-groups.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,14 @@ import {
2222
import { startOrganizationSlackConfigurationContract } from '@/lib/api/contracts/organization-accounts'
2323
import type { ContractJsonResponse } from '@/lib/api/contracts/types'
2424
import { resourceScopeFromOwner } from '@/lib/core/resource-scope'
25-
import { mcpKeys } from '@/hooks/queries/mcp'
2625
import {
2726
CREDENTIAL_GROUP_ACCESS_STALE_TIME,
2827
CREDENTIAL_GROUP_DETAIL_STALE_TIME,
2928
credentialGroupKeys,
3029
fetchWorkspaceAccounts,
3130
WORKSPACE_ACCOUNTS_STALE_TIME,
3231
} from '@/hooks/queries/utils/credential-group-queries'
32+
import { mcpKeys } from '@/hooks/queries/utils/mcp-keys'
3333
import { invalidateSelectorQueries } from '@/hooks/queries/utils/selector-keys'
3434

3535
export function useWorkspaceAccounts(workspaceId?: string) {

apps/sim/hooks/queries/mcp.test.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,13 @@ import {
2424
type McpServer,
2525
} from '@/lib/api/contracts/mcp'
2626
import {
27-
mcpKeys,
2827
useAllowedMcpDomains,
2928
useForceRefreshMcpTools,
3029
useMcpServers,
3130
useMcpToolsQuery,
3231
useStoredMcpTools,
3332
} from '@/hooks/queries/mcp'
33+
import { mcpKeys } from '@/hooks/queries/utils/mcp-keys'
3434

3535
const WORKSPACE_ID = 'workspace-1'
3636

apps/sim/hooks/queries/mcp.ts

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ import type {
4141
McpTransport,
4242
StoredMcpTool,
4343
} from '@/lib/mcp/types'
44+
import { mcpKeys } from '@/hooks/queries/utils/mcp-keys'
4445
import { workflowMcpServerKeys } from '@/hooks/queries/workflow-mcp-servers'
4546

4647
const logger = createLogger('McpQueries')
@@ -50,23 +51,6 @@ export type { McpServer }
5051

5152
export const MCP_SERVER_LIST_STALE_TIME = 60 * 1000
5253

53-
export const mcpKeys = {
54-
all: ['mcp'] as const,
55-
servers: () => [...mcpKeys.all, 'servers'] as const,
56-
serversList: (workspaceId?: string) => [...mcpKeys.servers(), workspaceId ?? ''] as const,
57-
managedCatalog: () => [...mcpKeys.all, 'managedCatalog'] as const,
58-
managedCatalogList: (workspaceId?: string) =>
59-
[...mcpKeys.managedCatalog(), workspaceId ?? ''] as const,
60-
serverTools: () => [...mcpKeys.all, 'serverTools'] as const,
61-
serverToolsWorkspace: (workspaceId?: string) =>
62-
[...mcpKeys.serverTools(), workspaceId ?? ''] as const,
63-
serverToolsList: (workspaceId?: string, serverId?: string) =>
64-
[...mcpKeys.serverToolsWorkspace(workspaceId), serverId ?? ''] as const,
65-
storedTools: () => [...mcpKeys.all, 'storedTools'] as const,
66-
storedToolsList: (workspaceId?: string) => [...mcpKeys.storedTools(), workspaceId ?? ''] as const,
67-
allowedDomains: () => [...mcpKeys.all, 'allowedDomains'] as const,
68-
}
69-
7054
async function fetchMcpServers(workspaceId: string, signal?: AbortSignal): Promise<McpServer[]> {
7155
try {
7256
const data = await requestJson(listMcpServersContract, {
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
export const mcpKeys = {
2+
all: ['mcp'] as const,
3+
servers: () => [...mcpKeys.all, 'servers'] as const,
4+
serversList: (workspaceId?: string) => [...mcpKeys.servers(), workspaceId ?? ''] as const,
5+
managedCatalog: () => [...mcpKeys.all, 'managedCatalog'] as const,
6+
managedCatalogList: (workspaceId?: string) =>
7+
[...mcpKeys.managedCatalog(), workspaceId ?? ''] as const,
8+
serverTools: () => [...mcpKeys.all, 'serverTools'] as const,
9+
serverToolsWorkspace: (workspaceId?: string) =>
10+
[...mcpKeys.serverTools(), workspaceId ?? ''] as const,
11+
serverToolsList: (workspaceId?: string, serverId?: string) =>
12+
[...mcpKeys.serverToolsWorkspace(workspaceId), serverId ?? ''] as const,
13+
storedTools: () => [...mcpKeys.all, 'storedTools'] as const,
14+
storedToolsList: (workspaceId?: string) => [...mcpKeys.storedTools(), workspaceId ?? ''] as const,
15+
allowedDomains: () => [...mcpKeys.all, 'allowedDomains'] as const,
16+
}

0 commit comments

Comments
 (0)