AI 를 얹은 IDE 를 짓는다고 해보자. GitHub 를 읽고, Postgres 에 질의하고, 사내 문서를 뒤지고, terminal 을 돌리고, Slack 에 글을 올려. Tool 다섯 개. 다 짜서 내보냈어.
이제 경쟁사도 그 다섯 개가 필요해. 지원 도구도, 분석 대시보드도, 고객 성공 co-pilot 도, 모바일 비서도 마찬가지고. Product 다섯에 tool 다섯이면 integration 이 스물다섯 개 생기는 게 아니야. 같은 integration 다섯 개의 서로 다른 구현 스물다섯 개 가 생기는 거지. 각각 따로 관리해야 하고, upstream API 가 바뀌면 각자 다른 방식으로 깨져. 이게 N×M 문제 야. AI product N 개 곱하기 tool M 개 = 손수 지은 다리 N·M 개.
비용은 이론이 아니야. 실제 팀들이 user 눈에 보이는 기능보다 접착제 코드에 시간을 더 써. upstream 이 조금만 바뀌어도 — Postgres 권한을 손보거나 Slack scope 이름이 바뀌거나 — 모든 product 에 부실한 업데이트가 줄줄이 번져. User 는 똑같이 느껴져야 할 tool 들이 제각각 다르게 동작하는 걸 보게 되고. 다리마다 upstream 을 조금씩 다르게 해석했으니까.
MCP 의 답은 성공한 protocol 이 늘 내놓는 답이야. N·M 을 N+M 으로 줄이기. AI product 는 MCP client 를 하나만 구현하고, tool 은 MCP server 를 하나만 내놓아. 그러면 새 product 는 기존 tool 전부를 공짜로 얻고, 새 tool 은 기존 product 전부에 공짜로 닿아. 곱셈을 덧셈으로 바꿔주는 게 contract 가 하는 일이야.