← Back to all work

MCP Registry: One Shared Backend Instead of a Dozen Siloed Ones

A shared-backend architecture for MCP server registration and discovery, adopted by 80%+ of developers across 5 enterprise-approved servers.

80%+ developer adoption
Role
Product Designer
Timeline
2024–Present
Tools
Figma, FigJam, React (recreation)
Team
Solo design, cross-functional engineering partners

The Problem

There was no standardized way to register a new MCP (Model Context Protocol) server, so every team solved discovery differently, or didn’t solve it at all. AI agents and the developers building them had no reliable way to find out what servers existed or how to access them safely.

The Process

MCP Server Registry admin view: approved, pending, and rejected servers (representative recreation) Explore the live, interactive demo

A representative recreation, genericized and rebuilt in React, not the real internal tool.

The work started as an information architecture problem: design a registration form and a metadata schema clear enough for both humans and AI agents to use. Partway through, it became clear the registration form wasn’t the real problem.

The Decision

There were two options: keep refining the registration form so each data product could register its own MCP server in isolation, or consolidate registration into one shared backend that every team plugged into. We chose the shared backend: a server registered once became automatically discoverable everywhere, instead of requiring manual registration team by team. That shift turned the original design problem (a form) into a systems problem (where capability lives), and solving the systems problem made the form mostly unnecessary.

MCP Server
One MCP server with scoped, per-resource access. Click a resource to see its access scope (representative recreation).

From there, the work extended beyond registration into the human side: a search-and-directory experience so developers could find a server, see what it does, and request access directly, instead of hunting through docs or asking around. Each server’s detail view also surfaces who’s actually connected to it — the adoption number below isn’t asserted, it’s the same data a reader can click into.

MCP Server Directory: the human-facing discovery layer (representative recreation)

Agent Connections: who's actually using an approved server, with last-active dates and scopes in use (representative recreation)

The Outcome

Reflection

The lesson here was about scope: “make the form better” would have produced a marginally nicer form and the same underlying fragmentation. Stepping back to ask where capability should live is what actually fixed the problem.