Eighteen months ago, giving Claude the ability to upload a file to your video review tool meant: writing an OpenAPI schema, wrapping it in function-calling boilerplate, hand-rolling auth, parsing JSON the model occasionally hallucinated, retrying on the model's behalf when a field came back malformed, then writing your own little glue daemon to keep state between calls. A weekend of plumbing for one tool. Multiply by every SaaS in your stack.
Today, the same integration is one line:
$ claude mcp add lumiqa https://lumiqa.io/mcp/<your-slug>
✓ Connected. 5 tools discovered.
That's it. Claude now knows how to upload, review, comment, approve and deliver videos. No SDK install. No function-calling glue. No keeping a tool registry in sync. The agent discovers the tools at runtime, reads their schemas, and uses them.
This is the Model Context Protocol — MCP — and if you ship a SaaS product, you have about twelve months before "no MCP server" becomes the same red flag as "no API" was in 2015.
What MCP actually is
MCP is an open protocol Anthropic announced in November 2024 and open-sourced under MIT. The spec lives at modelcontextprotocol.io. Strip the marketing and it's three things:
- A transport layer. JSON-RPC 2.0 messages over
stdio(for local processes), HTTP (for remote servers) or Server-Sent Events (for streaming). That's it. No protobuf, no custom framing. - A capability surface. Servers expose three things to clients: tools (functions the model can call), resources (read-only data the model can fetch — files, database rows, search indexes), and prompts (reusable templates the user can invoke).
- A discovery handshake. The client connects, asks
tools/list, gets back a JSON Schema for every tool. The model now knows what's available, with full typed signatures, without anyone hard-coding anything in the system prompt.
That's the whole protocol. Read the spec on a long lunch and you understand it. Compare that to OpenAPI, gRPC, GraphQL, OData — any of which require a week to onboard a new team.
The clever part is what happens when you compose it. Claude Desktop, Cursor, Cline, Continue.dev, Zed, Goose and every other agent runtime now speak the same protocol. One MCP server, every client. The matrix went from N×M to N+M.
MCP is to AI agents what USB-C is to laptops. The cable doesn't care if you're plugging in a hard drive or a monitor. The agent doesn't care if your MCP server fronts a video review platform or a Postgres database.
Why it eats integrations
Zapier, Make, n8n, Workato — the entire integration-as-a-service category was built on a simple observation: connecting SaaS A to SaaS B is annoying enough that people will pay $20/month forever to outsource it. The integration platforms became the routing layer between any two apps that didn't natively talk to each other.
MCP doesn't kill them. It changes their shape.
The old flow: I want Notion to talk to Slack, so I build a Zap that listens for new Notion pages and posts them to a Slack channel. Deterministic, fragile, and bound to a specific trigger/action pair I pre-configured.
The new flow: I run an agent that has MCP access to both Notion and Slack. I tell it "every morning, summarize yesterday's new project pages in Notion and post the three most urgent to #standup." It figures out how to compose the tools. Same outcome, but I described the goal instead of wiring the pipes.
The implication for SaaS founders is brutal: every product that publishes an MCP server gets free distribution into every AI agent that ships. Your Slack bot doesn't need to integrate with my video review tool, because the agent the user is already using will compose them at runtime.
If you don't ship one, you're not on that bus. Claude Code users won't write OpenAPI clients for you. They'll pick the alternative that's one claude mcp add away.
The video review use case
Concrete example, because this is the use case I spent the last three months building. Lumiqa is a video review platform — Frame.io for the AI-native era. The whole product is exposed as five MCP tools:
// Auto-discovered when you connect the MCP server
{
"tools": [
{ "name": "upload_video", "params": { file_url, workspace, title } },
{ "name": "request_review", "params": { video_id, reviewers[], deadline } },
{ "name": "add_comment", "params": { video_id, timecode, body } },
{ "name": "approve_video", "params": { video_id, version } },
{ "name": "deliver_video", "params": { video_id, recipients[] } }
]
}
Five tools. That's the entire surface area an agent needs to run a video pipeline end-to-end. Here's what a real conversation looks like with the server connected:
User: I just rendered a Veo cut at /tmp/launch-trailer-v3.mp4.
Upload it to the Q2 campaign workspace, ping Sara and
Marco for review with a Friday deadline, and tell me
when both approved.
Claude: [calls upload_video → video_id: vid_8f3a...]
[calls request_review → reviewers: [sara@, marco@],
deadline: 2026-05-23]
Uploaded. Review requested from Sara and Marco for
Friday. I'll let you know when both approve.
[two hours later, webhook fires, agent continues:]
Claude: Both approved 11 minutes apart. Marco left one
comment at 0:34: "swap the logo for the v2 file."
Want me to flag this to the editor or wait for
your call?
Notice what's not in that exchange: a single API call I had to teach Claude about. No system prompt listing endpoints. No retries for malformed JSON. The model picked up the schema from the server, called the right tools in the right order, and even handled the asynchronous webhook resumption because the MCP spec includes resources and notifications, not just request/response.
The interesting design question wasn't can we do this — it was how few tools can we expose and still cover the surface. Each new tool is a cognitive load on the model: more options, more wrong paths. Five tools beats fifteen if the five compose well. That's a design constraint the API economy never imposed, and it's the right one.
The one-line install
Here's what adding Lumiqa to Claude Desktop looks like in full. Run this in a terminal:
$ claude mcp add lumiqa https://lumiqa.io/mcp/ws_8f3a2c
Behind the scenes, the CLI writes one entry to ~/.claude.json:
{
"mcpServers": {
"lumiqa": {
"type": "http",
"url": "https://lumiqa.io/mcp/ws_8f3a2c",
"headers": {
"Authorization": "Bearer lk_live_..."
}
}
}
}
Restart Claude Desktop. The five tools are visible in the tools menu. Done.
Now compare to what this used to require, even with a clean OpenAPI spec on our side: pip install lumiqa-sdk, write a tools.py with five function-calling wrappers, register them in your agent loop, handle auth refresh, parse tool-call arguments, catch the model's hallucinated field names, retry on rate limits, build a webhook listener to handle async events. A 200-line file at minimum, with a maintenance tax forever.
MCP collapses that to zero lines on the user side. The server author writes the tool schema once. Every agent that speaks MCP — and that list is growing weekly — gets it for free.
What's next for SaaS
I'll make a prediction with a 12-month horizon. By May 2027:
- Every SaaS in the top 200 of G2 will ship an MCP server, the same way they all shipped REST APIs between 2010 and 2015 and Zapier integrations between 2015 and 2020. The companies that don't will be on the wrong side of a distribution shift.
- "MCP-native" will be a competitive moat for ~6 months, then table stakes. Right now, "we have an MCP server" gets you on the Cursor/Claude/Cline landing pages and into the agent's default toolbelt. By next year, not having one will be a procurement-stopping question.
- The new design challenge isn't UI polish — it's tool composability. How few tools can you expose to cover your surface? How clean are the schemas? Can an agent compose your tools with someone else's without a system-prompt rewrite? This is the new craft.
- Pricing models will fragment. Per-seat pricing assumed humans clicking buttons. When agents make ten times the calls a human would, "per-seat unlimited" stops working. Expect tiered API quotas, "agent seats" as a SKU, and a clear separation between human GUI access and machine access.
The pattern of the last twenty years was: every new product surface (mobile, voice, watch) forced SaaS to ship a new client. MCP is different — it's not a new client, it's a new caller. Your customer's agent becomes the primary user of your product. The GUI moves from being the product to being a fallback for humans when the agent can't handle the task.
That's not science fiction. I shipped it this week. The MCP servers I'm composing in a single Claude conversation — Lumiqa for video, GitHub for code, Linear for tasks, Stripe for billing — are doing the work that used to require a 5-person ops team. And they're doing it because the protocol is small, open, and boring enough that everyone agreed to ship it.
That last part is the quiet point. The thing that makes MCP win is not that it's clever. It's that it's the smallest possible protocol that solves the real problem. Anthropic gave it away under MIT, every model vendor adopted it because there's no lock-in to fight, and now the network effect runs on its own.
If you're building SaaS in 2026 and you don't have a roadmap line for "ship MCP server," you are choosing to be on the wrong side of the cable.
Try the MCP server we built
Lumiqa is free for developers — 100 uploads/month, full MCP + REST API, no credit card. Add it to Claude Desktop in 10 seconds and watch your agent ship video for you.
Start free → Examples on GitHub← Back to the blog or the Lumiqa home page.