Refactor MCP fetch method and update CustomMCP documentation to include variable usage in headers

This commit is contained in:
Henry 2025-06-06 21:40:47 +01:00
parent d49b43e85e
commit a13dffa3b5
2 changed files with 12 additions and 9 deletions

View File

@ -27,6 +27,16 @@ For example, you have a variable called "var1":
} }
} }
\`\`\` \`\`\`
For example, when using SSE, you can use the variable "var1" in the headers:
\`\`\`json
{
"url": "https://api.example.com/endpoint/sse",
"headers": {
"Authorization": "Bearer {{$vars.var1}}"
}
}
\`\`\`
` `
class Custom_MCP implements INode { class Custom_MCP implements INode {

View File

@ -70,15 +70,8 @@ export class MCPToolkit extends BaseToolkit {
headers: this.serverParams.headers headers: this.serverParams.headers
}, },
eventSourceInit: { eventSourceInit: {
// Reference: https://github.com/modelcontextprotocol/typescript-sdk/issues/118 fetch: (url, init) => fetch(url, { ...init, headers: this.serverParams.headers })
async fetch(input: Request | URL | string, init?: RequestInit) { }
const headers = new Headers(init?.headers || {})
Object.entries(this.serverParams.headers).forEach(([key, value]) => {
headers.set(key, value as string)
})
return fetch(input, { ...init, headers })
}
} as any
}) })
} else { } else {
transport = new SSEClientTransport(baseUrl) transport = new SSEClientTransport(baseUrl)