AI

Why I Built A Custom MCP Server For My Webflow Client Onboarding In 2026

Written by
Pravin Kumar
Published on
Jun 23, 2026

Why Webflow Client Onboarding Was Quietly Killing My Margins

Every new Webflow project used to start the same way for me. I spent three days collecting brand assets, GA4 access, Search Console access, current sitemap, copy doc, hosting credentials, and then another two days transcribing the kickoff call into a working brief. Five days of pure setup before I touched the design. On a 4 lakh rupee project that is a meaningful slice of margin gone.

In April 2026 I added it up across the year. I had run 31 client onboardings in 12 months and burned roughly 155 days on setup work. That is 31 percent of my billable capacity spent on the work clients hate paying for. The Webflow Partner Census from May 2026 found the median partner spends 27 percent of project time on pre-build onboarding tasks, so I was even worse than average.

That number is what pushed me to build a custom MCP server. This piece walks through what it does, why I did not use a generic agent, and the specific Webflow rituals it now automates.

What Is The Model Context Protocol And Why Does It Matter For Freelancers?

The Model Context Protocol, released by Anthropic in November 2024 and now an open standard, lets you expose tools and data to large language models in a uniform way. Any MCP-compatible client like Claude Desktop, Claude Code, ChatGPT Atlas, or Cursor can call your server and use its tools without bespoke integration code. By June 2026, Anthropic reported 18 thousand public MCP servers in its directory.

For a solo Webflow practice, MCP matters because it turns Claude into a real teammate for repetitive work. Instead of me copying GA4 numbers into a doc, Claude calls the GA4 tool through my server, fetches the numbers itself, and writes the summary. I never touch the credential paste.

The Webflow MCP server published by Webflow in February 2026 already covers site and CMS operations. My custom server fills the gaps around it.

What Does My Custom Onboarding Server Actually Do?

The server exposes seven tools tuned for my onboarding workflow. The first pulls a structured brief from a Google Doc using the Docs API. The second fetches the last 16 months of Search Console queries and clicks for a property. The third reads GA4 sessions and conversion data through the Data API. The fourth crawls the existing site with a hosted Sitebulb instance and returns the URL inventory. The fifth saves brand assets from a Notion page into a Cloudflare R2 bucket. The sixth creates a Linear project with my standard task template. The seventh sends a kickoff confirmation email via Resend.

None of these are exotic. The unlock is having one mental model that calls all of them from Claude Desktop in a single conversation. I tell Claude "start onboarding for Acme Corp, GSC property X, GA4 property Y, kickoff doc Z" and it runs the whole sequence in about four minutes.

For the Webflow side, I lean on Webflow's official MCP server. My take on the Webflow SEO audit MCP server covers how I use it for ongoing audits.

Why Build Custom Instead Of Using Zapier Or A Generic Agent?

The answer is reasoning, not automation. Zapier and Make are fantastic for deterministic flows where step three always follows step two with the same shape of data. Onboarding is messy. Sometimes the client has Search Console but not GA4. Sometimes the brand doc is in Figma instead of Notion. Sometimes the kickoff was recorded in Granola instead of Fireflies. A linear automation breaks on day one.

An MCP server gives Claude the tools but lets the model decide which to call based on what the client actually has. The June 2026 release of Claude Opus 4.7 improved multi-tool reasoning by 34 percent on the SWE-bench-MultiTool benchmark, and I felt that improvement immediately in onboarding flows.

The other reason is that I own the code. Zapier ratecaps, pricing tier shifts, and integration deprecations are out of my control. A 400-line Python MCP server living on Fly.io is fully under mine.

How Long Did It Take To Build And Was It Worth It?

I built the first working version in two weekends, about 14 hours of focused work. I used the Anthropic MCP Python SDK, deployed to Fly.io with a single Dockerfile, and stored secrets in 1Password Service Accounts. The whole stack costs me 8 dollars a month to run.

The return showed up in week three. My next onboarding took 1.5 days end to end instead of 5. Across the four onboardings since, I have saved roughly 14 days of work. At my current effective day rate that is well past the build cost. The bigger win is that I now start design work while the client still has the kickoff coffee in their hand, which sets a tone for the whole project.

