AutomationFlowsAI & RAG › Build an AI Company Research Agent with Mcp and Bounce Watch

Build an AI Company Research Agent with Mcp and Bounce Watch

Build an AI company research agent with MCP and Bounce Watch. Uses chatTrigger, lmChatOpenAi, memoryBufferWindow, mcpClientTool. Chat trigger; 8 nodes.

Chat trigger trigger★★★☆☆ complexityAI-powered8 nodesChat TriggerOpenAI ChatMemory Buffer WindowMcp Client ToolAgent
AI & RAG Trigger: Chat trigger Nodes: 8 Complexity: ★★★☆☆ AI nodes: yes Added:

This workflow follows the Agent → Chat Trigger recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "name": "Build an AI company research agent with MCP and Bounce Watch",
  "nodes": [
    {
      "parameters": {
        "width": 520,
        "height": 1000,
        "content": "## Build an AI company research agent with MCP and Bounce Watch\n\nAsk about a company in plain language and get an answer built from real, dated events - funding rounds, senior hires, new offices, customer wins, partnerships. What the API covers: bouncewatch.com/products/data-enrichment-api\n\nThis one needs no extra node installed. It points n8n's own MCP Client Tool at the Bounce Watch MCP server, so the agent reaches every Bounce Watch capability through a single connection.\n\n### How it works\n\nThe chat trigger takes the question. The agent has one tool: the Bounce Watch MCP server, which exposes company search, company profiles, dated signal timelines, watchlists and the signal taxonomy. The agent picks whichever it needs, sometimes several in a row - find the domain, then pull the timeline, then check what kind of signal that was. Memory keeps the thread, so \"and what about their hiring?\" still knows which company you meant.\n\nThe system message carries two rules that decide whether the answers are trustworthy. Dates are reported as dates, and where a signal records when a change was measured rather than when it happened, the agent says so. A short signal list is never reported as a company having gone still.\n\n### Setup\n\n1. Get an API key at bouncewatch.com/register/api. It is free, no card, and every new account starts with 2,500 credits.\n2. On the MCP Client Tool node, create a Header Auth credential. Name: X-API-Key. Value: your key.\n3. Add your OpenAI credential to the model node.\n4. Open the chat and ask about a company you know."
      },
      "id": "bwStickyNote",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -380,
        -120
      ]
    },
    {
      "parameters": {
        "width": 440,
        "height": 300,
        "content": "## One connection, every capability\n\nThe MCP server exposes search, profiles, timelines, watchlists and the taxonomy. Nothing else needs installing on the n8n side.",
        "color": 7
      },
      "id": "bwSection1",
      "name": "Section 1",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        200,
        -180
      ]
    },
    {
      "parameters": {
        "width": 800,
        "height": 420,
        "content": "## Memory is what makes it a conversation\n\nWithout it every follow-up question starts from nothing and the agent asks which company you meant.",
        "color": 7
      },
      "id": "bwSection2",
      "name": "Section 2",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        200,
        240
      ]
    },
    {
      "parameters": {
        "options": {}
      },
      "id": "bw0301-0000-4000-8000-000000000301",
      "name": "Ask about a company",
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "typeVersion": 1.3,
      "position": [
        260,
        0
      ],
      "notes": "Open the chat and type a question. Swap this for Slack or a webhook later."
    },
    {
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini",
          "cachedResultName": "gpt-4.1-mini"
        },
        "options": {}
      },
      "id": "bw0302-0000-4000-8000-000000000302",
      "name": "The model that answers",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "typeVersion": 1.3,
      "position": [
        540,
        420
      ],
      "notes": "Any chat model works."
    },
    {
      "parameters": {
        "sessionIdType": "fromInput",
        "contextWindowLength": 10
      },
      "id": "bw0303-0000-4000-8000-000000000303",
      "name": "Remember the thread",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "typeVersion": 1.3,
      "position": [
        680,
        420
      ],
      "notes": "Keeps follow-up questions attached to the company already being discussed."
    },
    {
      "parameters": {
        "endpointUrl": "https://api.bouncewatch.com/api/v1/mcp",
        "serverTransport": "httpStreamable",
        "authentication": "headerAuth",
        "include": "all",
        "options": {}
      },
      "id": "bw0304-0000-4000-8000-000000000304",
      "name": "Bounce Watch over MCP",
      "type": "@n8n/n8n-nodes-langchain.mcpClientTool",
      "typeVersion": 1.4,
      "position": [
        820,
        420
      ],
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "notes": "Header Auth credential. Name: X-API-Key. Value: your key."
    },
    {
      "parameters": {
        "options": {
          "systemMessage": "=You answer questions about companies using the Bounce Watch tools, and nothing else.\n\nHow to answer:\n- Say what happened and when. Report dates as dates.\n- Some signals record the date a change was measured rather than the date it happened. Where a signal says so, write \"picked up on\" rather than \"on\".\n- A short signal list is not evidence that a company has stopped moving. It can mean we have not been watching that one closely, not that nothing happened. Never present the second as the first.\n- If you only have a company name, find its domain first, then look the company up.\n- Describe what you can do in plain language. Never name the tools you called."
        }
      },
      "id": "bw0305-0000-4000-8000-000000000305",
      "name": "Answer the question",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 1.7,
      "position": [
        620,
        0
      ],
      "notes": "The rules about dates and about short signal lists live in the system message."
    }
  ],
  "connections": {
    "Ask about a company": {
      "main": [
        [
          {
            "node": "Answer the question",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "The model that answers": {
      "ai_languageModel": [
        [
          {
            "node": "Answer the question",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Remember the thread": {
      "ai_memory": [
        [
          {
            "node": "Answer the question",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Bounce Watch over MCP": {
      "ai_tool": [
        [
          {
            "node": "Answer the question",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1"
  },
  "meta": {
    "templateCredsSetupCompleted": true
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Build an AI company research agent with MCP and Bounce Watch. Uses chatTrigger, lmChatOpenAi, memoryBufferWindow, mcpClientTool. Chat trigger; 8 nodes.

Source: https://github.com/bouncewatch/n8n-nodes-bouncewatch/blob/main/templates/build-an-ai-company-research-agent-with-mcp-and-bounce-watch.json — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

Description: Turn your WooCommerce store into a conversational AI assistant — create products, place orders, run reports and manage coupons using natural language via n8n + an MCP Server.

Agent, OpenAI Chat, Mcp Client Tool +4
AI & RAG

This n8n workflow template uses community nodes and is only compatible with the self-hosted version of n8n.

Chat Trigger, Agent, N8N Nodes Mcp +4
AI & RAG

This workflow runs a chat-based OpenAI assistant in n8n that calls three MCP servers for Google Calendar management, Gmail search and draft replies, and utility tools for weather, currency conversion,

Chat Trigger, Agent, OpenAI Chat +7
AI & RAG

This n8n workflow showcases a full-featured AI-powered assistant connected to a Shopify store through a custom MCP (Multi-Channel Commerce Platform) Server toolkit. It empowers users to automate compr

Agent, OpenAI Chat, Mcp Client Tool +4
AI & RAG

AI Agent MCP for Email & News Research

Agent, Chat Trigger, OpenAI Chat +6