/**
 * MCP Server Trigger Node - Version 2
 * Expose n8n tools as an MCP Server endpoint
 */


export interface LcMcpTriggerV2Params {
/**
 * The way to authenticate
 * @builderHint Default to 'none'. n8n exposes inbound trigger URLs publicly by design. Only select an authentication method when the user explicitly asks to authenticate inbound traffic.
 * @default none
 */
    authentication?: 'none' | 'n8nOAuth2' | 'bearerAuth' | 'headerAuth' | Expression<string>;
/**
 * Whether the triggering user must also have permission to execute the workflow in the project it belongs to
 * @displayOptions.show { authentication: ["n8nOAuth2"] }
 * @default true
 */
    requireExecuteAccess?: boolean | Expression<boolean>;
/**
 * The base path for this MCP server
 */
    path: string | Expression<string>;
/**
 * Sent to MCP clients when they connect. Clients that support server instructions typically add them to the model's system prompt — use for guidance that spans multiple tools, such as tool-choice rules or multi-step workflows.
 */
    instructions?: string | Expression<string>;
}

export interface LcMcpTriggerV2SubnodeConfig {
  tools?: ToolInstance[];
}

export interface LcMcpTriggerV2Credentials {
  httpBearerAuth: CredentialReference;
  httpHeaderAuth: CredentialReference;
}

interface LcMcpTriggerV2NodeBase {
  type: '@n8n/n8n-nodes-langchain.mcpTrigger';
  version: 2;
}

export type LcMcpTriggerV2ParamsNode = LcMcpTriggerV2NodeBase & {
  config: NodeConfig<LcMcpTriggerV2Params> & { credentials?: LcMcpTriggerV2Credentials } & { subnodes?: LcMcpTriggerV2SubnodeConfig };
};

export type LcMcpTriggerV2Node = LcMcpTriggerV2ParamsNode;