ClickFlare MCP and LanderLab MCP: Connect Both to Hermes and Track Meta Leads

· 12 min read

Olgert Pysqyli

Olgert Pysqyli

Dev Team Lead

You have a LanderLab page ready for Meta traffic. Before the first click, someone has to do the tracker work. That means an offer, a traffic source, a campaign and a tracking link full of Meta macros. You also need a postback from LanderLab and a test lead to prove it all works.

This walkthrough hands most of that job to Hermes Agent through the ClickFlare MCP and the LanderLab MCP, all from a Telegram chat. It follows the first part of this series, where the same agent built a 2-variant quiz page for a dental implant clinic in Prato, Italy.

We recorded this run in June 2026. LanderLab has changed how its MCP server connects since then, so Step 1 shows the current method, not the one in our recording.

Here's the full setup in 7 steps:

  1. Connect the LanderLab MCP to Hermes with a one-time browser sign-in.
  2. Connect the ClickFlare MCP with an API key, approve the command and reload.
  3. Ask for a 30-day campaign overview to prove the connection reads real data.
  4. Schedule a daily 9 a.m. briefing in Telegram.
  5. Ask Hermes to add your page to ClickFlare as an offer and build the Meta campaign.
  6. Add the ClickFlare S2S postback in LanderLab.
  7. Send one test lead and check 4 places.

What you need before you start

  • Hermes Agent with its Telegram bot running. Hermes is an open-source AI agent from Nous Research that runs on your own computer or server.
  • A LanderLab Grow, Scale or Enterprise plan. Those plans include API and MCP access.
  • A ClickFlare account.
  • A published LanderLab page. Ours runs 2 quiz variants on one URL, split 50/50.
  • Terminal access to the machine that runs Hermes, for one sign-in step.

MCP, short for Model Context Protocol, is an open standard that lets an AI agent use another app's tools. LanderLab and ClickFlare each run an MCP server. Once Hermes connects to both, one chat can read your ClickFlare reports and make changes in both accounts.

Step 1: Connect the LanderLab MCP with a sign-in

In our June recording, we connected LanderLab by pasting an API key into the chat. LanderLab has since replaced that method. On September 1, 2026, LanderLab moved its MCP server to a browser sign-in (OAuth) at https://api.landerlab.dev/mcp, according to LanderLab's changelog. API keys now cover direct REST API calls only.

If your Hermes config still has a LanderLab entry that points to /api/v2/mcp, remove it and add the new one. The Hermes MCP guide covers servers that use sign-in. It comes down to 4 actions:

  1. Ask Hermes in Telegram to add an MCP server named landerlab with the URL https://api.landerlab.dev/mcp and auth: oauth. You can also add those lines to ~/.hermes/config.yaml yourself.
  2. On the machine that runs Hermes, run hermes mcp login landerlab.
  3. Open the link it prints, sign in to LanderLab and click Authorize.
  4. If Hermes runs on a server, do the sign-in on your own computer. Then copy the address your browser lands on and paste it into the terminal when Hermes asks.

No key ends up in your chat history, which is the real gain. LanderLab's MCP page shows the same sign-in for Claude, ChatGPT and other chat apps.

Step 2: Connect the ClickFlare MCP with an API key

ClickFlare's MCP server still uses API keys. In ClickFlare, open Settings, then API Keys, and click Create API key. Name it after the agent (we used hermes-tutorial), click Generate and copy the key. ClickFlare shows it only once.

ClickFlare Generate API Key dialog with a new hermes-tutorial key that is visible only once
ClickFlare shows a new key only once. Copy it before you close the dialog.

Then send Hermes one message in Telegram, with the key pasted underneath:

Create a new MCP connection to ClickFlare using the API key below.

We didn't give it the server URL. Hermes filled in https://mcp.clickflare.com/mcp itself, wrote the entry to its config, tested it and reported it connected with 37 tools at the time. Our install had built a tracker skill on earlier jobs, which helped. If yours asks for the URL, it's in ClickFlare's MCP docs.

A key pasted into Telegram stays in your chat history, and ClickFlare's own API page tells you never to share secret keys. Delete the message once the connection works. For a cleaner setup, keep the key in ~/.hermes/.env and reference it in config.yaml as ${VAR}, which the Hermes MCP guide describes.

Approve the command, but read the warning

Hermes asks before it runs a command that changes its setup. In Telegram, that's a card with 4 buttons: Allow Once, Session, Always and Deny.

Hermes command approval card in Telegram with Allow Once, Session, Always and Deny buttons
Recorded in June 2026, while connecting LanderLab with the older API key setup. The buttons work the same way today.

Our card came up while we connected LanderLab in June, and it carried a security note about a lookalike domain. Hermes checks commands with a scanner called Tirith. It flags every domain ending in .dev, .app, .zip, .mov or .run, because those endings can pass for file names. The flag is generic, and api.landerlab.dev is LanderLab's real API address.

