Lesson 1 of 5 · MCP Builder Track

The N×M Integration Problem in AI

reading

Imagine you're building an AI assistant for your company. It needs to read emails from Gmail, pull data from Salesforce, check your calendar, query your database, and create tasks in Jira. Sounds reasonable -- these are the bread-and-butter workflows every knowledge worker needs.

Now here's the problem: every single one of those integrations is custom.

Your AI app needs a Gmail plugin, a Salesforce connector, a calendar adapter, a database bridge, and a Jira integration. Five tools, five custom integrations, each with its own authentication flow, data format, error handling, and maintenance burden.

That's just one AI application. Now multiply it across the ecosystem.

The Combinatorial Explosion

Before MCP, the AI integration landscape looked like this:

  • Claude Desktop needed custom plugins for every tool
  • ChatGPT had its own plugin system (launched and deprecated within a year)
  • GitHub Copilot built bespoke integrations for IDEs
  • Cursor wrote custom connectors for each data source
  • Windsurf maintained its own integration layer

Each AI application reinvented the wheel. Every. Single. Time.

Warning

This is the N×M problem: if you have N AI applications and M tools/data sources, you need N × M custom integrations. With 10 AI apps and 50 tools, that's 500 separate integrations to build, test, and maintain.

800

Custom Integrations Required

The estimated number of one-off integrations needed across AI apps and tools before MCP -- each built, tested, and maintained separately.

Let's put real numbers on this. In early 2024, the landscape looked roughly like:

Concept Card
AI Applications (N)Tools & Data Sources (M)Custom Integrations Needed (N×M)
5 major AI assistants20 common tools100 integrations
15 AI coding tools30 dev tools450 integrations
10 AI productivity apps25 business tools250 integrations
Total800 integrations

And every new AI app that entered the market had to build integrations from scratch. Every new tool that wanted AI support had to convince each AI vendor to build a connector.

Real-World Pain: A Developer's Story

Consider what a developer at a mid-size company faced in 2024 when trying to connect their AI assistant to internal tools:

Day 1: "I'll just connect Claude to our PostgreSQL database."
  → Write a custom API wrapper
  → Handle authentication
  → Parse natural language to SQL
  → Format results for the AI
  → Handle errors gracefully
  → Total: ~500 lines of code

Day 3: "Now let me add our GitHub repos."
  → Different API, different auth (OAuth tokens)
  → Different data format (repos, PRs, issues)
  → Different error handling
  → Another ~400 lines of code

Day 5: "Let me add Slack integration."
  → Yet another API, yet another auth flow
  → WebSocket for real-time, REST for history
  → Another ~600 lines of code

Day 8: "Boss wants Jira too."
  → *quiet sobbing*

Each integration was a miniature project. There was no shared protocol, no common interface, no reusable patterns. Every connector was a snowflake.

The Plugin Graveyard

The industry tried to solve this problem before MCP -- and failed repeatedly.

ChatGPT Plugins (March 2023 – March 2024)

OpenAI launched ChatGPT Plugins with great fanfare. The idea: third-party developers would build plugins that ChatGPT could use. The reality:

Tip

Use N×M Integration Problem in AI in a low-risk branch or scratch project first. That keeps the lesson concrete without making your first attempt carry production pressure.

  • Proprietary format -- only worked with ChatGPT
  • Limited adoption -- most plugins had tiny user bases
  • Deprecated within a year -- replaced by GPTs and Actions
  • Walled garden -- no interoperability with other AI tools
YAML
# A ChatGPT plugin manifest -- now a historical artifact
openapi: 3.0.0
info:
  title: Weather Plugin
  description: Get weather for a location
  version: 1.0.0
# This entire format is now obsolete

LangChain Tools (2022–present)

LangChain created a framework-specific tool system:

Python
# LangChain's approach -- framework-locked
from langchain.tools import Tool

def search(query: str) -> str:
    return f"Results for {query}"

tool = Tool(
    name="search",
    func=search,
    description="Search the web"
)

The problem? These tools only worked within LangChain. If you wanted to use the same tool in LlamaIndex, CrewAI, or AutoGen, you had to rewrite it.

Custom REST APIs

Many teams fell back to building custom REST APIs:

Python
# The "just build an API" approach
from flask import Flask, request, jsonify

app = Flask(__name__)

@app.route("/api/search", methods=["POST"])
def search():
    query = request.json["query"]
    results = perform_search(query)
    return jsonify({"results": results})

