fix(ai-builder): Get the agent-with-notion-mcp eval case running (no-changelog) (#31788)

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
José Braulio González Valido 2026-06-05 08:33:13 +01:00 committed by GitHub
parent d39d944335
commit e5d4aa9836
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 13 additions and 2 deletions

View File

@ -1,8 +1,13 @@
{
"prompt": "Build a workflow with a chat-triggered AI agent that can search my Notion workspace to answer questions about ongoing projects. The agent should use the Notion connection from n8n's built-in service connections (the one optimized for agent tool use), not the standard Notion action node. Configure all nodes as completely as possible and don't ask me for credentials, I'll set them up later.",
"conversation": [
{
"role": "user",
"text": "Build a workflow with a chat-triggered AI agent that can search my Notion workspace to answer questions about ongoing projects. The agent should use the Notion connection from n8n's built-in service connections (the one optimized for agent tool use), not the standard Notion action node. Configure all nodes as completely as possible and don't ask me for credentials, I'll set them up later."
}
],
"complexity": "medium",
"tags": ["build", "agent", "ai-tool", "mcp-registry", "notion"],
"scenarios": [
"executionScenarios": [
{
"name": "happy-path",
"description": "User asks about a project; agent uses the Notion MCP registry node to find the answer",

View File

@ -69,6 +69,11 @@ function isVendorLlmSubNode(nodeType: string): boolean {
return nodeType.startsWith('@n8n/n8n-nodes-langchain.lm');
}
/** MCP registry nodes talk via the MCP SDK's own transport, not n8n's HTTP helper — the mock can't reach them, so their root must stay pinned. */
function isMcpRegistryNode(nodeType: string): boolean {
return nodeType.startsWith('@n8n/mcp-registry.');
}
/** Non-empty `options.baseURL` on the LangChain OpenAI node beats credentials.url — credential rewrite isn't enough. */
function hasUnsafeBaseUrlOverride(node: INode): boolean {
if (node.type === '@n8n/n8n-nodes-langchain.lmChatOpenAi') {
@ -495,6 +500,7 @@ function categorizeSubNodeIncompatibility(
sharedSupportedSubNodes: Set<string>,
): AutoPinReason | null {
if (PROTOCOL_BINARY_SUB_NODE_TYPES.has(sourceNode.type)) return 'protocol_binary';
if (isMcpRegistryNode(sourceNode.type)) return 'protocol_binary';
if (SUPPORTED_VENDOR_LLM_SUB_NODE_TYPES.has(sourceNode.type)) {
if (sharedSupportedSubNodes.has(sourceNode.name)) return 'shared_vendor_llm_subnode';
return hasUnsafeBaseUrlOverride(sourceNode) ? 'unsafe_baseurl_override' : null;