Think before you tap Always. The Hermes security docs say it saves that command pattern to your allowlist for good, so similar commands stop asking. We tapped Always. With a new agent, Allow Once or Session is the safer habit. Newer Hermes versions word the card differently, but the buttons are the same.

Reload before you test

New servers only show up in the chat after a reload. Hermes reminded us after each connection. The advice in our recording was to reload every time, because cached tool lists can stop new tools from working. Type /reload-mcp in Telegram.

ClickFlare MCP connected in Hermes with 37 tools, then reloaded with 241 tools from 5 servers
Reload after every new server, or the new tools may not show up in the chat.

Our reload reported 241 tools from 5 servers. That total includes other servers this Hermes install had connected, such as Ahrefs.

Step 3: Ask the ClickFlare MCP for a 30-day overview

Start with a read-only question. It proves the connection works and changes nothing in your account. We sent this:

Show me an overview of my campaigns for the last 30 days. Give me useful insights and things I should be aware of.

It's a heavy request, since the agent has to call several ClickFlare endpoints, but it still answered within a minute.

Hermes 30-day ClickFlare overview with visits, clicks, conversions, revenue, cost, profit and ROI
A read-only first test. These are test campaigns, so treat the numbers as a demo.

The reply opened with account totals: visits, clicks, conversions, revenue, cost, profit, ROI, average CVR (conversion rate) and EPV (earnings per visit). Then it grouped campaigns by type and gave each one a short verdict, such as "Needs cleanup". The campaigns in this account are test campaigns, so read the numbers as a demo.

Then came the insights, the part worth reading. Organic traffic was carrying the account, paid social had traffic but weak conversion economics, and retargeting had the best paid ROI.

It also said the long tail of small tests was adding noise, and that mobile quiz pages should show the first question without scrolling. On these test campaigns, the read was accurate.

Step 4: Schedule a daily ClickFlare briefing

Next, turn that report into something you don't have to ask for. We sent:

Create a daily briefing report about my campaigns. It should run daily at 9am. Include: snapshot of my campaigns, top winners and losers, useful insights, any anomalies or trends.

Hermes created a cron job, that is, a task that runs on a fixed schedule. Its reply listed the job name, the first run and the schedule, which was 09:00 in our time zone (Europe/Tirane). Delivery went to the same Telegram chat.

Hermes confirms a Daily ClickFlare Campaign Briefing cron job at 09:00, delivered to Telegram
One message sets up a report that arrives every morning at 9.

Read the last line of that reply. Hermes removed a toolset restriction so the scheduled run could use the ClickFlare MCP tools. If your first briefing arrives empty, ask Hermes about that setting first.

The value is in the anomalies. Ask the briefing to call out a conversion rate that drops overnight, a traffic source that stops converting or a landing page that breaks. You read that in Telegram at 9 a.m. instead of logging in to ClickFlare and rebuilding the same grouped report.

A broken page is worth catching before 9 a.m., so keep a landing page monitoring routine as well.

Step 5: Let Hermes build the Meta campaign in ClickFlare

First, one ClickFlare term. The offer is the page where the conversion happens. We collect the leads on the LanderLab page ourselves, so that page is the offer. With a pre-lander (a warm-up page) in front, the pre-lander would be the landing page in ClickFlare, and this page would stay the offer.

Our prompt was vague on purpose:

Add the landing page you created before on LanderLab (your page URL) to ClickFlare as an offer. I want to send traffic to a campaign on Meta that sends traffic to this offer. Set up the campaign and everything else needed and send me the tracking link.

About 2 minutes later, Hermes had used the ClickFlare MCP to create 3 items:

  • A traffic source for Meta Ads.
  • An offer with the page URL plus ?cf_click_id={cf_click_id}, so ClickFlare can hand its click ID to the page.
  • A campaign using redirect tracking, with a tracking link for Meta.
Hermes lists the Meta traffic source, offer, campaign and tracking link it created in ClickFlare
About 2 minutes after the prompt. The tracking domain is blurred.

The tracking link goes into the Meta ad as its destination URL. It carries 8 of Meta's dynamic URL parameters, such as {{ad.id}}, {{adset.name}} and {{placement}}. Meta fills them in at click time, so ClickFlare can report by ad, ad set, campaign, placement and site.

One catch from Meta's docs is that name parameters pass the name an ad had when it was first published. Rename an ad later, and your reports keep the old name.

Redirect tracking sends the click to ClickFlare first. ClickFlare records it, then forwards the visitor to your page with the click ID in the URL. ClickFlare recommends this method when the traffic source allows it. The other option, direct tracking, relies on a script on the page.

Read the checks, and the warning at the end

Before it replied, Hermes checked the live page. It confirmed the page reads cf_click_id, calls ClickFlare's /cf/cv conversion endpoint and fires an event when someone submits the lead form. That ClickFlare code came from part 1, where we asked the agent to add it.

Then came the most useful line of the run. Cost tracking was set to "not tracked", so ClickFlare would record visits, leads and revenue, but not Meta spend. Until you connect or import Meta costs, cost shows as $0 and ROI means nothing. Fix it before anyone reads the first report.