This worked for individual use cases but created massive duplication. Every team built their own API layer with their own conventions, their own error formats, and their own documentation standards.

Info

The fundamental issue wasn't technical skill -- it was the absence of a shared protocol. Without a standard, every integration was a one-off. It's the same problem the web had before HTTP, or that charging cables had before USB-C.

The Cost of Fragmentation

The N×M problem wasn't just annoying -- it was expensive and dangerous.

For AI Application Developers

  • Engineering time: Each new integration took 1–3 weeks to build
  • Maintenance burden: APIs change, auth tokens expire, formats evolve
  • Security surface: Every custom integration was a potential vulnerability
  • Feature gap: You could only support tools you'd built integrations for

Add One N×M Integration Problem in AI Connection

  1. Choose one external system that would genuinely improve this lesson's workflow.
  2. Configure an MCP server or inspect the one your team already uses.
  3. Ask Claude to call exactly one tool from that server and verify the result is useful.

For Tool Makers

  • Integration tax: Want AI support? Build connectors for Claude, ChatGPT, Copilot, Cursor, and every other AI tool
  • Inconsistent experiences: Your tool worked differently in every AI application
  • Gatekeeping: Some AI platforms required partnership deals for integrations

For End Users

  • Limited choices: Your favorite AI app might not support the tools you need
  • Unreliable experiences: Custom integrations were often buggy and incomplete
  • Vendor lock-in: Switching AI apps meant losing all your tool connections

The Precedent: Standards That Changed Everything

History shows us that standardization unlocks exponential growth. Consider:

USB (1996)

Before USB, every peripheral had its own connector -- serial ports, parallel ports, PS/2, proprietary cables. USB created one standard connector, and the peripheral ecosystem exploded. By 2024, there were billions of USB devices.

HTTP (1991)

Before HTTP, networked applications used proprietary protocols. HTTP gave the web one universal language. The result: the modern internet.

SMTP (1982)

Before SMTP, email systems couldn't talk to each other. You could only email people on the same system. SMTP made email universal.

USB-C (2014)

Even within USB, the proliferation of connector shapes (A, B, Mini, Micro) became a problem. USB-C unified them all -- and the EU literally mandated it.

Tip

The pattern is clear: when an ecosystem reaches a certain size and the fragmentation tax becomes unbearable, a standard emerges (or is imposed) that unlocks the next wave of growth. MCP is that standard for AI tool integration.

The N+M Solution

What if, instead of N×M integrations, you only needed N + M?

  • Each AI application implements the MCP client protocol once (N implementations)
  • Each tool implements the MCP server protocol once (M implementations)
  • Total integrations: N + M instead of N × M

With the same numbers from before:

ApproachAI Apps (N)Tools (M)Integrations Required
Before MCP (N×M)30752,250
With MCP (N+M)3075105
Reduction95.3% fewer

Quick Check

What is the main benefit of using N×M Integration Problem in AI well in Claude Code?

That's not an incremental improvement. That's a paradigm shift.

One new AI app enters the market? It implements MCP once and instantly has access to every MCP server in the ecosystem -- thousands of tools, data sources, and integrations.

One new tool wants AI support? It builds an MCP server once and instantly works with every MCP-compatible AI application.

What This Means for You

Whether you're a developer, a product manager, or a technical leader, the N×M problem matters because it directly affects what you can build.

If you're a developer: Understanding MCP means you build one integration instead of twenty. Your tools work everywhere, automatically.

If you're a product manager: MCP means your AI features aren't limited by engineering capacity. The ecosystem does the integration work.

If you're a technical leader: MCP is the difference between an AI strategy that scales and one that drowns in integration debt.

Try This Now

Map Your Own N×M Problem

Take 5 minutes and list:

  1. The AI tools you or your team currently use (Claude, ChatGPT, Copilot, etc.)
  2. The data sources and tools you wish they could access (databases, APIs, internal tools)
  3. Multiply the two numbers -- that's your personal N×M problem

Now imagine each of those tools had a single MCP server. How many integrations would you actually need? The gap between those numbers is the value MCP creates for your organization.

Key Takeaways

  • Before MCP, every AI application needed custom integrations for every tool -- the N×M problem
  • With 30 AI apps and 75 tools, that's 2,250 custom integrations vs. 105 with MCP
  • Previous attempts (ChatGPT Plugins, framework-specific tools) failed because they were proprietary and vendor-locked
  • The N×M → N+M reduction follows the same pattern as USB, HTTP, and other transformative standards
  • MCP is the standardization moment for AI tool integration -- and it's happening right now