{
  "name": "Jour 6 - MCP guid\u00e9",
  "nodes": [
    {
      "parameters": {
        "content": "## Jour 6 - MCP guid\u00e9\n\nFlux minimal pour comparer une r\u00e9ponse na\u00efve et un acc\u00e8s outill\u00e9:\n1. D\u00e9clencheur manuel\n2. Question d'audit\n3. Agent de comparaison\n4. Tool MCP\n5. Sortie comparative\n\nObjectif: voir ce que le mod\u00e8le propose seul, puis ce que l'outil MCP permet de contr\u00f4ler.",
        "height": 260,
        "width": 640,
        "color": 5
      },
      "id": "d6-note-overview",
      "name": "Vue d'ensemble",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        0,
        0
      ]
    },
    {
      "parameters": {},
      "id": "d6-trigger",
      "name": "D\u00e9clencheur Manuel",
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [
        120,
        380
      ]
    },
    {
      "parameters": {
        "mode": "manual",
        "assignments": {
          "assignments": [
            {
              "id": "d6-question",
              "name": "chatInput",
              "value": "Question m\u00e9tier: quelle r\u00e8gle d\u00e9crit l'\u00e9cart entre un montant URSSAF observ\u00e9 et le montant attendu base_urssaf * taux_urssaf ? Compare une r\u00e9ponse na\u00efve avec une r\u00e9ponse contr\u00f4l\u00e9e par MCP.",
              "type": "string"
            },
            {
              "id": "d6-naive-prompt",
              "name": "naive_prompt",
              "value": "R\u00e9ponds sans outil, comme si tu improvisais une hypoth\u00e8se rapide.",
              "type": "string"
            },
            {
              "id": "d6-tool-prompt",
              "name": "tool_prompt",
              "value": "Puis v\u00e9rifie la r\u00e9ponse avec le tool MCP search_documentary_sources et indique la diff\u00e9rence de gouvernance et de fiabilit\u00e9.",
              "type": "string"
            },
            {
              "id": "d6-question-tag",
              "name": "question_tag",
              "value": "audit_urssaf_compare_mcp",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "id": "d6-question-node",
      "name": "Question d'audit",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        380,
        380
      ]
    },
    {
      "parameters": {
        "options": {
          "systemMessage": "Tu es un agent de comparaison pour audit paie. Commence par une hypoth\u00e8se na\u00efve, puis utilise le tool MCP pour v\u00e9rifier la r\u00e8gle documentaire. Tu dois distinguer clairement: reponse_naive, reponse_controlee, comparaison, limites. N'invente pas de source et n'explique pas l'infrastructure MCP."
        }
      },
      "id": "d6-agent-compare",
      "name": "Agent de comparaison",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 1.9,
      "position": [
        660,
        380
      ]
    },
    {
      "parameters": {
        "model": {
          "__rl": true,
          "value": "gpt-4.1-nano",
          "mode": "id"
        },
        "options": {
          "temperature": 0
        }
      },
      "id": "d6-openai",
      "name": "OpenAI Gateway",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "typeVersion": 1.2,
      "position": [
        660,
        620
      ],
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "sseEndpoint": "={{ $env.MCP_SSE_ENDPOINT || 'http://mcp-server:8000/sse' }}"
      },
      "id": "d6-mcp",
      "name": "MCP outils guid\u00e9s",
      "type": "@n8n/n8n-nodes-langchain.mcpClientTool",
      "typeVersion": 1,
      "position": [
        660,
        860
      ]
    },
    {
      "parameters": {
        "mode": "manual",
        "assignments": {
          "assignments": [
            {
              "id": "d6-output-status",
              "name": "statut",
              "value": "comparaison_achevee",
              "type": "string"
            },
            {
              "id": "d6-output-question",
              "name": "question",
              "value": "={{ $(\"Question d'audit\").item.json.chatInput }}",
              "type": "string"
            },
            {
              "id": "d6-output-report",
              "name": "comparaison",
              "value": "={{ $json.output }}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "id": "d6-comparison-output",
      "name": "Sortie comparative",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        940,
        380
      ]
    }
  ],
  "connections": {
    "D\u00e9clencheur Manuel": {
      "main": [
        [
          {
            "node": "Question d'audit",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Question d'audit": {
      "main": [
        [
          {
            "node": "Agent de comparaison",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Agent de comparaison": {
      "main": [
        [
          {
            "node": "Sortie comparative",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Gateway": {
      "ai_languageModel": [
        [
          {
            "node": "Agent de comparaison",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "MCP outils guid\u00e9s": {
      "ai_tool": [
        [
          {
            "node": "Agent de comparaison",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1"
  },
  "meta": {
    "description": "Jour 6 - MCP guid\u00e9: une question m\u00e9tier, une comparaison entre r\u00e9ponse na\u00efve et r\u00e9ponse outill\u00e9e, et un seul client MCP sans debug d'infrastructure."
  }
}