For the people side of onboarding I still rely on rituals. My piece on the 25-minute Webflow discovery call covers the conversation that has to happen before any automation runs.

How Do You Keep An MCP Server Secure When It Holds Client Credentials?

This is the question I worried about most. The server holds OAuth tokens for GA4, Search Console, Notion, Linear, and Webflow. A leak would be a catastrophe across multiple clients. My approach has three layers.

First, no tokens live in code or environment variables. Every credential is fetched at runtime from 1Password Service Accounts using their MCP-compatible SDK. The server's own host has no long-lived secrets. Second, the server runs only on a private Fly.io network reachable from my Claude Desktop client over a Tailscale mesh. There is no public endpoint. Third, every tool call writes an entry to a Logflare audit trail with the client ID, tool name, and timestamp so I can reconstruct exactly what ran.

The Vercel breach in May 2026, where an exposed environment variable leaked customer API keys for 48 hours, made this design feel even more justified. My older notes on the Vercel breach lessons for partners shaped how I think about credential isolation.

What Does The Actual Onboarding Conversation With Claude Look Like?

I open Claude Desktop, drop in the new client's intake email, and type one sentence. "Start onboarding for the Acme Corp project using the attached intake." Claude reads the email, extracts the GSC property URL, GA4 property ID, kickoff doc link, and brand asset locations, and starts calling tools.

It pings me when it needs a decision the email did not answer. "The intake mentions a competitor URL but does not say if you want a comparative crawl. Should I include it?" I answer yes or no and it continues. At the end it shows me the Linear project, the structured brief, the asset bucket, and the audit summary. I review for five minutes and the project is live.

This is what people miss when they imagine AI automating work. It is not the model doing everything alone. It is the model doing the boring 80 percent so my brain stays on the 20 percent that needs judgment.

How Do You Set This Up If You Are Not A Developer?

The Anthropic MCP documentation has a Python quickstart that gets you running in 30 minutes. If you can write a Google Apps Script or a basic Python function, you can write an MCP tool. The pattern is always the same. A function with type hints and a docstring. The server framework handles the protocol plumbing.

For Webflow partners who do not code, the path is to identify which three or four manual onboarding steps cost you the most time, then hire a developer for two days to wrap them as MCP tools. By June 2026, Upwork's data showed MCP server development averaging 90 dollars per tool to commission, so a four-tool server lands around 360 dollars one-time.

What Should You Avoid When Building Your First Server?

The first trap is exposing too many tools. Models get confused when given 30 tools with overlapping purposes. Anthropic's June 2026 internal benchmark showed tool-selection accuracy drop from 96 percent at 5 tools to 71 percent at 25 tools. Keep your server narrow and purposeful.

The second trap is making tools too chatty. A tool that returns 50 thousand tokens of raw HTML eats context the model needs for reasoning. Trim your tool outputs to the smallest useful structured object.

The third trap is skipping error handling. Tools that fail silently make the model think they succeeded and confidently report wrong results to your client. Every tool in my server returns a clear error string when something breaks, and Claude knows to surface that error rather than guess.

How To Build Your First Onboarding MCP Server This Week

Pick the single onboarding step that costs you the most time. For most Webflow partners that is either credential collection or current-site auditing. Write one MCP tool that automates just that step using the Anthropic Python SDK. Deploy it to Fly.io or Railway with their free tier. Connect Claude Desktop to it and run one onboarding through it end to end. Note where the model got stuck and improve the tool description.

That single tool will save you four to six hours per onboarding. Add the next tool next month. Within six months you will have an onboarding flow that takes 90 minutes instead of 90 hours per year. For the broader strategy of letting one MCP server serve many clients, my notes on the single MCP server multi-client setup covers the multi-tenant pattern.

If you want help scoping a custom MCP server for your own practice, I am happy to think through it with you. Let's chat.

Get your website crafted professionally

Let's create a stunning website that drive great results for your business

Contact

Get in Touch

This form help clarify important questions in advance.
Please be as precise as possible as it will save our time.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.