n8n
Version:
n8n Workflow Automation Tool
57 lines (56 loc) • 3.67 kB
TypeScript
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
import { Logger } from '@n8n/backend-common';
import { ExecutionsConfig, GlobalConfig } from '@n8n/config';
import { ExecutionRepository, FolderRepository, ProjectRepository, SharedWorkflowRepository, User } from '@n8n/db';
import { InstanceSettings } from 'n8n-core';
import { type IDeferredPromise, type IRun } from 'n8n-workflow';
import { NodeCatalogService } from '../../node-catalog';
import { ActiveExecutions } from '../../active-executions';
import { CollaborationService } from '../../collaboration/collaboration.service';
import { CredentialsService } from '../../credentials/credentials.service';
import { DataTableProxyService } from '../../modules/data-table/data-table-proxy.service';
import { NodeTypes } from '../../node-types';
import { ProjectService } from '../../services/project.service.ee';
import { RoleService } from '../../services/role.service';
import { UrlService } from '../../services/url.service';
import { Telemetry } from '../../telemetry';
import { WorkflowRunner } from '../../workflow-runner';
import { WorkflowCreationService } from '../../workflows/workflow-creation.service';
import { WorkflowFinderService } from '../../workflows/workflow-finder.service';
import { WorkflowService } from '../../workflows/workflow.service';
import { ExecutionService } from '../../executions/execution.service';
export declare class McpService {
private readonly logger;
private readonly executionsConfig;
private readonly workflowFinderService;
private readonly workflowService;
private readonly urlService;
private readonly credentialsService;
private readonly activeExecutions;
private readonly globalConfig;
private readonly telemetry;
private readonly workflowRunner;
private readonly roleService;
private readonly projectService;
private readonly nodeCatalogService;
private readonly workflowCreationService;
private readonly nodeTypes;
private readonly projectRepository;
private readonly folderRepository;
private readonly sharedWorkflowRepository;
private readonly executionRepository;
private readonly executionService;
private readonly dataTableProxyService;
private readonly collaborationService;
private readonly pendingResponses;
constructor(logger: Logger, executionsConfig: ExecutionsConfig, _instanceSettings: InstanceSettings, workflowFinderService: WorkflowFinderService, workflowService: WorkflowService, urlService: UrlService, credentialsService: CredentialsService, activeExecutions: ActiveExecutions, globalConfig: GlobalConfig, telemetry: Telemetry, workflowRunner: WorkflowRunner, roleService: RoleService, projectService: ProjectService, nodeCatalogService: NodeCatalogService, workflowCreationService: WorkflowCreationService, nodeTypes: NodeTypes, projectRepository: ProjectRepository, folderRepository: FolderRepository, sharedWorkflowRepository: SharedWorkflowRepository, executionRepository: ExecutionRepository, executionService: ExecutionService, dataTableProxyService: DataTableProxyService, collaborationService: CollaborationService);
getServer(user: User): Promise<McpServer>;
private registerBuilderTools;
get isQueueMode(): boolean;
createPendingResponse(executionId: string): IDeferredPromise<IRun | undefined>;
handleWorkerResponse(executionId: string, runData: IRun | undefined): void;
removePendingResponse(executionId: string): void;
cancelPendingExecution(executionId: string, reason?: string): void;
cancelAllPendingExecutions(reason?: string): void;
get pendingExecutionCount(): number;
}