mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-20 11:22:15 +00:00
feat(MCP Client Tool Node): Add support for HTTP Streamable Transport (#15454)
This commit is contained in:
@@ -4,16 +4,25 @@ import {
|
||||
NodeOperationError,
|
||||
} from 'n8n-workflow';
|
||||
|
||||
import type { McpAuthenticationOption } from './types';
|
||||
import type { McpAuthenticationOption, McpServerTransport } from './types';
|
||||
import { connectMcpClient, getAllTools, getAuthHeaders } from './utils';
|
||||
|
||||
export async function getTools(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]> {
|
||||
const authentication = this.getNodeParameter('authentication') as McpAuthenticationOption;
|
||||
const sseEndpoint = this.getNodeParameter('sseEndpoint') as string;
|
||||
const node = this.getNode();
|
||||
let serverTransport: McpServerTransport;
|
||||
let endpointUrl: string;
|
||||
if (node.typeVersion === 1) {
|
||||
serverTransport = 'sse';
|
||||
endpointUrl = this.getNodeParameter('sseEndpoint') as string;
|
||||
} else {
|
||||
serverTransport = this.getNodeParameter('serverTransport') as McpServerTransport;
|
||||
endpointUrl = this.getNodeParameter('endpointUrl') as string;
|
||||
}
|
||||
const { headers } = await getAuthHeaders(this, authentication);
|
||||
const client = await connectMcpClient({
|
||||
sseEndpoint,
|
||||
serverTransport,
|
||||
endpointUrl,
|
||||
headers,
|
||||
name: node.type,
|
||||
version: node.typeVersion,
|
||||
|
||||
Reference in New Issue
Block a user