To check the redirect, open the tracking link in a fresh browser window. Your browser keeps a cookie, so it shows you the same variant every time. A new browser can land on the other one.

Step 6: Send LanderLab leads to ClickFlare with the S2S postback

An S2S (server-to-server) postback is a call from LanderLab's server to ClickFlare's when someone submits the form. It carries the click ID, so ClickFlare can credit the right campaign and ad without relying on the visitor's browser. We did this part by hand in LanderLab:

  1. In ClickFlare, open the campaign and copy its postback URL.
  2. In LanderLab, open the landing page, go to Integrations and click Add Integration.
  3. Pick ClickFlare and give the integration a name.
  4. Paste the postback URL, then delete everything after /cf/cv.
  5. Enter the Click ID URL parameter.
  6. Click Continue, keep the field mapping on and save.
LanderLab ClickFlare integration form with name, postback URL ending in /cf/cv and click ID field
We typed clickid in the recording. Enter the parameter your offer URL uses. Ours was cf_click_id.

Take care with item 5. LanderLab's ClickFlare postback guide says this value must match the click ID parameter in your offer URL. Ours used cf_click_id, so that's the value to enter. In the recording, we typed clickid, the field's placeholder. The test conversion still reached ClickFlare, but we'd match the names rather than count on that.

The mapping screen passes lead details into ClickFlare's custom parameters, including the lander URL, variant ID, lead ID and ClickFlare click ID. LanderLab's guide also suggests adding ct=lead as an extra parameter, so ClickFlare records the conversion type.

This page also runs the Telegram workflow from part 1. So one form submit now does 2 jobs. It posts the conversion to ClickFlare and sends the lead to your chat.

Get every lead into ClickFlare without code

LanderLab pages post each form submit to ClickFlare by S2S postback, with the click ID and lead details.

  • Native ClickFlare integration on every page
  • Quiz answers and hidden fields passed along
  • MCP access on Grow, Scale and Enterprise

Build a page free

Step 7: Send one test lead and check 4 places

Open the tracking link in a private window, answer the quiz and submit the form. Then check these 4 places, in this order:

  1. Telegram. The workflow alert with the lead details. Ours arrived within seconds.
  2. LanderLab, Leads tab. The lead and the variant it saw. Ours was Variant A.
  3. LanderLab, Logs tab. Under Integrations, a "200 - OK" row for the ClickFlare postback and a "WorkflowExecuted" row for the workflow.
  4. ClickFlare, Activity, Event Logs. A Conversion row with your click ID. Campaign reports can lag a couple of minutes because ClickFlare caches data, so start with the logs.
LanderLab integration logs with a 200 OK ClickFlare postback and an executed Telegram workflow
Seconds after the test lead, LanderLab logged the ClickFlare postback and the workflow run.

Look at ClickFlare's Postback Status tab as well. In our run, it showed failed entries for the test. Our read is that the fake phone number in the test lead caused it. Use test data that looks real.

Common mistakes to avoid

  • Keeping the old LanderLab setup. Entries that point to /api/v2/mcp with an API key need to be removed and added again with sign-in.
  • Mismatched click ID names. The Click ID URL parameter in LanderLab has to match your offer URL.
  • Reading ROI without costs. With cost tracking off, profit and ROI look better than they are.
  • Tapping Always by habit. It allows that command pattern for good.
  • Keeping test keys alive. Use one key per agent. We made ours for the recording and planned to delete it right after.
  • Trusting the agent's check alone. Its page check proves the code is there. Only a test lead proves the data flows.

FAQ

What is the ClickFlare MCP?

It's ClickFlare's MCP server, at https://mcp.clickflare.com/mcp. With your API key, an AI agent or assistant can analyze your performance data and create campaigns, offers and landers from a chat.

Do I need to know the MCP server URLs?

Not in our run. Hermes filled in the ClickFlare URL from the API key alone, helped by a skill it had built on earlier jobs. For LanderLab's current sign-in setup, the URL is https://api.landerlab.dev/mcp.

Which LanderLab plans include MCP access?

Grow, Scale and Enterprise. You can build and publish pages on the free plan, then upgrade when you want to connect an agent.

Can I use Claude or ChatGPT instead of Hermes?

For the MCP part, yes. Both servers work with MCP clients such as Claude and ChatGPT. The Telegram chat, the daily cron job and the approval buttons are Hermes features.

Is it safe to give an AI agent access to my tracker?

It's as safe as the access you give it. Use one key per agent, keep approvals on, choose Allow Once for new commands and delete old keys.

Where to start

Start with the read-only part. Connect both MCP servers, ask the ClickFlare MCP for a 30-day overview and compare it with your dashboard. When the numbers match, let Hermes build one campaign, add the postback yourself and send a test lead before any Meta budget goes live.

Build the page your agent can track

Start on the free plan, then connect Claude, ChatGPT or Hermes through the LanderLab MCP on Grow and above.

Start for freeFree forever plan. No credit card required.