n8n
Version:
n8n Workflow Automation Tool
46 lines (45 loc) • 2.05 kB
TypeScript
import { Logger } from '@n8n/backend-common';
import { InstanceSettings } from 'n8n-core';
import { LoadNodesAndCredentials } from '../../../load-nodes-and-credentials';
import { Push } from '../../../push';
import { Publisher } from '../../../scaling/pubsub/publisher.service';
import { McpRegistryServerRepository } from './mcp-registry-server.repository';
import { McpRegistryApiClient } from './mcp-registry-api.client';
import { type McpRegistrySearchResult } from './mcp-registry-search';
import type { McpRegistryServer } from './mcp-registry.types';
export declare class McpRegistryService {
private readonly logger;
private readonly repository;
private readonly apiClient;
private readonly instanceSettings;
private readonly loadNodesAndCredentials;
private readonly push;
private readonly publisher;
private refreshInterval;
private refreshPromise;
private isShuttingDown;
constructor(logger: Logger, repository: McpRegistryServerRepository, apiClient: McpRegistryApiClient, instanceSettings: InstanceSettings, loadNodesAndCredentials: LoadNodesAndCredentials, push: Push, publisher: Publisher);
init(): Promise<void>;
onLeaderTakeover(): Promise<void>;
onLeaderStepdown(): void;
shutdown(): void;
handleReloadMcpRegistry(): Promise<void>;
getAll({ includeDeprecated, }?: {
includeDeprecated?: boolean;
}): Promise<McpRegistryServer[]>;
get(slug: string): Promise<McpRegistryServer | undefined>;
getBySlugs(slugs: string[]): Promise<McpRegistryServer[]>;
search(queries: string[]): Promise<McpRegistrySearchResult[]>;
list(limit: number): Promise<McpRegistrySearchResult[]>;
private startPeriodicRefresh;
private stopPeriodicRefresh;
private refreshFromApi;
private refreshFromApiInternal;
private refreshUpdatedServers;
private shouldFetchFullServer;
private saveServers;
private refreshRegistryNodeTypes;
private publishReloadCommand;
private notifyNodeDescriptionsUpdated;
private isMainInstance;
}