PageSourceSearch

https://node8.ai/mcp

html node8.ai collected 2026-10-05 13:11:58 UTC 34,933 bytes, 153 lines download raw bytes

1<!DOCTYPE html><html lang="en"> <head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><!-- Google Tag Manager -->
1<script>
vendor: 343 bytes, lines 1-5
1(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
2    new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
3    j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
4    'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
5    })(window,document,'script','dataLayer','
5GTM-TM9MM55X
vendor: 3 bytes, line 5
5');
5</script>
5<!-- End Google Tag Manager --><!-- Obert -->
5<script>
6    (function(w,d){
7      w._obert=w._obert||{};
8      if(w._obert.loaded)return;
9      w._obert.loaded=1;
10      w._obert.siteKey='ob_y4R7b-rMdUxqqzXyW4QHyu2mws3pPd-u';
11      var s=d.createElement('script');
12      s.async=1;
13      s.src='https://tracker.obert.io/tracker/v1/obert.js';
14      d.head.appendChild(s);
15    })(window,document);
16    </script>
16<!-- End Obert --><title>OpenAI &amp; Anthropic Integrations — MCP Connector Development | Node8</title><meta name="description" content="Node8 builds OpenAI and Anthropic integrations that make your data available through AI marketplaces and create new revenue channels — MCP connectors, end to end."><link rel="canonical" href="https://node8.ai/mcp/"><link rel="alternate" type="text/markdown" href="https://node8.ai/mcp/index.md"><link rel="sitemap" href="/sitemap-index.xml"><meta name="msvalidate.01" content="22E2DCE6BC447C6898365BDEAC793943"><meta name="theme-color" content="#060c1d"><!-- Favicon --><link rel="icon" type="image/svg+xml" href="/favicon.svg"><!-- Open Graph --><meta property="og:type" content="website"><meta property="og:site_name" content="Node8"><meta property="og:url" content="https://node8.ai/mcp/"><meta property="og:title" content="OpenAI &#38; Anthropic Integrations — MCP Connector Development | Node8"><meta property="og:description" content="Node8 builds OpenAI and Anthropic integrations that make your data available through AI marketplaces and create new revenue channels — MCP connectors, end to end."><meta property="og:image" content="https://node8.ai/og-image.png"><meta property="og:image:width" content="1200"><meta property="og:image:height" content="630"><meta property="og:image:alt" content="Node8 — Turn AI into measurable outcomes"><!-- Twitter --><meta name="twitter:card" content="summary_large_image"><meta name="twitter:site" content="@node8info"><meta name="twitter:title" content="OpenAI &#38; Anthropic Integrations — MCP Connector Development | Node8"><meta name="twitter:description" content="Node8 builds OpenAI and Anthropic integrations that make your data available through AI marketplaces and create new revenue channels — MCP connectors, end to end."><meta name="twitter:image" content="https://node8.ai/og-image.png">
16<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://node8.ai/#organization","name":"Node8","url":"https://node8.ai","logo":{"@type":"ImageObject","url":"https://node8.ai/og-image.png","width":1200,"height":630},"description":"Node8 builds custom AI systems and automations for real business workflows. Engineers with years of experience — not consultants with slide decks.","email":"[email protected]","sameAs":["https://www.linkedin.com/company/node8/","https://x.com/node8info"],"knowsAbout":["MCP server development","Model Context Protocol connectors","GTM engineering and signal-driven outbound","AI training and engineering enablement","Enterprise AI application development","Gemini Enterprise implementation","monday.com AI workflow automation","AI workflow automation"]},{"@type":"WebSite","@id":"https://node8.ai/#website","url":"https://node8.ai","name":"Node8","publisher":{"@id":"https://node8.ai/#organization"}},{"@type":"Service","serviceType":"OpenAI and Anthropic Integration and MCP Connector Development","name":"Node8 OpenAI & Anthropic Integrations","provider":{"@id":"https://node8.ai/#organization"},"areaServed":"Global","audience":{"@type":"Audience","audienceType":"Companies with valuable data, APIs, or internal systems"},"description":"Node8 builds OpenAI and Anthropic integrations that make company data available through AI marketplaces and create new revenue channels: production-ready MCP connectors from legacy APIs through security review to marketplace approval.","keywords":"OpenAI integration, Anthropic integration, MCP connector development, MCP server, Model Context Protocol, ChatGPT connector, Claude connector, AI marketplace distribution, AI revenue channel, AI data product","url":"https://node8.ai/mcp"},{"@type":"FAQPage","mainEntity":[{"@type":"Question","name":"What is an MCP connector and why would a company build one?","acceptedA
16nswer":{"@type":"Answer","text":"An MCP (Model Context Protocol) connector makes your data available inside AI assistants like ChatGPT, Claude, and Microsoft Copilot. Instead of logging into your platform, learning its interface, and exporting data, users ask questions in the assistant they already use — and the connector retrieves the right data, applies your business rules, and returns a useful answer."}},{"@type":"Question","name":"How long does it take to build and launch an MCP connector?","acceptedAnswer":{"@type":"Answer","text":"Most first implementations take 8–12 weeks, depending on the condition of your existing APIs, the number of data sources, and the security requirements. Marketplace review at Anthropic, OpenAI, and Microsoft adds time on top, so we start submissions early."}},{"@type":"Question","name":"What does an MCP connector cost?","acceptedAnswer":{"@type":"Answer","text":"Cost tracks scope rather than a fixed price list. The variables that move it are how many backend systems the connector reaches, how much work the underlying APIs need before they can support it, whether it only reads or also writes to production systems, and how much security and compliance review your category attracts. A single-source read-only connector is a materially smaller project than a multi-system one with write actions. We scope it concretely in a discovery session before any build commitment."}},{"@type":"Question","name":"What does a complete MCP engagement include beyond the server itself?","acceptedA
16nswer":{"@type":"Answer","text":"Data and API architecture, business logic and tool design, authentication and role-based access control, security and privacy architecture, marketplace submission to ChatGPT, Claude, and Copilot, user onboarding materials, and usage monitoring. The protocol layer is a small fraction of what makes a connector succeed."}},{"@type":"Question","name":"Can one MCP server serve multiple AI platforms?","acceptedAnswer":{"@type":"Answer","text":"Yes. MCP is an open standard: one server serves Claude, ChatGPT, Microsoft Copilot, Perplexity, and any other MCP-compatible client. You build the integration once and distribute it everywhere."}},{"@type":"Question","name":"How is access to our data controlled?","acceptedAnswer":{"@type":"Answer","text":"Every connector ships with secure authentication, subscription or role-based permissions, and explicit controls over what data can be retrieved, by whom, and under what conditions — designed around your governance and compliance requirements before launch, not bolted on after."}},{"@type":"Question","name":"Which companies benefit most from an MCP connector?","acceptedA
16nswer":{"@type":"Answer","text":"Financial data providers, research platforms, healthcare technology companies, marketplaces, automotive platforms, real estate databases, travel platforms — any company that owns valuable structured data its customers would want to query from an AI assistant, or that wants employees to query internal systems conversationally."}}]}]}</script>
16<meta name="astro-view-transitions-enabled" content="true"><meta name="astro-view-transitions-fallback" content="animate">
16<script type="module" src="/_astro/ClientRouter.astro_astro_type_script_index_0_lang.CDGfc0hd.js"></script>
16<link rel="stylesheet" href="/_astro/_slug_.BNVfAgb5.css"></head> <body> <!-- Google Tag Manager (noscript) -->
vendor: 68 bytes, line 16
16 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
16GTM-TM9MM55X
vendor: 83 bytes, line 16
16" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 
16<!-- End Google Tag Manager (noscript) --> <header class="site-header"> <div class="wrap nav-wrap"> <a href="/" class="brand">Node<span>8</span></a> <nav id="main-nav"> <ul> <li><a href="/#services">Services</a></li><li><a href="/#solutions">Industries</a></li><li><a href="/case-studies/">Case Studies</a></li><li><a href="/#how-it-works">How It Works</a></li><li><a href="/#partners">Partners</a></li> </ul> </nav> <div class="nav-right"> <a class="btn btn-ghost" href="/#contact">Contact</a> <button class="nav-toggle" id="nav-toggle" aria-label="Toggle navigation" aria-expanded="false" aria-controls="mobile-nav"> <span></span><span></span><span></span> </button> </div> </div> <div class="mobile-nav" id="mobile-nav" hidden> <ul> <li><a href="/#services">Services</a></li><li><a href="/#solutions">Industries</a></li><li><a href="/case-studies/">Case Studies</a></li><li><a href="/#how-it-works">How It Works</a></li><li><a href="/#partners">Partners</a></li> <li class="mobile-nav-heading">Services</li> <li><a href="/gtm">GTM AI</a></li><li><a href="/mcp">MCP Connectors</a></li><li><a href="/learn">AI Training &amp; Upskilling</a></li> <li class="mobile-nav-heading">Industries</li> <li><a href="/tech">Tech AI</a></li><li><a href="/health">Health AI</a></li><li><a href="/acct">Accounting AI</a></li><li><a href="/aec">AEC AI</a></li><li><a href="/finance">Financial Services AI</a></li> <li><a href="/#contact">Contact</a></li> </ul> </div> </header> <main>  <main class="service-page"> <section class="page-hero service-hero"> <div class="wrap"> <p class="section-kicker">OpenAI & Anthropic Integrations</p> <h1>Turn your data into a new AI revenue channel</h1> <p class="page-hero-copy">
17We build OpenAI and Anthropic integrations that make your data available through AI marketplaces and create
18          new revenue channels. From legacy APIs through security review to marketplace approval, end to end.
19</p> <div class="hero-actions"> <a href="/#contact" class="btn btn-primary">Build Your MCP Connector</a> <button type="button" class="btn btn-outline" data-cal-open="discovery" data-cal-link="node8/discovery" data-cal-namespace="discovery" data-cal-config="{&quot;layout&quot;:&quot;month_view&quot;,&quot;useSlotsViewOnSmallScreen&quot;:true}">Book an MCP Strategy Session</button> </div> </div> </section> <section class="section"> <div class="wrap"> <p class="section-kicker">The Shift</p> <h2>Your customers are changing how they access information</h2> <div class="landing-highlight"> <p>
20Users increasingly ask an AI assistant instead of navigating portals, dashboards, and search interfaces. An MCP connector
21            puts your data directly inside that workflow — so instead of digging through your platform, they ask:
22</p> <ul> <li>“What are the strongest investment opportunities based on my criteria?”</li><li>“Which products are compatible with this vehicle?”</li><li>“Where are we losing revenue in the claims process?”</li><li>“What changed in our pipeline this week?”</li> </ul> <p>The assistant retrieves the right data, applies your business rules, and delivers a useful answer.</p> </div> </div> </section> <section class="section section-soft"> <div class="wrap"> <p class="section-kicker">Two Ways to Use MCP</p> <h2>Launch a product for customers, or connect your own team</h2> <div class="landing-grid two"> <article class="landing-card"> <h3>Launch your data as an AI product</h3> <p>Make your proprietary data, catalog, research, or analytics available to customers through the leading AI platforms:</p> <ul> <li>Distribute through the OpenAI and Anthropic marketplaces</li><li>Create new subscription and revenue opportunities</li><li>Generate qualified traffic back to your platform</li><li>Get into the AI ecosystems before your competitors do</li> </ul> </article> <article class="landing-card"> <h3>Connect your organization to AI</h3> <p>Give executives and employees a secure way to ask business questions across CRM, ERP, finance, and internal systems:</p> <ul> <li>What deals have had no activity in the last 14 days?</li><li>Which customers are showing signs of churn?</li><li>Where are outstanding payments affecting revenue?</li><li>What commitments did we make during the last customer call?</li> </ul> </article> </div> </div> </section> <section class="section"> <div class="wrap"> <p class="section-kicker">More Than an MCP Server</p> <h2>Everything a connector needs to succeed</h2> <div class="landing-grid two"> <article class="landing-card"> <h3>Data, APIs, and business logic</h3> <p>We connect your existing APIs, databases, and legacy systems, and translate your domain expertise into tools and rules the AI assistant can use reliably.</p> </article><article class="landing-card"> <h3>Security and access control</h3> <p>Secure authentication, subscription and role-based permissions, and controls over what data can be retrieved, by whom, and under what conditions.</p> </article><article class="landing-card"> <h3>Platform approval and launch</h3> <p>We prepare and submit your connector to ChatGPT, Claude, and Microsoft Copilot, and guide it through their technical and marketplace reviews.</p> </article><article class="landing-card"> <h3>Adoption and improvement</h3> <p>Onboarding flows, example prompts, and documentation for your users — plus usage analytics that show which questions people ask and what to build next.</p> </article> </div> <div class="landing-highlight" style="margin-top: 2rem;"> <p>
23Most first implementations take 8–12 weeks, depending on the condition of your existing APIs, the number of data sources,
24            and the security requirements.
25</p> </div> </div> </section> <section class="section section-soft"> <div class="wrap"> <p class="section-kicker">Why Node8</p> <h2>From AI experiments to a product people use</h2>
25 <div class="chip-row" aria-label="Node8 MCP capabilities"> <span class="landing-chip">AI and data engineering</span><span class="landing-chip">Enterprise integration experience</span><span class="landing-chip">MCP implementation expertise</span><span class="landing-chip">Security and governance</span><span class="landing-chip">Marketplace approval experience</span><span class="landing-chip">Product strategy and user adoption</span> </div> <p class="page-hero-copy" style="margin-top: 2rem;">
26You end up with a working AI interface for your company’s data, running in the platforms where your customers and
27          employees already spend their day.
28</p> </div> </section> <section class="section"> <div class="wrap"> <p class="section-kicker">By industry</p> <h2>See what already exists in your category</h2> <p class="page-hero-copy">
29We catalogued all 2,289 apps in the public ChatGPT directory. Each
30          category page lists every one of them, plus what companies in that vertical typically expose to an
31          assistant.
32</p> <div class="chip-row"> <a class="landing-chip" href="/ai-connectors/productivity/">Productivity (760)</a><a class="landing-chip" href="/ai-connectors/finance/">Finance (363)</a><a class="landing-chip" href="/ai-connectors/other/">Other (351)</a><a class="landing-chip" href="/ai-connectors/business-operations/">Business Operations (347)</a><a class="landing-chip" href="/ai-connectors/data-analytics/">Data &amp; Analytics (260)</a><a class="landing-chip" href="/ai-connectors/travel/">Travel (232)</a><a class="landing-chip" href="/ai-connectors/developer-tools/">Developer Tools (188)</a><a class="landing-chip" href="/ai-connectors/education/">Education &amp; Research (130)</a><a class="landing-chip" href="/ai-connectors/healthcare/">Healthcare &amp; Life Sciences (101)</a><a class="landing-chip" href="/ai-connectors/entertainment/">Entertainment &amp; Media (95)</a><a class="landing-chip" href="/ai-connectors/sales-marketing/">Sales &amp; Marketing (94)</a><a class="landing-chip" href="/ai-connectors/creative-design/">Creative &amp; Design (92)</a><a class="landing-chip" href="/ai-connectors/communication/">Communication (44)</a><a class="landing-chip" href="/ai-connectors/commerce-shopping/">Commerce &amp; Shopping (35)</a><a class="landing-chip" href="/ai-connectors/legal/">Legal (33)</a><a class="landing-chip" href="/ai-connectors/security/">Security (17)</a><a class="landing-chip" href="/ai-connectors/nonprofit/">Nonprofit (8)</a> </div> <div class="landing-highlight" style="margin-top: 2rem;"> <p>
33Related reading: <a href="/chatgpt-app-development">ChatGPT app development</a> for the OpenAI-specific
34            path, <a href="/mcp-platforms">where an MCP server can be distributed</a> for how ChatGPT, Claude,
35            Copilot, and Gemini differ, and <a href="/state-of-chatgpt-apps">The State of ChatGPT Apps</a> for what
36            the full directory shows about who is building and where the gaps are.
37</p> </div> </div> </section> <section class="section"> <div class="wrap"> <p class="section-kicker">FAQ</p> <h2>MCP connector questions, answered</h2> <div class="faq-accordion service-faq"> <details class="faq-item"> <summary class="faq-question">What is an MCP connector and why would a company build one?</summary> <p class="faq-answer">An MCP (Model Context Protocol) connector makes your data available inside AI assistants like ChatGPT, Claude, and Microsoft Copilot. Instead of logging into your platform, learning its interface, and exporting data, users ask questions in the assistant they already use — and the connector retrieves the right data, applies your business rules, and returns a useful answer.</p> </details><details class="faq-item"> <summary class="faq-question">How long does it take to build and launch an MCP connector?</summary> <p class="faq-answer">Most first implementations take 8–12 weeks, depending on the condition of your existing APIs, the number of data sources, and the security requirements. Marketplace review at Anthropic, OpenAI, and Microsoft adds time on top, so we start submissions early.</p> </details>
37<details class="faq-item"> <summary class="faq-question">What does an MCP connector cost?</summary> <p class="faq-answer">Cost tracks scope rather than a fixed price list. The variables that move it are how many backend systems the connector reaches, how much work the underlying APIs need before they can support it, whether it only reads or also writes to production systems, and how much security and compliance review your category attracts. A single-source read-only connector is a materially smaller project than a multi-system one with write actions. We scope it concretely in a discovery session before any build commitment.</p> </details><details class="faq-item"> <summary class="faq-question">What does a complete MCP engagement include beyond the server itself?</summary> <p class="faq-answer">Data and API architecture, business logic and tool design, authentication and role-based access control, security and privacy architecture, marketplace submission to ChatGPT, Claude, and Copilot, user onboarding materials, and usage monitoring. The protocol layer is a small fraction of what makes a connector succeed.</p> </details><details class="faq-item"> <summary class="faq-question">Can one MCP server serve multiple AI platforms?</summary> <p class="faq-answer">Yes. MCP is an open standard: one server serves Claude, ChatGPT, Microsoft Copilot, Perplexity, and any other MCP-compatible client. You build the integration once and distribute it everywhere.</p> </details><details class="faq-item"> <summary class="faq-question">How is access to our data controlled?</summary> <p class="faq-answer">Every connector ships with secure authentication, subscription or role-based permissions, and explicit controls over what data can be retrieved, by whom, and under what conditions — designed around your governance and compliance requirements before launch, not bolted on after.</p> </details><details class="faq-item"> <summary class="faq-question">Which companies benefit most from an MCP connector?</summary> <p class="faq-answer">Financial data providers, research platforms, healthcare technology companies, marketplaces, automotive platforms, real estate databases, travel platforms — any company that owns valuable structured data its customers would want to query from an AI assistant, or that wants employees to query internal systems conversationally.</p> </details> </div> </div> </section> <section class="testimonials-cta"> <div class="wrap testimonials-cta-inner"> <h2>Is your data ready for AI distribution?</h2> <p>
38In a strategy session we will work out the best first use case, which data to expose, whether your current APIs are
39          sufficient, and which AI platforms to prioritize.
40</p> <div class="hero-actions" style="justify-content: center;"> <a href="/#contact" class="btn btn-primary">Build Your MCP Connector</a> <button type="button" class="btn btn-ghost" data-cal-open="discovery" data-cal-link="node8/discovery" data-cal-namespace="discovery" data-cal-config="{&quot;layout&quot;:&quot;month_view&quot;,&quot;useSlotsViewOnSmallScreen&quot;:true}">Book an MCP Strategy Session</button> </div> </div> </section> </main>  </main> <footer class="site-footer"> <div class="wrap footer-grid"> <div class="footer-brand"> <a href="/" class="brand">Node<span>8</span></a> <p>AI systems that ship — built by engineers, run by your team.</p> <div class="footer-socials"> <a href="https://www.linkedin.com/company/node8/" target="_blank" rel="noopener noreferrer" aria-label="Node8 on LinkedIn"> <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 0 1-2.063-2.065 2.064 2.064 0 1 1 2.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"></path></svg> </a> <a href="mailto:[email protected]" aria-label="Email Node8"> <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect width="20" height="16" x="2" y="4" rx="2"></rect><path d="m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"></path></svg> </a> </div> </div> <div class="footer-col"> <h4>Company</h4> <a href="/partners">Partners</a> <a href="/testimonials">Testimonials</a> <a href="/#contact">Contact</a> </div> <div class="footer-col"> <h4>Services</h4> <a href="/#services">AI Services</a> <a href="/gtm">GTM AI</a><a href="/mcp">MCP Connectors</a><a href="/learn">AI Training &amp; Upskilling</a> </div> <div class="footer-col"> <h4>Industries</h4> <a href="/tech">Tech AI</a><a href="/health">Health AI</a><a href="/acct">Accounting AI</a><a href="/aec">AEC AI</a><a href="/finance">Financial Services AI</a> </div> <div class="footer-col"> <h4>Resources</h4> <a href="/case-studies/">Case Studies</a> <a href="/kb/">Knowledge Base</a> <a href="/ai-connectors/">AI Connectors Directory</a> <a href="/accounting-tools/">
40Accounting Software Directory</a> <a href="/state-of-chatgpt-apps">State of ChatGPT Apps</a> <a href="/faq">FAQ</a> </div> <div class="footer-col"> <h4>Legal</h4> <a href="/privacy">Privacy</a> <a href="/terms">Terms</a> <a href="/security">Security</a> <a href="/cookies">Cookies</a> </div> </div> <div class="wrap footer-bottom"> <small>© 2026 Node8. All rights reserved.</small> </div> </footer> <style>
41      @media (max-width: 640px) {
42        cal-floating-button button {
43          height: 2.75rem !important;
44          padding: 0 0.9rem !important;
45          font-size: 0.85rem !important;
46        }
47      }
48    </style> 
48<script>
49      const toggle = document.getElementById('nav-toggle');
50      const mobileNav = document.getElementById('mobile-nav');
51      if (toggle && mobileNav) {
52        toggle.addEventListener('click', () => {
53          const expanded = toggle.getAttribute('aria-expanded') === 'true';
54          toggle.setAttribute('aria-expanded', String(!expanded));
55          toggle.classList.toggle('is-open');
56          mobileNav.hidden = expanded;
57        });
58        mobileNav.querySelectorAll('a').forEach((link) => {
59          link.addEventListener('click', () => {
60            toggle.setAttribute('aria-expanded', 'false');
61            toggle.classList.remove('is-open');
62            mobileNav.hidden = true;
63          });
64        });
65      }
66    </script>
66 <!-- Ad attribution: capture click params, persist them, attach to forms and conversion events --> 
66<script>
67      (function () {
68        var KEYS = ['utm_source','utm_medium','utm_campaign','utm_term','utm_content','campaign_id','ad_group_id','ad_id','ad_account_id','gclid','msclkid','fbclid','li_fat_id','ttclid'];
69        var params = new URLSearchParams(window.location.search);
70        var found = {};
71        var has = false;
72        KEYS.forEach(function (k) {
73          var v = params.get(k);
74          if (v) { found[k] = v.slice(0, 200); has = true; }
75        });
76        try {
77          if (has) {
78            found.landing_page = window.location.pathname;
79            found.landed_at = new Date().toISOString();
80            localStorage.setItem('n8_last_touch', JSON.stringify(found));
81            if (!localStorage.getItem('n8_first_touch')) {
82              localStorage.setItem('n8_first_touch', JSON.stringify(found));
83            }
84            window.dataLayer = window.dataLayer || [];
85            window.dataLayer.push(Object.assign({ event: 'ad_landing' }, found));
86          }
87        } catch (e) {}
88
89        function attribution() {
90          try {
91            return JSON.parse(localStorage.getItem('n8_last_touch') || localStorage.getItem('n8_first_touch') || 'null');
92          } catch (e) { return null; }
93        }
94        window.__n8Attribution = attribution;
95
96        // Add attribution as hidden fields so Web3Forms includes it in the lead email
97        function decorateForms() {
98          var attr = attribution();
99          if (!attr) return;
100          document.querySelectorAll('form').forEach(function (form) {
101            Object.keys(attr).forEach(function (k) {
102              if (form.querySelector('[name="' + k + '"]')) return;
103              var input = document.createElement('input');
104              input.type = 'hidden';
105              input.name = k;
106              input.value = attr[k];
107              form.appendChild(input);
108            });
109          });
110        }
111        if (document.readyState === 'loading') {
112          document.addEventListener('DOMContentLoaded', decorateForms);
113        } else {
114          decorateForms();
115        }
116
117        // Lead conversion event on any form submit
118        document.addEventListener('submit', function (e) {
119          var form = e.target;
120          if (!form || form.tagName !== 'FORM') return;
121          var attr = attribution() || {};
122          window.dataLayer = window.dataLayer || [];
123          window.dataLayer.push(Object.assign({ event: 'generate_lead', form_id: form.id || form.className || 'form' }, attr));
124          if (window.posthog && window.posthog.capture) {
125            window.posthog.capture('form_submitted', Object.assign({ form_id: form.id || form.className || 'form' }, attr));
126          }
127        }, true);
128      })();
129    </script>
129 <!-- PostHog --> 
129<script>!function(t,e){var o,n,p,r;e.__SV||(window.posthog && window.posthog.__loaded)||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.crossOrigin="anonymous",p.async=!0,p.src=s.api_host.replace(".i.posthog.com","-assets.i.posthog.com")+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="fi init Ci Mi ft Fi Ai Ri capture calculateEventProperties Ui register register_once register_for_session unregister unregister_for_session qi getFeatureFlag getFeatureFlagPayload getFeatureFlagResult isFeatureEnabled reloadFeatureFlags updateFlags updateEarlyAccessFeatureEnrollment getEarlyAccessFeatures on onFeatureFlags onSurveysLoaded onSessionId getSurveys getActiveMatchingSurveys renderSurvey displaySurvey cancelPendingSurvey canRenderSurvey canRenderSurveyAsync identify setPersonProperties group resetGroups setPersonPropertiesForFlags resetPersonPropertiesForFlags setGroupPropertiesForFlags resetGroupPropertiesForFlags reset get_distinct_id getGroups get_session_id get_session_replay_url alias set_config startSessionRecording stopSessionRecording sessionRecordingStarted captureException startExceptionAutocapture stopExceptionAutocapture loadToolbar get_property getSessionProperty Hi ji createPersonProfile setInternalOrTestUser Bi Pi Vi opt_in_capturing opt_out_capturing has_opted_in_capturing has_opted_out_capturing get_explicit_consent_status is_capturing clear_opt_in_out_capturing Di debug bt zi getPageViewId captureTraceFeedback captureTraceMetric Si".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]);posthog.init('phc_tW5xgvbXzt1xpiOSuET1NayHonaG7DSeW591EE9ieFt',{api_host:'https://us.i.posthog.com',defaults:'2026-01-30',person_profiles:'identified_only'});</script>
129 <!-- RB2B --> 
129<script>!function () {var reb2b = window.reb2b = window.reb2b || [];if (reb2b.invoked) return;reb2b.invoked = true;reb2b.methods = ["identify", "collect"];reb2b.factory = function (method) {return function () {var args = Array.prototype.slice.call(arguments);args.unshift(method);reb2b.push(args);return reb2b;};};for (var i = 0; i < reb2b.methods.length; i++) {var key = reb2b.methods[i];reb2b[key] = reb2b.factory(key);}reb2b.load = function (key) {var script = document.createElement("script");script.type = "text/javascript";script.async = true;script.src = "https://s3-us-west-2.amazonaws.com/b2bjsstore/b/" + key + "/LNKLDHP99DOJ.js.gz";var first = document.getElementsByTagName("script")[0];first.parentNode.insertBefore(script, first);};reb2b.SNIPPET_VERSION = "1.0.1";reb2b.load("LNKLDHP99DOJ");}();</script>
129 <!-- Swan --> 
129<script>(function () {var w = window;var swan = (w.swan = w.swan || []);if (swan.isLoaded) return;swan.isLoaded = true;swan.pk = 'cmalo0ssx0007ld05rkf11wk9';var script = document.createElement('script');script.type = 'text/javascript';script.async = true;script.src = 'https://script.getswan.com?pk=cmalo0ssx0007ld05rkf11wk9';var head = document.getElementsByTagName('head')[0];head.appendChild(script);})();</script>
129 <!-- Leadsy --> 
129<script id="vtag-ai-js" async src="https://r2.leadsy.ai/tag.js" data-pid="1AWJqrHwyt0Q3JkZO" data-version="062024"></script>
129 <!-- Warmly --> 
129<script id="warmly-script-loader" src="https://opps-widget.getwarmly.com/warmly.js?clientId=333e50ff2d119c79e3b5867e2eb3e3a1" defer></script>
129 <!-- Factors AI --> 
129<script>window.faitracker=window.faitracker||function(){this.q=[];var t=new CustomEvent("FAITRACKER_QUEUED_EVENT");return this.init=function(t,e,a){this.TOKEN=t,this.INIT_PARAMS=e,this.INIT_CALLBACK=a,window.dispatchEvent(new CustomEvent("FAITRACKER_INIT_EVENT"))},this.call=function(){var e={k:"",a:[]};if(arguments&&arguments.length>=1){for(var a=1;a<arguments.length;a++)e.a.push(arguments[a]);e.k=arguments[0]}this.q.push(e),window.dispatchEvent(t)},this.message=function(){window.addEventListener("message",function(t){"faitracker"===t.data.origin&&this.call("message",t.data.type,t.data.message)})},this.message(),this.init("yws5m9268jvx5n6h930rn8lp6wnfvmx2",{host:"https://api.factors.ai"}),this}(),function(){var t=document.createElement("script");t.type="text/javascript",t.src="https://app.factors.ai/assets/factors.js",t.async=!0,(d=document.getElementsByTagName("script")[0]).parentNode.insertBefore(t,d)}();</script>
129 <!-- WebMCP tools --> 
129<script type="module" src="/_astro/Layout.astro_astro_type_script_index_0_lang.BS7fJC_V.js"></script>
129 <!-- Cal.com embed --> 
129<script type="text/javascript">
130      (function (C, A, L) { let p = function (a, ar) { a.q.push(ar); }; let d = C.document; C.Cal = C.Cal || function () { let cal = C.Cal; let ar = arguments; if (!cal.loaded) { cal.ns = {}; cal.q = cal.q || []; d.head.appendChild(d.createElement("script")).src = A; cal.loaded = true; } if (ar[0] === L) { const api = function () { p(api, arguments); }; const namespace = ar[1]; api.q = api.q || []; if(typeof namespace === "string"){cal.ns[namespace] = cal.ns[namespace] || api;p(cal.ns[namespace], ar);p(cal, ["initNamespace", namespace]);} else p(cal, ar); return;} p(cal, ar); }; })(window, "https://app.cal.com/embed/embed.js", "init");
131      Cal("init", "discovery", {origin:"https://app.cal.com"});
132      Cal.ns.discovery("floatingButton", {"calLink":"node8/discovery","config":{"layout":"month_view","useSlotsViewOnSmallScreen":true},"buttonColor":"#00e5b0","buttonText":"Book a call","buttonTextColor":"#000000"});
133      Cal.ns.discovery("preload", {"calLink":"node8/discovery"});
134      Cal.ns.discovery("ui", {"hideEventTypeDetails":false,"layout":"month_view"});
135      Cal.ns.discovery("on", {action: "bookingSuccessful", callback: function () {
136        var attr = (window.__n8Attribution && window.__n8Attribution()) || {};
137        window.dataLayer = window.dataLayer || [];
138        window.dataLayer.push(Object.assign({ event: 'cal_booking' }, attr));
139        if (window.posthog && window.posthog.capture) {
140          window.posthog.capture('discovery_call_booked', attr);
141        }
142      }});
143      Cal("init", "build-your-connector", {origin:"https://app.cal.com"});
144      Cal.ns["build-your-connector"]("ui", {"hideEventTypeDetails":false,"layout":"month_view"});
145      Cal.ns["build-your-connector"]("on", {action: "bookingSuccessful", callback: function () {
146        var attr = (window.__n8Attribution && window.__n8Attribution()) || {};
147        window.dataLayer = window.dataLayer || [];
148        window.dataLayer.push(Object.assign({ event: 'cal_booking' }, attr));
149        if (window.posthog && window.posthog.capture) {
150          window.posthog.capture('connector_call_booked', attr);
151        }
152      }});
153    </script>
153 </body> </html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.